Điều gì xảy ra với các tệp sau khi bạn xóa nó khỏi SSD?
Việc xóa một tệp đồng nghĩa với việc nó nên biến mất vĩnh viễn. Đó là lý do hầu hết mọi người cho rằng khi bạn xóa một tệp và sau đó dọn sạch Thùng rác (trên macOS) hoặc Recycle Bin (trên Windows), tệp đó sẽ bị xóa vĩnh viễn. Trên thực tế, điều này không phải lúc nào cũng đúng, do cách thức hoạt động khi bạn xóa một tệp.
Cơ chế thực sự của việc xóa tệp (trên ổ cứng)
Hệ điều hành (OS) trên máy tính của bạn chính là bộ phận xử lý việc xóa tệp. Suy cho cùng, hệ điều hành là giao diện cho phép bạn yêu cầu phần cứng thực hiện các tác vụ. Khi bạn nhấn Xóa, về cơ bản, hệ điều hành không xóa vĩnh viễn dữ liệu đó khỏi ổ đĩa.
Thay vào đó, hệ điều hành chỉ xóa tham chiếu (hay "con trỏ", theo ngôn ngữ lập trình) đến tệp đó khỏi bảng chỉ mục của hệ thống tệp. Bằng cách này, tệp hoặc thư mục sẽ không còn xuất hiện ở vị trí ban đầu vì hệ điều hành không "nhìn thấy" nó nữa. Đồng thời, bằng việc xóa tham chiếu trong bảng chỉ mục, không gian lưu trữ của tệp đó được đánh dấu là "có thể sử dụng" – từ đó, dữ liệu mới có thể được ghi đè lên.
Như vậy, điều này khiến bạn tưởng rằng tệp đã bị xóa khỏi ổ đĩa, nhưng thực tế nó vẫn tồn tại – chỉ là không còn "tham chiếu" để hiển thị mà thôi. Ví dụ: nếu bạn có 240GB dung lượng trống và xóa một tệp 10GB, hệ thống sẽ hiển thị rằng bạn còn 250GB dung lượng khả dụng, mặc dù dữ liệu của tệp đó vẫn nằm trên ổ đĩa cho đến khi bị ghi đè.
Cách SSD lưu trữ và xóa dữ liệu khác biệt
Khác với HDD truyền thống, SSD sử dụng bộ nhớ flash NAND – nơi dữ liệu được tổ chức thành các khối (blocks) và trang (pages). Cấu trúc lưu trữ này đóng vai trò then chốt trong việc phân biệt cách SSD lưu trữ và xóa dữ liệu so với HDD. Một thành phần quan trọng khác khiến SSD trở nên đặc biệt là chúng có một bộ điều khiển (controller) quản lý quá trình ghi, đọc và xóa dữ liệu.
Chính vì hai yếu tố trên, quy trình xóa dữ liệu trên SSD cũng khác biệt đáng kể. Khi bạn xóa một tệp trên SSD, hệ điều hành gửi một lệnh TRIM để thông báo cho ổ đĩa biết những khối dữ liệu nào không còn cần thiết và nên được dọn dẹp. Tuy nhiên, SSD không lập tức xóa dữ liệu trong những khối đó. Thay vào đó, nó chỉ đánh dấu các khối là "trống".
Điều quan trọng nhất là SSD phải xóa dữ liệu khỏi các khối trước khi ghi dữ liệu mới vào – SSD không ghi đè dữ liệu như HDD.
Do đó, các khối được đánh dấu là trống sẽ được xóa bởi quá trình thu gom rác (garbage collection) bên trong SSD. Quá trình này chạy trong nền để:
-
Tích hợp dữ liệu hợp lệ từ các khối khác nhau
-
Xóa các khối đã được đánh dấu trống kể từ lần thu gom trước đó
Quá trình thu gom rác cũng đóng vai trò quan trọng trong việc duy trì hiệu suất SSD và kéo dài tuổi thọ thông qua cơ chế wear leveling (cân bằng hao mòn).
Liệu bạn có thể khôi phục tệp đã xóa từ SSD không?
Các công cụ khôi phục tệp phụ thuộc vào cách dữ liệu bị xóa để hoạt động. Khi bạn sử dụng một công cụ khôi phục để tìm lại dữ liệu đã xóa, nó sẽ quét ổ đĩa để tìm các tệp còn nguyên vẹn nhưng không còn tham chiếu. Công cụ này cố gắng khôi phục lại các tham chiếu đến những tệp đó để chúng có thể được truy cập lại.
Trên SSD, việc bạn có thể khôi phục dữ liệu đã xóa hay không phụ thuộc vào việc lệnh TRIM (thường được bật mặc định trên các hệ điều hành hiện đại) đã xử lý các tệp đó chưa:
-
Nếu bạn thử khôi phục trước khi quá trình thu gom rác (garbage collection) chạy, bạn vẫn có thể lấy lại tệp.
-
Tuy nhiên, nếu quá trình thu gom rác đã xóa các khối dữ liệu, bạn sẽ không thể khôi phục được.
Quá trình thu gom rác thường chạy sau một khoảng thời gian ngắn. Do đó, bất kỳ dữ liệu nào bạn xóa đều được dọn dẹp tương đối nhanh, làm giảm đáng kể khả năng khôi phục dữ liệu trên SSD.
Nếu bạn sử dụng tính năng xóa an toàn (secure deletion) trên SSD, việc khôi phục sẽ trở nên bất khả thi, vì các khối dữ liệu bị xóa gần như ngay lập tức.
Việc xóa dữ liệu không có nghĩa là nó biến mất vĩnh viễn
Mặc dù về lý thuyết, việc xóa dữ liệu đồng nghĩa với việc nó biến mất và không thể khôi phục, nhưng thực tế không phải lúc nào cũng vậy – SSD của bạn chỉ đánh dấu các khối chứa dữ liệu đã xóa là "sẵn sàng để xóa". Chỉ khi quá trình thu gom rác (garbage collection) chạy, dữ liệu mới bị xóa vĩnh viễn.
May mắn thay (hoặc không may, tùy vào tình huống), quá trình thu gom rác thường không mất nhiều thời gian để kích hoạt sau khi bạn xóa một tệp. Chính vì vậy, nếu bạn vô tình xóa một tệp quan trọng, rất có thể bạn sẽ không bao giờ lấy lại được nó.