



Preview text:
lOMoAR cPSD| 58933639
Tóm tắt nội dung Chapter 11: Mass-Storage Structure
Chương 11 tập trung vào cấu trúc và quản lý hệ thống lưu trữ thứ cấp (mass-storage)
trong máy tính hiện đại, chủ yếu là ổ cứng (HDD) và thiết bị bộ nhớ không biến mất
(NVM) như SSD. Dưới đây là các ý chính và kiến thức trọng tâm:
1. Tổng quan về lưu trữ thứ cấp •
HDD (Hard Disk Drives):
o Cấu trúc vật lý: Gồm các đĩa platter quay, đầu đọc-ghi, vòng tròn
(tracks), và sector. Đĩa quay với tốc độ 5,400–15,000 RPM.
o Hiệu suất: Thời gian truy cập bao gồm seek time (di chuyển đầu đọc) và
rotational latency (chờ sector quay tới đầu đọc). Tốc độ truyền dữ liệu
từ vài chục đến hàng trăm MB/s.
o Rủi ro: Head crash gây mất dữ liệu nếu đầu đọc va chạm vào bề mặt đĩa. •
NVM (Nonvolatile Memory Devices):
o Chủ yếu là SSD sử dụng bộ nhớ flash NAND, không có bộ phận chuyển
động, nhanh hơn HDD, tiêu thụ ít năng lượng hơn, nhưng đắt hơn trên mỗi MB.
o Đặc điểm: Không có seek time hay rotational latency, nhưng có giới hạn
số chu kỳ ghi/xóa (~100,000). Quản lý bởi Flash Translation Layer
(FTL) để ánh xạ khối logic sang khối vật lý.
o Các vấn đề: Garbage collection (thu gom dữ liệu không hợp lệ), wear
leveling (phân phối đều chu kỳ ghi/xóa), và write amplification (tăng
số lần ghi do quản lý nội bộ). •
Các phương thức kết nối: SATA, NVMe (dành cho SSD tốc độ cao), USB, Fibre Channel, v.v.
2. Lập lịch HDD (Disk Scheduling) •
Mục tiêu: Tối ưu hóa thời gian truy cập và băng thông bằng cách sắp xếp thứ tự các yêu cầu I/O. • Các thuật toán:
o FCFS (First-Come, First-Served): Đơn giản, công bằng, nhưng không
hiệu quả do di chuyển đầu đọc ngẫu nhiên.
o SCAN (Elevator Algorithm): Di chuyển đầu đọc qua lại toàn bộ đĩa,
phục vụ các yêu cầu trên đường đi, giảm di chuyển không cần thiết. lOMoAR cPSD| 58933639
o C-SCAN (Circular SCAN): Chỉ phục vụ yêu cầu khi đầu đọc di chuyển
một chiều, quay lại điểm đầu mà không phục vụ, đảm bảo thời gian chờ đồng đều hơn.
o Deadline Scheduler (Linux): Ưu tiên đọc trước ghi, tránh đói yêu cầu
(starvation) bằng cách theo dõi thời gian chờ. •
Lưu ý: Các thuật toán này ít quan trọng với NVM do không có đầu đọc vật lý,
thường sử dụng FCFS hoặc NOOP (gộp các yêu cầu liền kề). 3. Lập lịch NVM •
Đặc điểm: Thời gian đọc đồng đều, nhưng thời gian ghi thay đổi do garbage
collection và trạng thái thiết bị (đầy hay cũ). •
Tối ưu hóa: File system có thể thông báo khi xóa tệp để thiết bị xóa khối sớm,
giảm tác động của garbage collection.
4. Phát hiện và sửa lỗi (Error Detection and Correction) •
Phát hiện lỗi: Sử dụng parity bits, checksums, hoặc CRC để phát hiện bit lỗi. •
Sửa lỗi: Error-Correcting Code (ECC) được lưu cùng dữ liệu, cho phép sửa
lỗi mềm (soft errors). Lỗi cứng (hard errors) không sửa được, gây mất dữ liệu. •
Ứng dụng: HDD và NVM sử dụng ECC cho mỗi sector/page để bảo vệ dữ liệu.
5. Quản lý thiết bị lưu trữ Định dạng:
o Low-level formatting: Khởi tạo sector/page, thường thực hiện tại nhà máy.
o Partitioning: Chia thiết bị thành các phân vùng, mỗi phân vùng có thể
chứa một file system hoặc swap space.
o Logical formatting: Tạo cấu trúc file system (như bảng phân bổ không gian, thư mục rỗng). •
Boot Block: Lưu chương trình khởi động (bootstrap loader) để khởi động hệ
điều hành. Ví dụ: MBR (Master Boot Record) trong Windows. •
Xử lý khối lỗi (Bad Blocks):
o HDD: Sử dụng sector sparing (thay thế bằng sector dự phòng) hoặc
sector slipping (dịch chuyển dữ liệu để bỏ qua sector lỗi).
o NVM: Đánh dấu page lỗi và sử dụng không gian dự phòng hoặc overprovisioning. lOMoAR cPSD| 58933639
6. Quản lý không gian Swap •
Swap Space: Không gian lưu trữ thứ cấp dùng cho bộ nhớ ảo (virtual
memory), lưu các trang bị đẩy ra khỏi RAM. •
Vị trí: Có thể là file trong file system hoặc phân vùng riêng (raw partition). •
Mục tiêu: Tối ưu hiệu suất bộ nhớ ảo, nhưng truy cập swap chậm hơn RAM
nên cần quản lý cẩn thận. •
Lưu ý: Linux cho phép nhiều swap space trên các thiết bị khác nhau để phân tán tải I/O.
7. Kết nối lưu trữ •
NAS (Network-Attached Storage): Kết nối qua mạng (Ethernet), phù hợp cho chia sẻ file từ xa. •
SAN (Storage Area Network): Kết nối tốc độ cao (Fibre Channel, iSCSI), cho
phép nhiều máy chủ truy cập mảng lưu trữ. •
Storage Array: Thiết bị chuyên dụng với nhiều ổ đĩa, hỗ trợ RAID, snapshot,
sao chép, nén, và mã hóa. 8. Cấu trúc RAID •
Mục tiêu: Tăng độ tin cậy (redundancy) và hiệu suất (parallelism) bằng cách
sử dụng nhiều ổ đĩa. • Các cấp độ RAID:
o RAID 0: Striping (phân chia dữ liệu), tăng hiệu suất nhưng không có dự phòng.
o RAID 1: Mirroring (nhân bản), tăng độ tin cậy, nhưng tốn gấp đôi dung lượng.
o RAID 4: Striping với một ổ parity, tiết kiệm dung lượng hơn RAID 1,
nhưng chậm khi ghi nhỏ lẻ.
o RAID 5: Phân phối parity trên tất cả ổ, cân bằng giữa hiệu suất và độ tin cậy.
o RAID 6: Hai khối parity, chịu được hai ổ lỗi, sử dụng mã sửa lỗi như Galois field.
o RAID 0+1/1+0: Kết hợp striping và mirroring, hiệu suất cao nhưng tốn dung lượng. lOMoAR cPSD| 58933639 •
Vấn đề: RAID bảo vệ lỗi vật lý, nhưng không chống lại lỗi phần mềm hoặc
con trỏ sai. ZFS giải quyết bằng checksum toàn bộ dữ liệu và metadata, tự động sửa lỗi. •
Lựa chọn RAID: Phụ thuộc vào yêu cầu về hiệu suất, độ tin cậy, và chi phí.
RAID 5/6 phổ biến cho lưu trữ lớn, RAID 1 cho độ tin cậy cao.
9. Lưu trữ đối tượng (Object Storage) •
Khác với file system, dữ liệu được lưu dưới dạng đối tượng với ID, không có cấu trúc thư mục. • Đặc điểm:
o Tự mô tả: Mỗi đối tượng chứa metadata mô tả nội dung.
o Khả năng mở rộng ngang: Dễ dàng thêm dung lượng bằng cách thêm máy chủ.
o Bảo vệ dữ liệu: Thường dùng sao chép (replication) thay vì RAID. •
Ứng dụng: Lưu trữ dữ liệu lớn như Google Search, Dropbox, Amazon S3.