Trước kia chúng ta cũng có xem về cấu trúc bên trong ổ cứng , trong phần này sẽ hướng dẫn chi tiết hơn về vận hành ổ cứng .
1. Bộ phận
Bộ phận bên trong của ổ cứng không phải là bảng mạch Logic đó chính là phần cơ khí . Ổ cứng là những tấm đĩa cứng , những tấm đĩa cứng gồm có tấm nền và được phủ lên bằng vật liệu từ tính . Tấm nền này là vật liệu cơ bản phải không bị từ tính và có khả năng làm nhẵn với độ bóng cao . Nó được tạo thành bởi vật chất hơn hợp nhôm hoặc hỗn hợp giữa thuỷ tinh và gốm . Để cho phép lưu trữ dữ liệu cả hai mặt của đĩa được phủ lớp từ tính – trước kia dùng Oxide có tính chất từ tính , nhưng bây giờ nó là lớp kim loại gọi là Thin-film .
Dữ liệu được lưu trong vật liệu từ tính , mỗi tấm đĩa có khả năng lưu trữ hàng tỷ hoặc nhiều đơn vi bpsi (bits per square inch) của bề mặt đĩa .
Những kiểu kích thước đĩa trong ổ cứng có 02 loại chính là 5.25 inch hoặc 3.5 inch. Theo trào lưu công nghệ dùng thuỷ tinh để tản nhiệt tốt hơn và cho phép những tấm đĩa mỏng hơn so với tấm đĩa làm bằng hợp kim nhôm . Bên trong những tấm đĩa phải giữ môi trường hoàn toàn không có bụi ngay từ lúc sản xuất . Để đảm bảo môi trường bên trong hoàn toàn sạch ngườita phải dùng những máy lọc đặc biệt cùng với áp lực của không khí sạch và được gắn bên trong môi trường hoàn toàn chân không .
Thông thường có hai hoặc ba đĩa được xếp chồng lên nhau và được gắn chung với Motor quay với tốc độ vài nghìn vòng một phút . Giữa khe hẹp của những tấm đĩa có đầu đọc / ghi từ trường , các đầu này cách bề mặt đĩa cỡ vài phần của mm . Đối với ổ đĩa trước kia khoảng cách này là 0.2 mm , ngày nay khoảng cách này còn 0.07 mm hoặc ít hơn .
Có đầu đọc/ghi cho mỗi mạt của tấm đĩa , được gắn trên một cách tay mà có thể dịch chuyển vào tâm đĩa hoặc ra mép bên ngoài đĩa , cánh tay này được dịch chuyển theo kiểu từng bước để tới các vùng trên mặt đĩa .
Những đầu đọc/ghi này sẽ chạm vào bề mặt đĩa khi đĩa ngừng quay – khi tắt nguòn cung cấp . Trong quá trình Motor giảm tốc độ để tắt máy , luồng không khí sẽ giảm cho đến khi ngừng hẳn khi đó đầu đọc/ghi này sẽ hạ một cách nhẹ nhàng lên bề mặt của đĩa và vùng này gọi là LZ (landing zone) . LZ chỉ dành riêng cho nơi đầu đọc/ghi hạ xuống mà không bao giờ chứa dữ liệu .
2. Hoạt động của ổ cứng
Những tấm đĩa được gắn trên một trục quay có tốc độ có thể lên tới 1000 RPM ( Rotate per minute ) . Đối với những ổ EIDE và SCSI phần điều khiển đĩa là một thành phần của ổ đĩa . Nó điều khiển Servo-motor của ổ cứng và truyền điện áp dao động từ đầu từ đọc/ghi cho bộ vi xử lí .
Dữ liệu được ghi trên bề mặt từ tính của đĩa cũng đúng như cách ghi trên bề mặt của ổ mềm và Tape . Bản chất của nó là bề mặt được xử lí thành những mảng vị trí mỗi một vùng được từ tính phân cực được thiết lập thành mã nhị phân dạng “1” hoặc “0” . Vị trí của mỗi mảng không được xác định một giá trị tuyệt đối do đó cần có một sơ đồ để đánh dấu sự nhận dạng giúp đỡ đầu đọc / ghi tìm được vị trí trên ổ cứng . Việc cần thiết để đánh dấu nhận dạng là nguyên nhân tại sao ổ cứng phải Format trước khi sử dụng .
Khi truy cập dữ liệu đã được lưu trữ , trục quay của đĩa quay rất nhanh do đó mà bất kì phần nào của hình tròn cũng có thể được nhanh chóng nhận ra . Ổ đĩa truyền yêu cầu đọc từ máy tính vào vị trí thực tế . Nó mất khoảng thời gian để tìm ra vị trí cylinder/head/sector trên ổ đĩa , nhưng ngày nay ổ đĩa hoạt động phức tạp hơn là do BIOS điều khiển và chúng chuyển những yêu cầu của BIOS thành những lệnh của nó để quá trình tìm kiếm được nhanh chóng hơn .
Trước kia có trường hợp phần điều khiển đĩa không đủ khả năng xử lí để có thể đọc kịp những Sector liền nhau một cách nhanh chóng như vậy đĩa đã kịp quay hết một vòng mà Sector bên cạnh cũng vẫn chưa đọc được dữ liệu . Để giải quết vấn đề này những ổ đĩa trước kia bố trí các Sector một cách xen kẽ ( Interleave ) do đó làm giảm thời gian chờ .
Ví dụ nếu Interleave =3 , thì 02 Sector sẽ được nhảy qua sau mỗi Sector được đọc như theo hình trên .
Tốc độ của ổ cứng và dung lượng của ổ cứng ngày càng tăng lên thì giá trị Interleave lại ngày càng lớn . Do đó để nâng cao hiệu quả các Sector dữ liệu được tạo thành một nhóm gọi là Cluster . Số của Sector trong Cluster phụ thuộc vào kích thước của Cluster , Cluster lại phụ thước vào kích thước của Partition trên ổ cứng .
Khi máy tính muốn đọc dữ liệu , lúc này hệ điều hành sẽ tìm ra dữ liệu ở đâu trên đĩa . Để làm được điều này đầu tiên phải đọc FAT (File Allocation Table) nó là điểm bắt đầu của Partition . FAT sẽ nói cho hệ điều hành biết Sector nào thuộc Track nào để tìm dữ liệu . Tại khối dữ liệu cuối cùng sẽ cho biết File này còn tiếp ở vị trí Sector nào hay đã kết thúc File đó bằng mã End Of File
Dựa vào thông tin đó mà có thể đọc dữ liệu yêu cầu . Phần điều khiển đĩa sẽ điều khiển Servo-motor và truyền điện áp thay đổi từ đầu đọc/ghi thành tín hiệu số cho CPU .
Hiện nay ổ cững đã làm được những việc hơn như thế để tiết kiệm thời gian đó là nó đọc luôn một khối vị trí của những Sector tiếp theo vào bộ nhớ đệm . Đó cũng chính là nguyên nhân mà trên ổ cứng ngày nay có bộ nhớ đệm dung lượng 256KB tới 8MB làm bộ nhớ Cache trong đó lưu những thông tin của Sector , Cylinder trong trường hợp khi máy tính cần . Đó là một công việc rất hiệu quả để tăng tốc độ truy cập và đọc dữ liệu trên ổ cứng .
Ổ cứng cũng yêu cầu thông tin Servo để cung cấp một cách liên tục vị trí của những đầu đọc / ghi . Những thông tin này có thể được ghi lên một đĩa riêng để tiện cho tìm kiếm , việc tách ghi trên một đĩa riêng thì giá thành cao nhưng nó lại làm tăng thời gian truy cập khi đó những đầu dữ liệu không cần mất thời gian cho gửi thông tin về Servo .
3. Format
Khi đĩa thực hiện lệnh Format mức thấp gọi là Low-level , nó chia thành những Track và Sector .
Track là những vòng tròn đồng tâm xung quanh tâm là trục quay trên các mặt của đĩa .
Những Track vật lí nằm trên những đĩa khác nhau được nhóm thành Cylinder và chúng được chia thành những đoạn 512 byte gọi là Sector.
Khái niệm về Cylinder là rất quan trọng khi những thông tin trên những đĩa khác nhau trong cùng một Cylinder thì khôngcần phải dịch chuyển đầu đọc / ghi . Sector là đơn vị nhỏ nhất của đĩa mà có thể truy cập . Những ổ đĩa dùng kỹ thuật gọi là Zoned-bit recording mà trong những Track nằm vòng ngoài có nhiều Sector hơn những Track nằm bên trong .
4. Hệ thống File
Cách xác định chính xác những dữ liệu được tổ chức trên ổ đĩa cứng được xác định bới các hệ thống File đang sử dụng .
Hệ thống File phụ thuộc vào hệ điều hành . Hầu hết các máy tính hiện nay đều sử dụng hệ điều hành MS Windows hoặc ít nhất cũng có thể tương thích trong quá trình đọc đối với nó .
FAT là hệ thống file được giới thiệu lần đầu tiên vào năm 1981 cùng với sự ra đời của MS-DOS . Mục ffích của FAT (File Allocation Table) là cung cấp một bản đồ giữa những Cluster – nó là đơn vị cơ bản của lưu trữ logic trên đĩa với mức độ hệ điều hành , và vị trí vật lí của dữ liệu được xác định bởi Cylinder , Track và Sector được dùng cho đối với phần cứng điều khiển ổ đĩa .
FAT bao gồm đầu vào mọi File được lưu trữ trên phân vùng ổ cứng và là địa chỉ bắt đầu Cluster của File. Mỗi Cluster bao gồm nội dung của File và chỉ tới Cluster tiếp theo chứa nội dung File hoặc thông báo kết thúc File : End-Of-File ( 0xFFFF ) để thông báo Cluster đó là điểm cuối của File .
Ví dụ dưới đây có 03 File : File1.txt dùng 03 Cluster . File2.txt là file bị phân mảnh cũng có 03 Cluster ( 5,6 và 8 ) , và File3.txt vừa trong một Cluster (7) .
Hiện thân của FAT đầu tiên là FAT12 mà hỗ trợ kích thước Partition lớn nhất là 8MB . Nó bị thay thế bằng FAT16 vào năm 1984 và tăng kích thước của Partition lên 2GB . FAT16 đã trải qua nhiều năm nó cho phép điều khiển tên file dài hơn phiên bản đầu tiên là 8.3 kí tự . Một điểm giới hạn của FAT16 là số Cluster lớn nhất trong một Partition là cố định nên ổ cứng có dung lượng càng lớn thì càng có nhiều khoảng trống không được dùng đến . Một điều thuận lợi của FAT16 là nó hỗ trợ nhiều hệ điều hành khác nhau Windows 95/98/Me, OS/2, Linux và một vài Version của Unix.
Phiên bản Windows 95 OEM Service Release 2 (OSR2) hỗ trợ cả FAT16 và FAT32 .
FAT32 chia xẻ những giới hạn của FAT16 nhưng lại có một điều những hệ điều hành tương thích với FAT16 lại không làm việc với FAT32 . Đối với máy tính chạy 02 hệ điều hành ví dụ Windows NT và một hệ điều hành dùng FAT32 thì Windows NT lại không đọc được trực tiếp FAT32 , nhưng vấn đề sẽ được giải quyết thông qua mạng .
Cùng với sự xuất hiện của WinXP vào tháng 10 năm 2001 bao gồm cả NTFS .
NTFS hoàn toàn khác với hệ thống File của FAT , nó có thiết lập bảo vệ cao , tiết kiệm được khoảng trống trên đĩa đồng thời địa chỉ hoá được nhiều Cluster.
Volume Size | FAT16 Cluster Size |
FAT32 Cluster Size |
NTFS Cluster Size |
---|---|---|---|
7MB – 16MB | 2KB | Not supported | 512 bytes |
17MB – 32MB | 512 bytes | Not supported | 512 bytes |
33MB – 64MB | 1KB | 512 bytes | 512 bytes |
65MB – 128MB | 2KB | 1KB | 512 bytes |
129MB – 256MB | 4KB | 2KB | 512 bytes |
257MB – 512MB | 8KB | 4KB | 512 bytes |
513MB – 1GB | 16KB | 4KB | 1KB |
1GB – 2GB | 32KB | 4KB | 2KB |
2GB – 4GB | 64KB | 4KB | 4KB |
4GB – 8GB | Not supported | 4KB | 4KB |
8GB – 16GB | Not supported | 8KB | 4KB |
16GB – 32GB | Not supported | 16KB | 4KB |
32GB – 2TB | Not supported | Not supported | 4KB |
5. Hiệu suất
Hiệu suất của ổ cứng có tầm quan trọng đối với tốc độ của toàn hệ thống , một ổ cứng chậm chính là một tác động trở ngại với một bộ vi xử lí nhanh , tốc độ của ổ cứng phụ thuộc một vài nhân tố .
Một trong những điều quan trọng trong ổ cứng là tốc độ quay của đĩa . Tốc độ quay của đĩa được đo bằng đơn vị RPM (Revolutions Per Minute) , nó là thành phần gây nhiều ý kiến bởi vì nó trực tiếp tác động lên thời gian trễ ( Latency ) và tốc độ truyền dữ liệu . Tốc độ quay đĩa càng nhanh thì có nghĩa là có càng nhiều dữ liệu đi qua dưới đầu Đọc/Ghi để đọc dữ liệu , nếu RPM mà thấp thì thời gian trễ máy móc tăng lên . Ổ cứng chỉ có một trục quay với một tốc độ cố định , những ổ cứng EIDE có tốc độ quay 5400 RPM , trong khi đó ổ Fast SCSI có khả năng đạt tới 7200 RPM. Vào năm 1997 Seagate đẵ tăng tốc độ quay của ổ đĩa lên tới 10.033 RPM trong ổ UltraSCSI Cheetah và giữa năm 1998 họ cũng là nhà sản xuất ổ cứng EIDE có tốc độ quay là 7200 RPM.
Năm 1999 Hitachi đã vượt qua tốc độ 10.000 RPM bằng cách đưa ra thị trường ổ SCSI Pegasus II mà có tốc độ 12.000 RPM và thời gian tìm kiếm trung bình là 2.49ms . Hitachi đã khéo léo thiết kế để giảm nhiệt độ quá mức với tốc độ quay cao như thế . Trong chuẩn ổ cứng có kích thước 3.5 inch thì đường kích của đĩa bên trong có kích thước 3 inch , nhưng trong ổ Pegasus II đường kính của đĩa giảm đi còn 2.5 inch . Đường kính của đĩa giảm đi có nghĩa là ma sát không khí sẽ giảm xuống nên làm giảm nhiệt độ toả ra từ đĩa . Thêm vào đó trên thực tế khung của ổ đĩa ổ đĩa chính là bộ phận giúp cho việc tản nhiệt lớn nhất . Một điều không thuận lợi khi giảm kích thước đường kính của đĩa thì đồng thời cũng giảm dung lượng trên đĩa .
Thời gian trễ cơ học được đo bằng ms nó bao gồm thời gian tìm kiếm và thời gian trễ do quay đĩa .
Seek Time – thời gian tìm kiếm – được đo bằng tổng số thời gian đầu Đọc/Ghi của ổ cứng để tìm ra vị trí vật lí dữ liệu được yêu cầu trên ổ cứng .
Latency – thời gian trễ – là khoảng thời gian trung bình để Sector bị truy cập để quay tới đúng vị trí mằn bên dưới đầu Đọc/Ghi sau việc tìm kiếm hoàn thành .Nó được dễ dàng tính toán từ tốc độ quay của trục quay , bằng thời gian một nửa vòng quay .
Thời gian truy cập trung bình của ổ cứng là khoảng thời gian giữa thời gian hệ thống yêu cầu dữ liệu và thời gian dữ liệu được sẵn sàng từ ổ đĩa . Thời gian truy cập bao gồm thời gian tìm kiếm thực tế , thời gian trế do vòng quay và thời gian thực hiện lệnh .
Tốc độ truyền dữ liệu là tốc độ mà dữ liệu được truyền đi và đến từ đĩa thực tế và nó là chức năng của tần số ghi dữ liệu , đơn vị của nó đo bằng MBps (megabytes per second) . Những ổ cứng mới thì phạm vi tăng tốc độ truyền dữ liệu từ đường kính bên trong tới đường kính bên ngoài của đĩa . Kỹ thuật ghi như vậy gọi là kỹ thuật ghi “Zoned” . Điểm mấu chốt trong tham số ghi này liên quan đến giá trị TPI (Tracks Per Inch) và BPI (Bits Per Inch)
Track là những vòng tròn xung quanh đĩa . TPI là số của Track nằm vừa trên một vùng ( ví dụ là inch ) . BPI xác định có bao nhiêu Bit có thể được ghi lên một Inch của Track trên bề mặt đĩa .
Vào cuối năm 2001 những ổ cứng có hiệu suất cao có khả năng đạt được thời gian trễ trung bình ít hơn 3ms và thời gian tìm kiếm trungbình giữa 4 và 7 ms và có tốc độ truyền dữ liệu cao nhất từ 50 MBps và 60 MBps cho ổ EIDE và SCSI thông thường tương ứng . Một điều chúng ta nên lưu ý : Băng thống đối với ổ cứng cao hơn tốc độ tốc độ truyền dữ liệu thực của ổ cứng , ví dụ Ultra ATA/100 và UltraSCSI 160 có băng thông là 100MBps và 1600MBps .
6. Rào cản về dung lượng
Trong khi Bill Gates đưa ra lời khẳng định ” 640KB là đủ cho mọi thứ ” đó là một sự khẳng định nổi tiếng thiếu tầm nhìn để dự đoán khả năng của yêu cầu thực sự , nó đã tác động đến nền công nghiệp máy tính từ năm 1980. . Trong lĩnh vực của công nghệ ổ cứng có ít nhất 10 rào cản khác nhau về dung lượng xảy ra trong khoảng 15 năm . Vài rào cản trong số chúng chính là bên trong BIOS hoặc hệ điều hành hệ thống chính là do tầm nhìn ngắn trong quá trình thiết kế hệ thống .
Đối với ổ cứng chuẩn IDE thì trong BIOS xác định chúng theo số Cylinder , số Head và số Sector trong một Track . Thông tin này được lưu trữ bên trong BIOS . Mỗi Sector thông thường có kích thước 512 Byte . Do đó dung lượng ổ cứng được tính bằng việc nhân số Cylinder và số của Sector với 512 . Trong giao diện của BIOS cho phép giá trị lớn nhất : của Cylinder là 1024 , của Head là 255 và của Sector là 63 , khi đó tính ra chỉ được 504 MB . Trong giá trị nhị phân nhiều khi người ta thay thế 1MB là 1.000.000 byte chứ phải không như về lí thuyết là 1.048.576 byte nên nhàn sản xuất ghi không rõ ràng là 528 MB.
Hạn chế dung lượng tới 504 MB tồn tại cho đến trước giữa năm 1994 . Nó phát sinh bởi vì hạn chế của số Cylinder có thể địa chỉ hoá tới 1024 . Nó được gỡ bỏ bằng chữ cái đầu tiên là E ( là Enhanced ) thêm vào tính năng của ổ IDE là EIDE bằng sự bỏ qua kỹ thuật địa chỉ hoá bằng CHS (Cylinder, Head và Sector) mà dùng kỹ thuật LBA (Logical Block Addressing) . Để sử dụng ổ cứng kiểu này trong BIOS dùng mở rộng ngắt Int 13h , với hệ thống này BIOS sẽ dịch những thông tin CHS thành những địa chỉ khối Logic 28-bit , được dùng trong hệ điều hành và những ứng dụng truy cập ổ cứng co dung lượng lớn hơn .
Thật không may mắn , những người thiết kế BIOS và giao diện ATA không thiết lập tổng số Byte được dùng để địa chỉ hoá theo cùng một cách nên họ không định nghĩa cùng số Byte được địa chỉ bởi CHS . Một cách khác trong cấu hình của CHS yêu cầu là chuyển dịch địa chỉ khi dữ liệu đã được gửi từ hệ thống ( được dùng bới BIOS hệ thống ) và giao diện ATA . Kết quả là trên thực tế LBA không giải quyết dứt điểm vấn đề của 504 MB và lại gặp vấn đề đối với 8.4GB .
Rào cản dung lượng ổ cứng 8.4GB và ít hơn trong BIOS tồn tại tới trước năm 1997 trong hầu hết mọi hệ thống PC . Nguyên nhân ở đây là giao diện ATA dùng địa chỉ hoá 28-bit nên hỗ trợ 2^28 x 512 byte = 137GB , trong khi đó chuẩn ngắt Int 13h của BIOS chỉ có giới hạn 24-bit địa chỉ là 2^24 x 512 byte = 8.4GB .
Giải pháp cho rào cản 8.4GB được giải quyết bằng cách mở rộng thêm ngắt Int 13h . Nó cho phép địa chỉ hoá tới 64-bit tức là 2^64 x 512 byte = 9.4 Tera Gigabyte và lớn hơn nhiều so với dung lượng 8.4GB . Sau giữa năm 1998 hệ thống đã được nâng cấp phù hợp với mở rộng ngắt 13h trong BIOS .
Bắt đầu năm 2000 lại có nhiều vấn đề đối với ổ đĩa và BIOS khi giới hạn 137GB trong giao diện ATA 28-bit , nên thế hệ tiếp theo của ATA-6 vào mùa thu năm 2001 cho phép địa chỉ hoá tới 48-bit và dung lượng đạt tới 144PB ( Petabyte ) chắc là còn tồn tại trong khoảng 20 năm nữa .