Cấu tạo của ổ cứng

Ổ cứng (Harddisk driver) là một kiểu thiết bị lưu trữ dữ liệu (storage

device). Mục đích chính của các nhà sản xuất trong việc chế tạo ra thiết bị

này đó chính là lưu trữ dữ liệu. Mục đích chính của các nhà sản xuất

trong việc chế tạo ra thiết bị này đó chính là lưu trữ dữ liệu và để thay thế

đĩa mềm (tại thời điểm HDD ra đời chưa có các loại ổ đĩa quang như CDROM hay ZIP). Có một số nhược điểm làm hạn chế tiện ích và độ tin cậy

của đĩa mềm. Ngay cả các ổ đĩa mềm tốt nhất cũng quá chậm khi đọc/ghi

dữ liệu, lại tiêu thụ điện năng nhiều so với các thiết bị khác trong máy

tính. Ổ đĩa mềm còn bị hạn chế về dung lượng lưu trữ, việc chuyển đỗi

giữa nhiều đĩa là cách làm bất tiện và không tin cậy. Nhu cầu về một thiết

bị lưu trữ lớn và cố định đã làm nảy sinh ra ổ đĩa cứng (ổ cứng) vào

những năm đầu của thập kỷ 80. Đương nhiên khả năng lưu trữ lớn lại đẩy

mạnh hơn nữa sự phát triển của máy tính. Hiện nay ổ cứng là một thiết bị

chuẩn trong các loại máy tính.

