Trong bài viết trước, mình đã giải thích rõ tại sao SSD bị giảm tốc độ thực thi sau 1 thời gian sử dụng. Tất nhiên mọi phương pháp khắc phục đều có giới hạn của nó bởi vì SSD KHÔNG được hệ điều hành thông báo ngay khi dữ liệu bị xóa (thay vào đó, hệ điều hành nó chỉ ĐÁNH DẤU là các ô nhớ này có thể được ghi dữ liệu mới mà ko cần quan tâm dữ liệu cũ - đây là cơ sở hoạt động của các phần mềm khôi phục dữ liệu, vì thực sự dữ liệu chưa bị mất, mà chẳng qua là hệ điều hành nó đánh dấu bỏ, do đó ta không thấy nó hiển thị trong HDH.
Khác với đĩa cứng truyền thống, có một lợi điểm là khi thông báo cho SSD biết khi chúng ta xóa (delete) file để SSD có thể xóa (delete) có thể xóa (delete) các trang (pages - 4 KB / page) ngay tức thì tại thời điểm mà chúng ta delete file trên HDH thay vì phải thực hiện toàn bộ quá trình "tẩy trắng" (erase) các khối dữ liệu như đã đề cập ở bài kia. Đây là ý tưởng ra đời của TRIM.
Windows 7 và Windows 2008 R2 đã hỗ trợ TRIM, nó được HDH dùng khi cúng ta xóa (delete) một file khỏi SSD. Khi HDH xóa một file trên SSD, nó sẽ cập nhật vào bảng file hệ thống (NTFS, HFS v.v...) nhưng ĐỒNG THỜI nó cũng thông báo cho SSD biết (thông qua TRIM - khi này TRIM được sử dụng nè) là cái trang (page) nào nên bị xóa ra khỏi SSD. Khi thao tác delete xảy ra, SSD phải đọc/chép toàn bộ block (521 KB) vào bộ nhớ đệm của nó (vì như đã nói ở trên Block là đơn vị nhỏ nhất có thể bị xóa, nó không thể xóa ở cấp độ Page). Sau đó nó xóa BLOCK đó trên SSD, tiếp do nó xóa PAGE trên bộ nhớ cache, sau đó nó chép ngược cái block trên cache (block trên Cache lúc này đã xóa những page ta cần xóa) về lại SSD, như hình sau:
Lưu ý: Quá trình XÓA file khi có TRIM sẽ lâu hơn bình thường không có TRIM, vì có TRIM là nó xóa thực sự, chứ không phải chỉ đánh dấu là đã xóa như thông thường, nhưng bù lại, chúng ta được cái lợi là không có sự chậm trễ khi chúng ta ghi file mới, vì bản thân những cái page đã bị xóa từ lâu rồi, nó ko xảy ra cái quá trình như trong cái hình ở bài viết bên trên.
Khác với đĩa cứng truyền thống, có một lợi điểm là khi thông báo cho SSD biết khi chúng ta xóa (delete) file để SSD có thể xóa (delete) có thể xóa (delete) các trang (pages - 4 KB / page) ngay tức thì tại thời điểm mà chúng ta delete file trên HDH thay vì phải thực hiện toàn bộ quá trình "tẩy trắng" (erase) các khối dữ liệu như đã đề cập ở bài kia. Đây là ý tưởng ra đời của TRIM.
Windows 7 và Windows 2008 R2 đã hỗ trợ TRIM, nó được HDH dùng khi cúng ta xóa (delete) một file khỏi SSD. Khi HDH xóa một file trên SSD, nó sẽ cập nhật vào bảng file hệ thống (NTFS, HFS v.v...) nhưng ĐỒNG THỜI nó cũng thông báo cho SSD biết (thông qua TRIM - khi này TRIM được sử dụng nè) là cái trang (page) nào nên bị xóa ra khỏi SSD. Khi thao tác delete xảy ra, SSD phải đọc/chép toàn bộ block (521 KB) vào bộ nhớ đệm của nó (vì như đã nói ở trên Block là đơn vị nhỏ nhất có thể bị xóa, nó không thể xóa ở cấp độ Page). Sau đó nó xóa BLOCK đó trên SSD, tiếp do nó xóa PAGE trên bộ nhớ cache, sau đó nó chép ngược cái block trên cache (block trên Cache lúc này đã xóa những page ta cần xóa) về lại SSD, như hình sau:
Lưu ý: Quá trình XÓA file khi có TRIM sẽ lâu hơn bình thường không có TRIM, vì có TRIM là nó xóa thực sự, chứ không phải chỉ đánh dấu là đã xóa như thông thường, nhưng bù lại, chúng ta được cái lợi là không có sự chậm trễ khi chúng ta ghi file mới, vì bản thân những cái page đã bị xóa từ lâu rồi, nó ko xảy ra cái quá trình như trong cái hình ở bài viết bên trên.
Tóm lại, khi xóa file, thì NGAY LẬP TỨC ta thấy file biết mất tức thì trên máy, vì hệ điều hành nó ĐÁNH DẤU là file đã xóa. Lúc này ta không còn quan tâm là ổ cứng làm cái quái gì nữa. Thực ra lúc này ổ cứng nào có TRIM thì lo mau mau mà xóa mấy cái page, ổ cứng nào KO CÓ TRIM thì an cư nhàn nhã. Ơ bên trên ta nói là quá trình xóa khi có TRIM lâu hơn, nhưng ta ko hề biết, vì nó đã bị HDH đánh dấu cho biến mất roài. Nó chậm ra sao là chuyện của ổ cứng, không phải chuyện của ta. Hơn nữa, khi ta GHI file, thì ra sẽ cảm nhận dc tốc độ nhanh đáng kể, vì khi có TRIM, chúng ta chỉ ghi data lên toàn page rỗng, kakaka. Lúc này thì ổ nào ko có TRIM sẽ hì hục xóa xóa và xóa đây..........
TRIM chỉ thể hiện tốc độ khi ta XÓA hẳn file cũ, và khi file mới thôi, vì như đã trình bày ở trên. Còn nếu ta chỉnh sửa file Word CÓ SẴN đi chẳng hạn, và bấm Táo + S để GHI ĐÈ lên, thì lúc này TRIM vô dụng, vì là ta ghi đè, mà ghi đè thì cái quá trình ở bài viết trước sẽ xay ra đấy ạ............. ^^!
==================
1/ Về mặt kỹ thuật bên trong:
Có TRIM, xóa chậm, ghi mới nhanh hơn ko TRIM, ghi đè thì bằng nhau..
2/ Về hiệu suất thực dụng bên ngoài mắt người cảm nhận:
Có TRIM, tốc độ xóa bằng không TRIM (vì HDH đánh dấu 1 phát là file biến mất ngay, còn lại ổ cứng làm gì chả ai biết). Tất nhiên ghi file mới thì nhanh hơn ko TRIM, ghi đè thì tốc độ bằng nhau.
Quảng cáo
3/ TRIM là cái cách mà HDH thông báo cho SSD biết là nên xóa page nào trên nó một cách tức thì tại thời điểm ta xóa file trên HDH. Nó chỉ là cái mà HDH nói chuyện với SSD thui ạ, nó là ngôn ngữ ạ, mà đã là ngôn ngữ thì cả 2 đều phải hiểu ạ. Nôm na là em trả lời cho bác bằng tiếng Việt thế này, bác muốn hiểu thì cũng phải biết tiếng Việt ạ.
Chúc anh em vui vè
============
CrystalShield sưu tầm, biên dịch và tổng hợp.