Hệ thống lưu trữ và I/O
Hệ thống lưu trữ và I/O kết nối bộ xử lý và bộ nhớ với thế giới bên ngoài và với dữ liệu bền vững, bao gồm các bus và bộ kết nối, lưu trữ đĩa và flash, dự phòng để đảm bảo độ tin cậy, và các cơ chế di chuyển dữ liệu hiệu quả giữa các thiết bị và bộ nhớ.
Definition
Hệ thống lưu trữ và I/O là các cơ chế phần cứng và kiến trúc mà qua đó máy tính truyền dữ liệu đến và đi từ các thiết bị ngoại vi và lưu trữ dữ liệu một cách bền vững, bao gồm các bộ kết nối, bộ điều khiển, phương tiện lưu trữ, và các kỹ thuật độ tin cậy và ảo hóa liên quan.
Scope
Lĩnh vực này bao gồm cách máy tính giao tiếp với các thiết bị ngoại vi và lưu trữ dữ liệu một cách bền vững: kiến trúc I/O và bus, truyền dữ liệu dựa trên ngắt và DMA, các thiết bị lưu trữ thứ cấp (đĩa từ và ổ đĩa thể rắn), độ tin cậy lưu trữ thông qua dự phòng như RAID, và ảo hóa I/O. Nó đề cập đến các cơ chế phần cứng và kiến trúc của đầu vào/đầu ra và tính bền vững. Nó không bao gồm trừu tượng phần mềm hệ thống tệp (hệ điều hành) và bộ nhớ đệm trên chip cũng như bộ nhớ chính (hệ thống phân cấp bộ nhớ và bộ nhớ đệm), mặc dù nó hoạt động chặt chẽ với cả hai.
Sub-topics
Core questions
- Các thiết bị được kết nối với bộ xử lý và bộ nhớ thông qua các bus và bộ kết nối như thế nào?
- Dữ liệu được truyền tải hiệu quả bằng cách sử dụng ngắt và truy cập bộ nhớ trực tiếp thay vì thăm dò bận rộn như thế nào?
- Đặc điểm hiệu suất và độ tin cậy của lưu trữ từ tính và thể rắn là gì?
- Dự phòng như RAID đánh đổi dung lượng để lấy độ tin cậy và hiệu suất như thế nào?
- I/O được ảo hóa và chia sẻ an toàn giữa các máy ảo và tiến trình như thế nào?
Key concepts
- Bus và bộ kết nối I/O
- I/O dựa trên ngắt
- Truy cập bộ nhớ trực tiếp (DMA)
- Đĩa từ và SSD
- Bộ điều khiển thiết bị
- RAID và dự phòng
- Độ tin cậy lưu trữ và MTTF
- Ảo hóa I/O
- Thông lượng và độ trễ
- I/O ánh xạ bộ nhớ
Key theories
- Mảng dự phòng của các đĩa không đắt (RAID)
- Kết hợp nhiều đĩa thương phẩm với phân dải dữ liệu và chẵn lẻ hoặc nhân bản tạo ra bộ nhớ lớn hơn, nhanh hơn và đáng tin cậy hơn một đĩa đơn; các cấp độ RAID chính thức hóa sự đánh đổi giữa dung lượng, hiệu suất và khả năng chịu lỗi.
- Truyền I/O tách rời
- Truy cập bộ nhớ trực tiếp và I/O dựa trên ngắt cho phép các thiết bị truyền dữ liệu đến và đi từ bộ nhớ mà không cần sự can thiệp liên tục của bộ xử lý, chồng chéo I/O với tính toán và cải thiện thông lượng hệ thống tổng thể.
Mechanisms
Các thiết bị ngoại vi gắn vào hệ thống thông qua các bus và bộ điều khiển và báo hiệu cho bộ xử lý bằng các ngắt. Dữ liệu lớn được di chuyển bằng truy cập bộ nhớ trực tiếp (DMA), chuyển các khối giữa một thiết bị và bộ nhớ mà không cần sự can thiệp của bộ xử lý cho từng từ. Lưu trữ thứ cấp lưu trữ dữ liệu bền vững trên đĩa từ hoặc flash, và các mảng thiết bị sử dụng phân dải (striping), nhân bản (mirroring) và chẵn lẻ (parity) (RAID) để cải thiện hiệu suất và chịu lỗi. Các lớp ảo hóa phân chia các thiết bị này giữa các máy khách.
Clinical relevance
Lưu trữ và I/O thường quyết định hiệu suất và độ bền của hệ thống đầu cuối: các cơ sở dữ liệu, máy chủ tệp và các ứng dụng chuyên sâu về dữ liệu thường bị giới hạn bởi thông lượng và độ trễ của lưu trữ hơn là tính toán. RAID và các sơ đồ dự phòng liên quan bảo vệ chống lại lỗi thiết bị trong các trung tâm dữ liệu, và ảo hóa I/O hiệu quả là điều cần thiết cho điện toán đám mây, nơi nhiều người thuê chia sẻ phần cứng vật lý.
History
Các máy tính ban đầu sử dụng I/O được lập trình và các kênh chuyên dụng; I/O dựa trên ngắt và truy cập bộ nhớ trực tiếp xuất hiện để chồng chéo I/O với tính toán. Đĩa từ thống trị lưu trữ thứ cấp trong nhiều thập kỷ, và đề xuất RAID năm 1988 của Patterson, Gibson và Katz đã thiết lập dự phòng như một kỹ thuật độ tin cậy tiêu chuẩn. Ổ đĩa thể rắn dựa trên flash sau đó đã định hình lại hệ thống phân cấp lưu trữ, và ảo hóa I/O trở nên trung tâm với sự phát triển của điện toán đám mây.
Debates
- Lưu trữ phân tách so với lưu trữ cục bộ
- Có một cuộc thảo luận đang diễn ra về việc liệu lưu trữ nên được gắn cục bộ vào tính toán hay phân tách qua các mạng nhanh; phân tách cải thiện việc sử dụng và tính linh hoạt trong các trung tâm dữ liệu nhưng làm tăng độ trễ và phụ thuộc vào các bộ kết nối hiệu suất cao.
Key figures
- David A. Patterson
- Garth Gibson
- Randy H. Katz
- John L. Hennessy
Related topics
Seminal works
- hennessy2019
- patterson1988raid
- silberschatz2018
Frequently asked questions
- Truy cập bộ nhớ trực tiếp là gì và tại sao nó hữu ích?
- Truy cập bộ nhớ trực tiếp (DMA) cho phép một thiết bị truyền các khối dữ liệu đến hoặc đi từ bộ nhớ chính mà không cần bộ xử lý sao chép từng từ. Điều này giải phóng bộ xử lý để thực hiện các công việc khác trong quá trình truyền, chồng chéo I/O với tính toán và cải thiện đáng kể thông lượng cho việc di chuyển dữ liệu lớn.
- RAID có đảm bảo dữ liệu của tôi an toàn không?
- Không. RAID cải thiện tính khả dụng và chịu được một số lỗi thiết bị bằng cách lưu trữ thông tin dự phòng, nhưng nó không phải là một bản sao lưu: nó không bảo vệ chống lại việc xóa nhầm, hỏng dữ liệu, lỗi đa thiết bị vượt quá khả năng chịu lỗi của nó hoặc các thảm họa cấp độ trang web, vì vậy các bản sao lưu riêng biệt vẫn cần thiết.