pdf25 trang | Chia sẻ: oanh_nt | Lượt xem: 1352 | Lượt tải: 0download
Bạn đang xem trước 20 trang nội dung tài liệu Cấu tạo của ổ cứng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Trên thị trường hiện nay ổ cứng xuất hiện rất nhiều và có rất nhiều chuẩn giao tiếp như IDE, SCSI, SATA… Trong bộ Tutorial này tôi chỉ lấy duy nhất chuẩn ổ cứng IDE (Intergrate Drive Electronics) để phân tích và minh họa. A. Cấu trúc vật lý của ổ cứng: Ổ cứng (Harddisk driver) là một kiểu thiết bị lưu trữ dữ liệu (storage device). Mục đích chính của các nhà sản xuất trong việc chế tạo ra thiết bị này đó chính là lưu trữ dữ liệu. Mục đích chính của các nhà sản xuất trong việc chế tạo ra thiết bị này đó chính là lưu trữ dữ liệu và để thay thế đĩa mềm (tại thời điểm HDD ra đời chưa có các loại ổ đĩa quang như CD- ROM hay ZIP). Có một số nhược điểm làm hạn chế tiện ích và độ tin cậy của đĩa mềm. Ngay cả các ổ đĩa mềm tốt nhất cũng quá chậm khi đọc/ghi dữ liệu, lại tiêu thụ điện năng nhiều so với các thiết bị khác trong máy tính. Ổ đĩa mềm còn bị hạn chế về dung lượng lưu trữ, việc chuyển đỗi giữa nhiều đĩa là cách làm bất tiện và không tin cậy. Nhu cầu về một thiết bị lưu trữ lớn và cố định đã làm nảy sinh ra ổ đĩa cứng (ổ cứng) vào những năm đầu của thập kỷ 80. Đương nhiên khả năng lưu trữ lớn lại đẩy mạnh hơn nữa sự phát triển của máy tính. Hiện nay ổ cứng là một thiết bị chuẩn trong các loại máy tính. Cấu tạo của ổ cứng: Bộ khung Đĩa từ Các đầu đọc/ghi Bộ dích chuyển đầu từ: Mô tơ trục quay Các loại mạch điện của ổ cứng 1. Bộ khung: Bộ khung cơ khí rất quan trọng đối với hoạt động chính xác của ổ đĩa cứng, ảnh hưởng đến sự hợp nhất về cấu trúc, về nhiệt và về điện của ổ đĩa. Khung cần phải cứng và tạo nên một cái nền vững chắc để lắp ráp các bộ phận khác. Các ổ đĩa cứng thường dùng khung nhôm đúc, nhưng các ổ cứng loại nhỏ của máy tính xách tay thường dùng vo plastic. Vật liệu vỏ cụ thể phụ thuộc vào yếu tố hình dạng (form factor) tức là kích thước của ổ cứng. 2. Đĩa từ Đĩa từ của ổ cứng là các đĩa bằng nhôm, thuỷ tinh, hoặc sứ có chế độ hoạt động tương đối năng. Đĩa được chế tạo rất đặc biệt giúp cho nó có khả năng lưu trữ tốt, an toàn và không bị “nhão” (nhả từ) như các thiết bị đọc ghi bằng từ tính khác (tuy nhiên cũng có một số loại đĩa từ sản xuất không đạt tiêu chuẩn qua thời gian có hiện tượng bị “nhão”). Đĩa được phủ vật liệu từ ở cả hai mặt (môi trường lưu trữ thực) và bao bọc bằng lớp vỏ bảo vệ. Sau khi đã hoàn tất và đánh bóng, các đĩa này được xếp chồng lên nhau và ghép nối với môtơ quay; có một số loại đĩa cứng chỉ có một đĩa từ. Trước khi chồng đĩa được lắp cố định vào khung, cơ cấu các đầu từ được ghép vào giữa các đĩa. 3. Các đầu đọc ghi Trước kia các đầu đọc/ghi của ổ đĩa cứng thường được chế rao như trong ổ đĩa mềm, lõi sắt mềm cộng với 8 đến 34 (hoặc hơn) vòng dây đồng mảnh. Các đầu từ này có kích thước lứon và tương đối năng làm hạn chế số rãnh có thể có trên mặt đĩa mà hệ thống chuyển dịch đầu từ phải khắc phục. Hiện nay, các thiết kế đầu từ đã loại bỏ các kiểu quấn dây cổ điển mà dùng loại đầu từ màng mỏng. Nó được chế tạo giống như vi mạch dùng công nghệ quang hóa. Do kích thước nhỏ và nhẹ nên độ rộng của rãnh ghi cũng nhỏ hơn và thời gian dịch chuyển đầu tư nhanh hơn. Trong cấu trúc tổng thể, các đầu đọc/ghi này được gắn vào các cánh tay kim loại dài điều khiển bằng các môtơ. Các vi mạch tiền khuếch đại của đầu từ thường được gắn trên tấm vi mạch in nhỏ nằm trong bộ dịch chuyển đầu từ. Toàn bộ cấu trúc này được bọc kín trong hộp đĩa. Hộp được đậy kín bằng nắp kim loại có gioăng lót. 4. Bộ dịch chuyển đầu từ: Nhiều loại đĩa cứng sử dụng môtơ cuộn dây di động (voice coil motor) còn gọi là môtơ cuộn dây quay (rotary coil) hoặc servo để điều khiển chuyển động của đầu từ. Các môtơ servo có kích thước nhỏ, nhẹ rất thích hợp với ổ cứng nhỏ gọn và có thời gian truy cập nhanh. Thách thức lớn nhất trong việc điều khiển đầu tư là giữ cho được nó đúng ngay tâm rãnh mong muốn. Nói cách khác là các nhiễu loại khí động học, các hiệu ứng nhiệt trên đĩa từ và các biến thiên của dòng điều khiển môtơ servo có thể gây nên sai số trong việc điều định vịi đầu từ. Vị trí của đầu từ phải luôn luôn được kiểm tra và điều chỉnh kịp thời để đảm bảo vị trí rãnh thật chính xác. Quá trình hiệu chỉnh đầu từ theo rãnh gọi là phương pháp servo đầu tư. Cần có thông tin để so sánh vị trí thực và vị trí mong muốn của đầu tư. Thông tin servo dành riêng (Dedicated servo information) được ghi trên mặt đĩa từ dự trữ. Thông tin servo nhúng (Embedded servo information) lại được mã hoá thành các chùm dữ liệu ngắn đặt trên từng sector Hệ thống servo sử dụng sự lệch pha của các xuung tín hiệu của các rãnh kế cận để xác định đầu từ có được đặt đúng giữa rãnh hay không. 5. Môtơ trục quay Một trong những yếu tố xác định chất lượng của ổ cứng là tốc độ mà đĩa từ lướt qua dưới đầu đọc/ghi. Đĩa từ lướt qua đầu từ với tốc độ khá cao (ít nhất là 3600 vòng/phút). Môtơ trục (spindle môtơ) có chức năng làm quay các đĩa từ. Môtơ trục là loại môtơ không có chỗi quét, chiều cao thấp, dùng điện một chiều, tương tự như môtơ trong ổ đĩa mềm. Khi môtơ được cấp điện, một từ trường được tạo ra trong các cuốn dây môtơ. Khi điện cắt, năng lượng từ trường lưu trữ trong các cuộn dây môtơ được giải phóng dưới dạng xung điện thế ngược. Kỹ thuật Hãm động (dynamic braking) sẽ sử dụng năng lượng của xung điện thế ngược đó để làm dừng đĩa lại. 6. Các mạch điện tử của ổ cứng Nhìn thẳng vào ổ cứng bộ phận đầu tiên mà chúng ta thấy chính là bo mạch điều khiển. Ổ đĩa cứng được điều khiển bởi các mạch điẹn tử tương đối phức tạp. Mạch điện tử được gắn dưới bộ khung và chứa hoàn toàn các mạch cần thiết để truyền tải các tín hiệu điều khiển và dữ liệu với bộ giao diện vật lý riêng, điều khiển đầu đọc/ghi, thực hiện đọc/ghi theo yêu cầu và để quay các đĩa từ. Mỗi một chức năng kể trên phải được thực hiện hoàn hảo với độ chính xác cao. Bo mạch điều khiển này bao gồm bộ chip controller, chip input/output IO, bộ nhớ đệm cho ổ cứng (HDD cache), một ổ cắm nguồn 5+ 5- 12- 12+, và chân cắm chuẩn IDE 39/40 chân. Đối với các thế hệ ổ cứng trước đây bộ nhớ đệm rất thấp chỉ có từ 512kb trở xuống còn với các thế hệ ổ cứng hiện đại sau này thì số lượng cache rất cao từ 1Mb trở lên. Trong bo mạch của ổ cứng thì motor , chip controller và bộ nhớ đệm đóng vai trò rất quan trọng. Bộ nhớ đệm càng cao thì tốc độ truy xuất dữ liệu trên ổ cứng sẽ nhanh hơn rất nhiều và vấn đề sai sót dữ liệu cũng rất thấp. Tương tự , tốc độ quay của motor và khả năng điều khiển của bộ controller cũng không kém phần quan trọng, nếu tốc độ của ổ cứng (rpm - revolution per minute - số vòng trên phút) càng cao thì tốc độ truy xuất dữ liệu sẽ càng nhanh. B. Các khái niệm của ổ cứng: Rãnh (track) Cung từ (Sector) Xi lanh (Cylinder) ..... 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… Có 4 kiểu bộ đệm ổ cứng chính: -Bộ đệm “mềm” (Software disk caches): Sử dụng một phần bộ nhớ chính của máy (PC RAM – main memory) để truy xuất và lưu trữ tạm thời một phần dữ liệu của ổ cứng. Loại bộ đệm này do một chương trình tao và quản lý cho nên không cần đế những phần cứng hỗ trợ đặc biệt. VCACHE chính là một ví dụ thực tế về bộ đệm mềm. -Bộ đệm “cứng” (on-board disk caches): Sử dụng bộ nhớ và bộ điều khiển cache được thiết kế ngay trên board mạch của ổ cứng. Mặc dù nó không hề sử dụng bất cứ một phần RAM nào của bộ nhớ chính (computer RAM) để làm công việc lưu trữ tạm thời nhưng chúng có dung lượng rất thấp (128KB->2MB cá biệt có thể lên đến 4MB) và cực kỳ đắt tiền. -Bộ đệm “riêng” (disk caching controllers): Tương tự như bộ đệm cứng, bộ đệm riêng sử dụng bộ nhớ riêng (có cấu trúc khác RAM) nhưng bộ nhớ và bộ điều khiển mà bộ đệm này sử dụng là bộ nhớ và chíp điều khiển được gắn riêng rẽ trên một card điều khiển chứ không phải là trên board mạch của ổ cứng và lẽ dĩ nhiên giá thành của chúng cực kì đắt. Tuy nhiên, bộ đệm riêng lại hoạt động tốt và nhanh hơn rất nhiều so với bộ đệm cứng vì nó vượt qua được một số giới hạn của những phần của ổ cứng mà bộ đệm cứng luôn bị ảnh hưởng. -Buffers : Ở đây chúng tôi không dịch hẳn từ buffer mà để nguyên như thế vì giữa buffers và cache có những điểm rất giống nhau. Có rất nhiều tài liệu biên dịch hoặc nguyên bản hoàn toàn không phân biệt giữa 2 khái niệm “cache” và “buffers” mà lại để nguyên là “bộ đệm” – như vậy là không chính xác! Vậy giữa cache và buffers có gì khác nhau và giống nhau ? Có một điểm duy nhất giống nhau giữa cache và buffers chính là “chúng đều là bộ nhớ đệm có tác dụng lưu trữ tạm thời một số dữ liệu trên ổ cứng nhằm tăng tốc tốc độ truy xuất dữ liệu và tăng tuổi thọ cho ổ cứng” và điểm khác nhau giữa chúng là : Cache có tốc độ cao hơn nhiều so với buffers. Cache phải cần đến bộ điều khiển cache - nếu là “cứng” thì cần phài có chíp điều khiển, còn “mềm” thì phải cần phần mềm điều khiển – trong khi đó buffers chỉ là một con chíp nhớ đơn giản không cần bộ điều khiển riêng. Buffers gặp rất nhiều giới hạn trong các quá trình giao tiếp và chuyển đổi dữ liệu bởi vì khả năng quản lý dữ liệu của nó rất kém. Khi lưu trữ dữ liệu tạm thời, buffer lưu trữ một lúc cả một track vì thế nếu muốn tìm một sector nào trên track này thì hệ điều hành lại phải tiếp tục tìm kiếm trên track mà buffer cung cấp - chậm hơn hẳn so với cache. Những điều cần chú ý đến Cache : Có thể bạn sẽ rất ngạc nhiên nếu như chúng tôi nói là “ổ cứng có cache lớn không có nghĩa là sẽ truy xuất dữ liệu nhanh hơn ổ cứng có cache nhỏ (hai cái cùng loại có cùng tốc độ và dung lượng)”. Nói điều này thì cũngkhông có gì là bất thường lắm, cache là bộ nhớ do đó tốc độ truy xuất của bộ nhớ làm cache càng nhanh thì càng tốt , tuỳ thuộc vào mức độ thôn minh và khả năng quản lý của “chíp điều khiển” (cache controllers chip) và cuối cùng là tổ chức của bộ nhớ làm cache (cho phép đọc/ghi dữ liệu tuỳ ý hoặc chỉ có thể đọc hoặc ghi từ đầu đến cuối). Tuy nhiên tác dụng của bộ cache sẽ mất hoặc giảm đi rất nhiều nếu như ổ cứng đã được defragment (phần này chúng tôi sẽ nói kỹ hơn ở phần Cấu trúc File System) Ở đây chúng tôi xin được nói thêm một chút về VCACHE : Windows có một driver ảo gọi là VCACHE có nhiệm vụ quản trị bộ nhớ đệm cho ổ cứng. VCACHE chính là một sự thay thế cho “bộ đệm mềm” của DOS và các version Windows trước đó (thường được gọi là SmartDrive). VCACHE có khả năng thay đổi rất nhanh dung lượng bộ nhớ mà nó sử dụng, điều mà các trình quản lý bộ đệm trong DOS không thể làm được. Khi đĩa cứng hoạt động liên tục (chép file hoặc đọc file lớn) trong khi đó việc truy cập bộ nhớ lại thấp thì nó sẽ tự động điều chỉnh kích thước bộ đệm (tăng lên) cho phù hợp để RAM có thể chia sẻ bớt một phần công việc của đĩa cứng. Nguợc lại, khi ổ cứng ít hoạt động (ít truy xuất dữ liệu) nhưng RAM lại liên tục có lệnh truy xuất (khi chạy các ứng dụng tính toán cao cấp) thì nó sẽ tự động điều chỉnh kích thước bộ đệm ( giảm xuống) để có được dung lượng RAM tối đa cho các ứng dụng tính toán. VCACHE hoàn toàn có khả năng tạo ra những file cache (còn gọi là swap file) ngay trên ổ cứng mạng (98,Me). Nó sử dụng quá trình “đọc trước – ghi từ cache xuống” (read-ahead and write-behind caching). VCACHE là một ví dụ điển hình của “bộ đệm mềm” (software disk cache). Đọc trước (read-ahead) : Là một phương pháp xem xét thử phần dữ liệu nào sẽ được ứng dụng yêu cầu truy xuất kế tiếp rồi đọc nó vào bộ nhớ, nó luôn luôn được kích hoạt khi máy vi tính đang trong trạng thái nghỉ

Các file đính kèm theo tài liệu này:

  • pdfcau_tao_cua_o_cung_.PDF
Tài liệu liên quan