Khi bạn mua ổ SSD về gắn vào con PC xịn xò của mình, thường bạn sẽ thấy rằng dung lượng ổ thực tế hiển thị trên máy tính luôn thấp hơn so với số được nhà sản xuất quảng cáo. Ví dụ, một ổ SSD 8TB có thể chỉ còn khoảng 7TB khi gắn vào PC mà thôi. Vì sao có sự khác biệt này, vì sao dung lượng SSD thấp hơn thực tế?
Lý do 1: cách đo của Windows và cách đo của nhà sản xuất khác nhau
Với đa số các nhà sản xuất, họ dùng như sau: 1 kilobyte = 1.000 byte, 1 megabyte = 1.000 kilobyte, 1 gigabyte = 1.000 megabyte, và 1 terabyte = 1.000 gigabyte.
Trong khi đó, Winodws lại dùng đúng chuẩn “nhị phân”, tức là 1 kilobyte = 1.024 byte, 1 megabyte = 1.024 kilobyte, 1 gigabyte = 1.024 megabyte, và 1 terabyte = 1.024 gigabyte.
Ở mức 1KB (kilobyte), sự khác biệt chỉ là 24 byte, nên chênh lệch không đáng kể giữa cách mà Windows và nhà sản xuất đo lường. Nhưng khi bạn lên đến nhiều TB, khoảng cách này sẽ càng lúc càng rộng ra. Ví dụ, với một ổ SSD 1TB, chênh lệch nào vào khoảng 7,4%, như vậy Windows sẽ chỉ hiện thị dung lượng ổ đĩa của bạn là 0,931TB, hay 931GB mà thôi. Còn với một ổ 8TB, dung lượng thực tế sẽ vào khoảng 7,3TB.
Lý do 2: Overprovisioning
Trước khi đi tiếp, chúng ta hãy cùng ôn lại các SSD hoạt động 1 chút.
Ổ SSD mà bạn thấy thực chất là một loạt các chip nhớ được đóng lại thành một ổ. Mỗi con chip nhớ này sẽ sắp xếp dữ liệu thành các “page”. Một số nhà sản xuất có thể sẽ dùng mức 2K, 4K, 8K, hoặc 16K mỗi page tùy thiết kế của họ.
Nhiều page sẽ được tổ chức thành 1 block, thường sẽ có 128 đến 256 page mỗi block. Như vậy kích thước mỗi block sẽ từ 256KB đến 4MB.
Vấn đề là hiện nay mỗi khi ổ SSD xóa dữ liệu, nó chỉ xóa được từng block một. Ghi mới thì không vấn đề gì, vì bạn chỉ cần ghi vào thôi. Nhưng nếu cần update các file hiện tại thì sao, hoặc ghi đè lên file cũ thì sao? Đa số hệ điều hành sẽ xử lý việc này bằng cách: copy dữ liệu của cả block vào RAM, xóa block này đi, sau đó ghi mới nội dung của block cũ + những nội dung cần update.
Nếu ổ đĩa bị đầy và không còn page trống, SSD buộc phải scan ổ đĩa để tìm các block được đánh dấu là xóa (nhưng chưa bị xóa thật sự). Lúc này SSD mới thật sự xóa đi các block này và ghi dữ liệu mới vào. Đó là lý do vì sao SSD sẽ ghi dữ liệu chậm đi khi bạn dùng một thời gian mà không chừa nhiều dung lượng trống (vì lúc đó SSD phải scan lại cả quy trình trên). SSD có một quy trình gọi là garbage collection, tạm gọi là thu gom rác. Quy trình này giúp giảm thiểu tác động tới hiệu năng ghi cũng như tuổi thọ ổ SSD bằng cách chuyển một số tác vụ sang chạy ngầm.
Để đảm bảo quá trình ghi dữ liệu được nhanh chóng, ổ SSD cần chừa ra một số block trống dành cho việc này, và đây gọi là overprovisioning. Ngoài ra, overprovisioning còn giúp SSD giải quyết vấn đề một số block có thể bị hỏng (thì vẫn còn cái dự phòng) cũng như phục vụ cho quy trình garbage collection.
Quảng cáo
Theo trang web của Samsung và Seagate, mức độ overprovisioning được dùng trên các ổ SSD hiện nay vào khoảng ~7%. Một số ổ đặc biệt có thêm công nghệ overprovisioning động tùy theo dung lượng mà người dùng đang xài thực tế nữa.
Thỉnh thoảng bạn cũng sẽ thấy các ổ SSD có dung lượng khá lạ, ví dụ như 200GB, 240GB thay vì 256GB. Đây thực chất là cùng một loại ổ nhưng nhà sản đã trừ ra cho bạn phần dung lượng dùng cho overprovisioning. Khi đó, ổ 200GB thực chất là ổ 256GB nhưng có mức độ overprovisioning là 28%, ổ 240GB là 7%, còn ổ 256GB là 0%.
Lý do thứ 3: định dạng dùng (format) ổ đĩa là gì
Lấy ví dụ với format NTFS của Windows 10, nó sẽ chiếm thêm một phần “overhead”, là phần dung lượng để hệ điều hành quản lý ổ đĩa và phân vùng. Trong này chứa các thứ như Master File Table (một cơ sở dữ liệu thu nhỏ để biết file nào nằm ở đâu), boot table, và nhiều thứ khác. Tuy nhiên phần này thường không đáng kể.
Tham khảo: PCGamer