Tải bản đầy đủ (.doc) (5 trang)

Tài liệu Tổng quan về ổ cứng- phần 2 ppt

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (75.18 KB, 5 trang )

TổNG QUAN ổ ĐĨA CứNG –PHầN 2
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ỉ ngơi (Standby) hoặc ít hoạt động (Idle). Kết
quả của phương pháp này là giảm được nhiều chuyển động của đầu đọc và đĩa cứng
hoạt động êm hơn (không đọc nhiều nên không gây tiếng ồn).
Ghi từ cache xúông (write-behind caching): cũng cho kết quả tuơng tự nhưng nó
còn bao gồm luôn công việc giữ phần dữ liệu trong cache để chúng đuợc ghi xuống đĩa
cứng hoàn toàn cho đến khi máy vi tính nghỉ ngơi (shutdown). Một vấn đề với phương
pháp này là “nếu như máy tính mất điện đột ngột thì những phần dữ liệu chưa được ghi
từ cache xuống ổ cứng sẽ mất trắng không tìm lại được vì cache là một dạng bộ nhớ

cần nguồn nuôi”.
B.Tổ chức dữ liệu cơ bản của đĩa cứng :
Ở đây chúng tôi xin được khẳng định rõ quan điểm của mình là “tổ chức dữ liệu cơ bản
(hay còn được gọi là tổ chức dữ liệu cấp thấp)” của đĩa cứng để phân biệt rõ ràng với
“tổ chức dữ liệu cấp cao” của ổ cứng do những hệ thống file (file system) của những
OS được cài đặt trên ổ cứng tổ chức mà trong một số tài liệu đã nói chung chung là “tổ
chức dữ liệu ổ cứng”. Tổ chức dữ liệu cơ bản của đĩa cứng là cách sắp xếp những
phần tử/đơn vị lưu trữ dữ liệu ở mức thấp nhất mà nhà sản xuất đã quy định đồng thời
các giá trị đo lường của ổ cứng cũng được tuân thủ theo nguyên tắc riêng.
Các đơn vị đo lường của ổ cứng được tính theo nguyên tắc sau :
Bit là đơn vị lưu trữ dữ liệu nhỏ nhất và chỉ có thể lưu trữ một trong hai giá trị 1 hoặc 0.
1 byte = 8 bit;
1 Kbyte = 1024 byte;
1 Mbyte = 1.000.000 byte;
1 Gbyte = 1000 Mbyte = 1.000.000.000 byte;
1 Tbyte = 1000 Gbyte=1.000.000 Mbyte=1.000.000.000 byte;
Cách thức tổ chức dữ liệu cấp thấp của ổ cứng: như đã trình bày ở những phần trên 1
byte thì gồm nhiều bit và một sector thì bao gồm nhiều byte, một track thì bao gồm
nhiều sector và một cylinder thì bao gồm nhiều track đồng trục và bằng nhau. Ngoài ra
chúng tôi cũng có nhắc đến vấn đề “tổ chức dữ liệu kiểu liên tục” ở phần trên, thật ra
các đơn vị lưu trữ dữ liệu trên ổ cứng (tính từ đơn vị lưu trữ dữ liệu nhỏ nhất) chính là
một chuỗi dài các đơn vị bit từ chỗ đầu đọc bắt đầu đọc và ghi cho đến điểm cuối cùng
mà đầu đọc có thể đọc/ghi được. Cả một chuỗi dữ liệu bao gồm các giá trị 1 và 0 (tính
theo đơn vị lưu trữ bit) này chính là cách tổ chức đơn giản nhất hay nói cho có tính
khoa học là tổ chức dữ liệu cấp thấp của ổ cứng.
Để vấn đề trở nên mạch lạc và dễ hiểu hơn chúng tôi xin được minh hoạ đĩa cứng với
“cái thước dây của thợ may”. Bây giờ bạn đã bắt đầu liên tưởng được rồi, thay vì trên
thước dây có đơn vị nhỏ nhất là 1mm thì bạn hãy cho nó là 1 bit. Bây giờ bạn hãy lấy
một khúc gỗ tròn để đại diện cho trục ổ cứng rồi từ từ quấn cái thước dây này quanh
trục cho đến khi hết. Lúc này bạn sẽ thấy một sợi dây dài đã quấn thành nhiều vòng

quanh trục, vòng tròn lớn nhất nằm ở ngoài cùng và nhỏ nhất là nằm ở trong cùng. Bạn
sẽ gọi từng vòng là track, gọi từng cung của những vòng này là sector và đếm số mm
trên từng vòng một bạn sẽ biết được vòng nào dài bao nhiêu mm từ đó biết được số bit
trên mỗi vòng và nhận ra là các vòng ở ngoài càng lớn thì độ dài (dung lượng) càng
cao hơn các vòng ở trong. Và như chúng tôi đã nói là bạn phải liên tưởng , qua ví dụ
thực tế về cái thước dây chắc bạn cũng hiểu được tỗ chức dữ liệu cấp thấp trên ổ cứng
là như thế rồi !

×