Mỗi sector trong đĩa cứng chứa dữ liệu với dung lượng bằng bao nhiêu?

1./ Track (rãnh) : Có thể coi mỗi mặt đĩa cứng là một trường hai chiều: cao và rộng. Theo kiểu hình học này thì dữ liệu được ghi vào các vòng tròn đồng tâm, phân bố từ trục quay ra tới rìa đĩa. Mỗi vòng trong đồng tâm trên đĩa gọi là track. Thông thường,mỗi đĩa có từ 312 đến 2048 rãnh. Track là một tập hợp bao gồm một số sector nhất định nhưng dung lượng từng track khác nhau có độ lớn từ trong ra ngoài (Track 0>track 1 >track 2 >…>track N>track N+1) 2./ Sector (cung từ): Mỗi track là một vòng tròn dữ liệu có tâm là tâm của trục quay đĩa từ. Một track chia thành rất nhiều cung, người ta gọi các cung này là sector (cung từ). Sector là vùng vật lý chứa dữ liệu nhỏ nhất trong ổ cứng kể cả khi đọc và ghi. Thông thường thì 1 sector chứa được 512 byte dữ liệu (US Windows). Mỗi track đều chia thành một lượng sector nhất định. Tuy nhiên, vì các track bên ngoài bao giờ cũng lớn hơn các track phía trong (gần trục) cho nên càng vào sâu các track phía trong thì dung lượng mà 1 sector có thể chứa được càng thấp. Cấu trúc của sector : -Sector header (thông tin cơ bản) : lưu trữ các thông tin về vị trí đầu đọc , cylinder, và số thứ tự vật lý của sector. Nó cũng đảm nhận luôn nhiệm vụ xác định sector có sử dụng được hay không hoặc sector nào sẽ lưu dữ liệu thay cho sector này. Thông tin cuối cùng mà sector header cung cấp chính là giá trị của việc kiểm tra lỗi dữ liệu tuần hoàn (hay còn gọi là lỗi chẵn lẽ CRC), giá trị này giúp cho các chương trình xác định được sector header có chính xác hay không. -Góc rỗng (GAP) : đối với một sector sự có mặt của góc rỗng là rất cần thiết. Góc rỗng cung cấp cho đầu đọc/ghi một khoảng thời gian nhất định để nó có thể chuyển từ việc đọc dữ liệu trên sector sang ghi dữ liệu. Khi đọc dữ liệu, đầu từ sẽ bỏ qua góc rỗng. -Dữ liệu: Thông thường khi ta format đĩa cứng duới nền Windows hoặc DOS thì một sector có thể chứa được 512 byte dữ liệu. Phần cuối cùng của vùng dữ liệu này chứa thông tin về mã sửa lỗi (ECCs), dùng cho việc phát hiện và sửa lỗi. - Góc rỗng mở rộng (Inter-GAP): Có gì khác nhau giữa “Góc rỗng” và “Góc rỗng mở rộng” (GAP và Inter-GAP) ? Góc rỗng cung cấp cho đầu từ một khoảng thời gian nhất định đễ đầu từ chuyển đổi từ việc “đọc dữ liệu ” sang “ghi dữ liệu” trên cùng 1 sector. Còn Góc rỗng mở rộng thì cung cấp cho đầu đọc 1 khoản thời gian nhất định để đầu đọc có thể chuyển từ việc “ghi trên 1 sector này” sang “đọc sang sector kết tiếp”. Tương tự như Gócrỗng, khi đọc dữ liệu đầu đọc bỏ qua Góc rỗng mở rộng. 4./ Cylinder: Cylinder bao gồm những track có chung một tâm và đồng trục nằm trên những mặt đĩa từ. -Số sector trên một track: Khi sản xuất ra đĩa cứng nhà sản xuất luôn ghi rõ ràng những thông số liên quan đến ổ cứng trong đó có phần số sector trên một track (sector per track). Những ổ cứng hiện đại ngày nay sử dụng rất nhiều kích cỡ khác nhau trên từng track. Ổ cứng ghi và đọc theo nguyên tắc từ ngoài vào trong trên mặt đĩa từ. Các track nằm ngoài cùng thì bao giờ cũng có nhiều không gian cho sector hơn là các track nằm sâu ở bên trong (gần tâm đĩa từ). Do đó những phần dữ liệu nằm trên sector và track đầu tiên của ổ cứng bao giờ cũng được truy xuất nhanh nhất. -Đầu đọc (head) và motor trợ động (servo-motor): Trên mỗi mặt đĩa từ của ổ cứng thì đều có một đầu đọc (head) riêng biệt những đầu đọc này có vai trò đọc/ghi dữ liệu lên bề mặt đĩa từ. Trước đây những loại ổ cứng cũ đều sử dụng loại motor dịch chuyển (step-motor) để di chuyển đầu đọc. Loại motor này làm tốn rất nhiều thời gian và rất mau hư vì thế ngày nay người ta không còn sản xuất những loại ổ cứng như thế mà thay vào đó là những loại ổ cứng được thiết kế “motor trợ động” (servo-motor) có cấu trúc đơn giản hơn motor dịch chuyển rất nhiều và thời gian dịch chuyển nhanh đồng thời rất ít bị hư hại. Motor trợ động đóng một vai trò rất quan trọng trong việc đọc ghi của đầu đọc. Tốc độ của motor trợ động phải đồng bộ với tốc độ của motor chính (motor quay đĩa từ) nếu không sẽ không thể đọc chính xác được dữ liệu. Cấu trúc motor trợ động khá đơn giản nó không như một motor thông thường mà chỉ đơn thuần là một bộ phận chuyển động có giới hạn trong một góc quay nhất định. Motor trợ động chỉ là một bộ khung có quấn cuộn cảm phát sinh lực từ để chuyển động và một nam châm có lực hút rất mạnh được gắn vào khung điều khiển của đầu đọc. Ở trạng thái binh thường không hoạt động motor trợ động sẽ tự động đưa đầu đọc vào khoang trống, một khoảng không trống có khung bảo vệ bên ngoài các đĩa từ, để tránh rủi ro tối đa cho các đầu đọc cực nhỏ được gắn trên cần đọc. Bên trong ổ cứng là một môi trường chân không hoàn toàn và chống ẩm. Giữa đầu đọc và mặt đĩa từ có một khoảng không gian cực nhỏ có thể nói là siêu nhỏ. Ở đây tôi cũng xin khẳng định lại là “ở giữa mặt đĩa từ và đầu đọc là một khoảng không gian siêu nhỏ trong môi trường chân không bên trong ổ cứng” chứ không phải là “giữa ổ cứng và đầu đọc có một lớp đệm không khí hoặc lớp đệm từ trường” như một số bài báo và sách đã đề cập đến. Tốc độ motor quay đĩa từ rất cao khi quay sẽ tạo ra gió nếu như ta mở nắp đậy ổ cứng ra, nếu có không khí bên trong ổ cứng thì khi đĩa từ quay với tốc độ cao như thế sẽ tạo gió làm rung và có thể thổi bay luôn cả những đầu đọc đồng thời trong không khí có rất nhiều bụi bẩn trong khi đó mặt đĩa từ phải luôn luôn sạch bóng. Do đó bên trong ổ cứng phải là môi trường chân không. Ổ cứng là một thiết bị lưu trữ dữ liệu bằng từ tính, đầu từ đọc và ghi bằng từ tính và mặt đĩa từ cũng có độ nhạy từ rất cao như thế thì không thể nào ở giữa đầu đọc và đĩa từ lại có thêm một lớp đệm từ trường như là “xe lửa cao tốc” được. -Tốc độ quay của motor chính (motor quay đĩa từ) : Thông thường thì các loại đĩa cứng hiện nay có tốc độ quay từ 5200rpm đến 7200rpm. Không chỉ có thế trên thị trường hiện nay đã có những loại ổ cứng chuyên dụng “đ ụ n g nóc” với khả năng có tốc độ đến 10000rpm. Tốc độ quay giữ một vai trò thiết yếu đến tốc độ truy xuất dữ liệu của ổ cứng, quay càng nhanh thì đọc và ghi càng nhanh nhưng như thế cũng đồng nghĩa là ổ cứng sẽ kêu to hơn và mau nóng hơn. Khi ổ cứng nóng lên (có nghĩa là đĩa từ cũng sẽ nóng lên theo) sẽ làm cho lực từ bị hao hụt và “nhiễu” lúc đó dữ liệu đọc và ghi sẽ có rất nhiều vấn đề. Với những loại ỗ cứng có tốc độ cao như thế này thì các nhà sản xuất luôn khuyến cáo người tiêu dùng nên trang bị thêm quạt giải nhiệt để kéo dài tuổi thọ và dữ liệu của ổ cứng. Nhờ có tốc độ cao như thế mà các ổ cứng thế hệ sau này đều có khả năng đọc hết tất cả mọi sector trên cùng một track chỉ bằng một vòng quay. Tốc độ của motor quay đĩa từ luôn luôn là một hằng số , nếu nó bị thay đổi có nghĩa là ổ cứng đó không thể sử được nữa. -Thời gian tìm, thời gian chuyển đầu đọc và thời gian chuyển cylinder: Cách tổ chức dữ liệu trên ổ cứng là cách tổ chức dữ liệu có tính liên tục do đó khi bộ controller phát lệnh seek (tìm kiếm) thì bộ controller sẽ chờ đầu đọc một khoảng thời gian nhất định để đầu đọc tìm ra đúng track,sector. Thời gian đó gọi là thời gian dùng để xác định vị trí (tìm kiếm ra sector,track). Tuy nhiên đối với một số ổ cứng (đặc biệt là chuẩn SCSI ) đôi khi thực thi lệnh seek không chính xác. Bộ controller của những ỗ đĩa này chỉ đưa đầu đọc đến sector hoặc track gần đến vị trí xác định hoặc sẽ không di chuyển đầu đọc mà chỉ để yên ở đó. Vì “cách lưu trữ dữ liệu của ổ cứng có tính liên tục” nên thời gian để đầu đọc chuyển từ sector này sang sector kế tiếp hoặc từ track này sang track kết tiếp sẽ rất nhanh và ngược lại nếu đang đọc ở sector 1 track 0 sang sector 13 track 3 thì sẽ mất rất nhiều thời gian ! Chính vì điều này mà thời gian tìm một file trên một ổ cứng có dung lượng càng nhỏ thì càng nhanh và ngược lại. Thời gian chuyển cylinder là thời gian để đầu đọc chuyển từ track này sang track khác. Thời gian được tính theo đơn vị mili-giây (ms). -Thời gian tìm sector trên 1 track xác định (Rotational latency) hay còn gọi là “góc trễ quay”: khi đầu đọc đã tìm được track xác định, bộ controller tiếp tục thực hiện việc tìm sector trên track này. Lúc này đầu đọc sẽ không di chuyển nữa mà sẽ đứng yên trong lúc đó đĩa từ quay liên tục cho đến khi nào đầu đọc xác định được vị trí sector mà nó cần tìm. Thời gian để làm công vịêc này gọi là “Thời gian tìm sector trên 1 track xác định“ - Rotational latency. Tốc độ của ổ cứng càng nhanh thì thời gian tìm sector trên 1 track càng ít. Thời gian trung bình mà đầu đọc tìm ra sector chính xác trên 1 track là 4ms(7200rpm) đến 6ms(5400rpm) -Thời gian truy cập dữ liệu (Data Access time) : Thời gian truy cập dữ liệu là tổng thời gian tìm kiếm, chuyển đầu đọc và tìm sector trên 1 track xác định. Nói như thế là vì đầu tiên bộ controller phải xác định vị trí để đưa đầu đọc đến vị trí trên cylinder cần tìm. Sau đó khi dữ liệu đã được đọc hoặc ghi thì cần thêm thời gian để chuyển đầu đọc để tìm ra track và cuối cùng sau khi xác định được track thì phải tốn thêm một ít thời gian cho việc tìm ra đúng sector trên track đó. -Cluster (chỉ dành riêng cho FATx File System): là đơn vị lưu trữ cơ bản được chỉ định của đĩa từ. Cluster bao gồm 1 hoặc nhiều sector. Không gian lưu trữ của ổ cứng được xác định dựa trên những cluster, cho dù đó là một file (hoặc một phần của file) chỉ chiếm dụng một phần hoặc toàn bộ không gian của cluster thì điều đó cũng được coi là đã sử dụng một phần không gian của ổ cứng. Hiếm khi nào dung lượng của một file vừa bằng tổng dung lượng một số cluster. Nói như thế là vì thông thường cluster cuối cùng lưu trữ một phần dữ liệu của file thường chứa luôn cả những không gian trống không dùng đến mà người ta vẫn thường gọi là “không gian rỗng” ở phần cuối của cluster. Ta thử làm một phép tính đơn giản để minh hoạ vấn đề này: Cho 1 cluster = 4 KB; ta có 1 file test.txt dung lượng 14 KB như vậy khi ta lưu file test.txt xuống đĩa cứng file này sẽ được tách thành 4 cluster lần lượt là : Cluster 1 -> 4KB đầu tiên Cluster 2 -> 4KB tiếp theo Cluster 3 -> 4KB tiếp theo Cluster 4 (cluster cuối cùng) ->lưu trữ 2KB còn lại và 2KB bị bỏ trống 2KB bỏ trống này không thuộc về bất cứ file nào, không lưu bất cứ dữ liệu nào vì cluster 4 đã được chỉ định thuộc về file test.txt do đó đây là một khoảng không gian rỗng hay nói khác đi “chúng ta đã phí phạm một khoảng không gian trên ổ cứng” - đây chính là một trong những điểm khác nhau và tiến bộ giữa các thế hệ FAT File System mà chúng tôi sẽ nói đến trong phần hệ thống file của OS ở phần sau. Mặc dù thế nhưng rõ ràng cái mà người ta nhận được từ cluster là rất đáng kể, nó làm tăng hiệu năng làm việc của ổ cứng và giúp hệ điều hành quản lý file tốt hơn nhiều so với việc bắt hệ điều hành và ổ cứng phải làm việc ở cấp độ sector. -Lost cluster: Thông thường khi các bạn dùng các chương trình sửa ổ cứng nhất là scandisk/ndd (chạy trên FATx File System) đôi khi bạn nhận được thông báo “Lost cluster found! Fix it ?” Thật ra trong quá trong ổ cứng đọc và ghi dữ liệu, hệ điều hành có vai trò mở file/tạo file (open/assign file) sau đó tiếp tục phát lệnh để ổ cứng ghi từng phần dữ liệu vào từng cluster được chỉ định rồi cuối cùng ra lệnh đóng file (close file). Tuy nhiên đôi khi có một số trường hợp khi ổ cứng đang ghi dữ liệu vào các cluster đã được chỉ định nhưng bất ngờ bị mất điện hoặc kết thúc quá trình ghi dữ liệu nhưng lại không thực hiện quá trình đóng file, cho nên những cluster này sẽ được công nhận là “đã được sử dụng” nhưng lại không thuộc về bất cứ một file nào. Trong trường hợp này các chương trình sửa đĩa sẽ ghi các thông tin mà các các cluster này lưu trữ ra từng file một để backup lại các dữ liệu có giá trị bị mất. -Chain (chỉ dành riêng cho FATx File System): không phải lúc nào dữ liệu của một file cũng được ghi trên nhưng cluster liên tiếp nhau (1,2,3,4…n). Do đó nếu như cluster kế tiếp đã được chỉ định là đã sử dụng thì OS sẽ cố gắng tìm đến cluster kế tiếp hoặc kế tiếp nữa cho đến khi tìm ra cluster trống để ghi dữ liệu vào. Việc dữ liệu của một file (hoặc từng phần) được ghi rải rác mà không có sự liên tục trên những cluster thì được gọi là “một chuỗi các cluster” (chain) và việc OS dịnh dạng trên bảng FAT cũng được gọi là “định dạng một chuỗi FAT”. Lost chain cũng tương tự như lost cluster chỉ khác là nguyên cả một chuỗi cluster bị khai báo nhầm là đã được sử dụng. -Bộ đệm ổ cứng (HDD Cache): Hiện nay tuy các nhà sản xuất đang ngày càng một nâng cao tốc độ của ổ cứng nhưng chắc chắn là tốc độ truy xuất dữ liệu của ổ cứng sẽ không bao giờ có thể nhanh bằng RAM (Random Access Memory - bộ nhớ truy xuất ngẫu nhiên). Để giảm bớt phần nào khoảng cách đó, các nhà sản xuất phần cứng và phần mềm đã tạo ra bộ đệm ổ cứng (disk cache). Bộ đệm của ổ cứng sử dụng một phần của RAM để lưu trữ những thông tin thường xuyên được các ứng dụng truy nhập. Chính việc lưu trữ những thông tin này trên RAM, bộ đệm đã giúp tốc độ truy xuất dữ liệu nhanh hơn và giúp kéo dài tuổi thọ của ổ cứng. Nguyên tắc hoạt động của bộ đệm khá đơn giản: những dữ liệu thường xuyên được truy nhập sẽ được lưu trữ trong RAM khi đó nếu có ứng dụng yêu cầu truy cập những dữ liệu này thì những dữ liệu này sẽ được lấy ra trực tiếp từ RAM chứ không cần ổ cứng phải làm những công vịêc như: quay đĩa, xác định vị trí đầu đọc, tìm kiếm…