Vì sao SSD phải ghi nhiều dữ liệu hơn ứng dụng yêu cầu?
Garbage collection, TRIM và vùng dự phòng cùng tham gia quản lý NAND. Hiểu các cơ chế này giúp đọc hiệu năng ghi và độ bền SSD đúng hơn.
SSD có thể phải ghi vào bộ nhớ NAND nhiều dữ liệu hơn lượng ứng dụng gửi xuống, vì bộ điều khiển còn phải di chuyển dữ liệu và thu hồi các block. Phần ghi thêm được mô tả bằng write amplification, thường dịch là khuếch đại ghi. Nó là một yếu tố quan trọng của hiệu năng duy trì và độ bền.
Người dùng chỉ nhìn thấy thao tác lưu tệp hoặc cập nhật cơ sở dữ liệu. Bên dưới, SSD phải quản lý vị trí vật lý của dữ liệu, chỗ trống và các vùng đã cũ. Vì vậy, tốc độ ghi trong một bài thử ngắn chưa giải thích hết cách ổ hoạt động sau một thời gian sử dụng.
Ghi theo page, xóa theo block
Tài liệu hỗ trợ SSD của Samsung mô tả dữ liệu NAND được ghi theo page nhưng xóa theo đơn vị lớn hơn là block. Khi một phần dữ liệu không còn cần, không thể đơn giản ghi đè từng page đã dùng như viết lại chữ trên màn hình.
Tài liệu Dell về FTL giải thích bộ điều khiển dùng lớp ánh xạ để nối địa chỉ logic mà máy tính nhìn thấy với vị trí vật lý trong NAND. Khi cập nhật dữ liệu, nội dung mới có thể được ghi sang page còn trống và bản cũ được đánh dấu không còn hợp lệ. Đối với ứng dụng, địa chỉ logic vẫn có thể giữ nguyên.
Sự tách biệt này là nền tảng để hiểu vì sao xóa tệp và xóa vật lý không phải một thao tác duy nhất. Máy tính có thể biết một vùng đã được giải phóng, trong khi bộ điều khiển cần thông tin và thời gian để thu hồi không gian NAND tương ứng.
Garbage collection dọn chỗ bằng cách di chuyển dữ liệu
TEAMGROUP mô tả garbage collection là quá trình gom dữ liệu còn hợp lệ và thu hồi các block chứa dữ liệu đã cũ. Trước khi xóa một block, dữ liệu tốt trong đó phải được giữ lại ở nơi khác. Chính việc chuyển này tạo thêm hoạt động đọc và ghi.
Sơ đồ minh họa trong bài cho thấy dữ liệu A đến D được thay bằng các phiên bản mới. Những page cũ không còn được dùng nhưng vẫn chiếm chỗ vật lý. Để xóa block chứa chúng, bộ điều khiển chuyển các page còn hợp lệ sang block khác, rồi mới xóa block cũ.
Đây là mô hình đơn giản để giải thích nguyên lý, không phải bản đồ bố trí của một SSD cụ thể. Firmware thực tế có nhiều thuật toán và chiến lược lựa chọn block. Không thể nhìn sơ đồ rồi suy ra thời gian thu hồi hay hiệu suất của mọi sản phẩm.
Hệ số khuếch đại ghi cần được đọc cùng tải làm việc
Trong bài kỹ thuật về bố trí dữ liệu, Samsung định nghĩa hệ số WAF bằng lượng ghi của SSD chia cho lượng ghi từ host. Nó giúp biểu đạt phần công việc nội bộ ngoài yêu cầu ghi ban đầu.
Ví dụ giả định, nếu host gửi 10 GB còn bộ nhớ NAND phải nhận tổng cộng 20 GB trong cùng phạm vi đo, WAF là 2. Các con số này chỉ minh họa phép chia, không phải kết quả thử nghiệm. Muốn so sánh thật phải biết phép đo đếm dữ liệu ở đâu và trong khoảng thời gian nào.
Mẫu ghi và mức độ trộn dữ liệu có vòng đời khác nhau ảnh hưởng đến nhu cầu gom dọn. Khi block chứa cả dữ liệu còn dùng lâu lẫn dữ liệu bị thay thường xuyên, việc thu hồi có thể phải chuyển nhiều phần còn hợp lệ. Vì thế, cùng một ổ nhưng tải làm việc khác nhau có thể cho hành vi khác.
TRIM cung cấp thông tin, không thay toàn bộ việc dọn dẹp
TRIM cho phép hệ điều hành thông báo vùng dữ liệu không còn hợp lệ để SSD không phải bảo tồn nó khi thu gom. Cơ chế này và garbage collection có quan hệ hỗ trợ, nhưng không phải hai tên cho cùng một bước. Một bên truyền thông tin; bên kia tổ chức lại không gian vật lý.
Khả năng hỗ trợ trên ổ cũng chưa chứng minh lệnh đi được qua toàn bộ đường lưu trữ. Samsung lưu ý hoạt động còn phụ thuộc hệ điều hành và hệ thống. Khi đánh giá máy thật, nên kiểm tra tài liệu của cấu hình đang dùng thay vì mặc định mọi kết nối đều có hành vi giống nhau.
Không nên bật tắt ngẫu nhiên các tính năng chỉ vì một kết quả tốc độ tức thời. Một phép thử có ích phải gắn với công việc thực tế, trạng thái ổ và cách đo rõ ràng. Bài viết không đưa lệnh thay đổi cấu hình hay xóa dữ liệu trên máy người đọc.
Vùng dự phòng và wear leveling giải quyết các phần khác nhau
Kingston giải thích over-provisioning là phần dung lượng được dành cho bộ điều khiển thay vì hiện toàn bộ cho người dùng. Không gian này tạo chỗ làm việc cho quản lý block và có thể giúp duy trì hiệu năng, độ bền tùy thiết kế và tải.
Wear leveling lại hướng đến phân bố mức hao mòn NAND. NAND chỉ chịu hữu hạn chu kỳ ghi/xóa; tập trung thao tác quá nhiều vào một vùng sẽ không có lợi. Vùng dự phòng, phân bố hao mòn và thu gom phối hợp với nhau nhưng không thể thay thế nhau bằng một nhãn tính năng.
Không có một tỷ lệ chừa trống bảo đảm kết quả giống nhau cho mọi SSD. Cũng không thể suy ra tuổi thọ còn lại chỉ từ WAF trong một lần đo. Cần xét giới hạn của sản phẩm, dữ liệu giám sát và đặc điểm công việc; thông số của một mẫu ổ không phải cam kết chung cho tất cả NAND.
Điều hữu ích nhất là hiểu vì sao tốc độ ghi ngắn hạn, hiệu năng duy trì và độ bền là ba câu hỏi khác nhau. SSD phải làm việc nhiều hơn những gì ứng dụng nhìn thấy. Đánh giá đúng cần tính đến công việc nền ấy, thay vì chỉ dựa vào con số tốc độ lớn nhất.
Ảnh: Music Sorter tại English Wikipedia, qua Wikimedia Commons, CC BY-SA 3.0, dùng nguyên bản. Sơ đồ giải thích thu hồi block, không thể hiện kiến trúc một sản phẩm cụ thể.
Nguồn tham khảo
Dell: FTL và quản lý SSD; Samsung: TRIM và garbage collection; Samsung: bố trí dữ liệu và WAF; TEAMGROUP: thu hồi NAND; Kingston: vùng dự phòng. Đối chiếu ngày 26/10/2026; bài kiến thức, không phải công bố SSD mới hay kết quả dùng thử.