Khôi phục dữ liệu bị xóa do lệnh TRIM SSD

Trong bài viết này, chúng ta sẽ nói về lệnh TRIM xuất hiện vào đầu kỷ nguyên SSD (khoảng 14 năm trước) và trở thành một tính năng gốc trong tất cả SSD hiện có. Vậy nó là gì và nó hoạt động như thế nào? Lệnh TRIM ảnh hưởng ra sao đến dữ liệu và làm thế nào để lấy lại dữ liệu bị xóa bởi lệnh này?

cuu du lieu TRIM SSD 30 1


Cứu dữ liệu Bách Khoa KHUYẾN CÁO: Bạn chỉ nên áp dụng phương pháp khôi phục dữ liệu này cho các dữ liệu không quan trọng. Với dữ liệu quan trọng như thông tin cá nhân, dữ liệu công việc, hình ảnh, video, tài liệu,… hãy gọi cho chuyên gia của chúng tôi qua số điện thoại 190063619602437852555 để nhận hỗ trợ chuyên sâu. Cứu dữ liệu Bách Khoa KHÔNG chịu trách nhiệm về sự cố dữ liệu khi bạn thực hiện theo các hướng dẫn của chúng tôi.


Mục đích ra đời của lệnh TRIM

TRIM là lệnh SSD bên trong hoạt động song song với Hệ điều hành. Theo mặc định, TRIM được tích hợp đầy đủ trên tất cả các hệ điều hành bắt đầu từ Windows Vista SP1, Windows 7 và MacOS X 10.6 (khoảng từ 2009-2010).

Chúng ta biết rằng chip nhớ NAND có thể ghi và đọc thông tin cực nhanh. Nhưng VIẾT LẠI sẽ cực kỳ chậm vì chip nhớ NAND phải:

  • 1. Tìm nơi ghi dữ liệu mới;
  • 2. Xóa dữ liệu cũ (điền vào ô NAND bằng số 0);
  • 3. Thực hiện thao tác viết.

Để khắc phục quá trình xử lý chậm như vậy, các nhà phát triển SSD quyết định thêm lệnh TRIM (trình thu thập rác) để xóa tất cả dữ liệu được đánh dấu là đã xóa trong nền. Nó giúp tiết kiệm thời gian trong tương lai, khi người dùng quyết định ghi dữ liệu mới vào nơi đã được “TRIM” và dọn sạch. 

Làm thế nào để SSD biết dữ liệu nào cần được “TRIM”? Hệ điều hành sẽ cho ổ đĩa biết dữ liệu nào được đánh dấu là “đã xóa” và SSD chỉ cần xóa các khối thuộc vùng đã xóa.

cuu du lieu TRIM SSD 2
Sơ đồ hoạt động TRIM
cuu du lieu TRIM SSD 3
Kích thước bằng không của các thư mục đã “TRIM” trong DE

Đôi khi, SSD thay vi “TRIM” thậm chí còn có thể thực hiện một việc dễ dàng hơn. Trong trường hợp định dạng nhanh, SSD chỉ cần xóa trình dịch – chương trình chính xử lý các khu vực vật lý đến logic. Kết quả là SSD chỉ trả về số 0 khi cố gắng đọc bất kỳ dữ liệu nào bên trong (trình dịch logic mới không nhận diện dữ liệu vật lý cũ, vì vậy lượng dữ liệu nó “đọc” chỉ là số 0).

Đây cũng chính là điều tương tự mà máy ảnh kỹ thuật số có thể làm với thẻ mSD, SD và CF khi bạn định dạng nhầm dữ liệu các thiết bị này qua máy ảnh. Và trong khi khôi phục file RAW, bạn không thể tìm thấy bất cứ điều gì vì trình dịch đã bị xóa và phiên bản trình dịch mới cũng không quan tâm đến bất kỳ dữ liệu cũ nào.

Khó khăn khi lấy lại dữ liệu bị xóa do lệnh TRIM

Trong trường hợp dữ liệu bị xóa do TRIM, chúng tôi đang sử dụng PC-3000 Flash và phương pháp của chúng tôi để đọc bộ nhớ NAND từ mSD/SD và tái tạo lại hình ảnh. Sau đó, chúng tôi có thể xem dữ liệu ở dạng RAW và đôi khi thậm chí xây dựng một hình ảnh với cấu trúc thư mục hoàn chỉnh hoặc một phần.

Nhưng phương pháp SSD chip-off(*) không hoạt động vì tất cả các SSD hiện đại đều chứa mã hóa phần cứng đầy đủ hoặc XOR(**) thích ứng với tính năng nén dữ liệu, vì vậy chúng ta sẽ không thấy bất kỳ dữ liệu nào bên trong NAND trước khi giải mã.

(*): SSD chip-off là kỹ thuật dùng để phục hồi dữ liệu từ chip nhớ đã bị tháo rời khỏi ổ SSD theo dạng vật lý.

(**): Exclusive OR (XOR) là phép toán logic tạo ra các bit chẵn lẻ để kiểm tra lỗi và khả năng chịu lỗi. Phương pháp này tạo 2 bit đầu vào và 1 bit đầu ra. Nếu 2 bit đầu vào giống nhau thì bit ra là 0 và ngược lại là 1.

Với cách xử lý dữ liệu trên HDD đã định dạng trước đây, bạn chỉ cần một vài cú nhấp chuột vào nút trong DE là đã có cấu trúc thư mục hoàn chỉnh và hàng tá dữ liệu ở định dạng RAW.

Nhưng phương pháp khôi phục dữ liệu ổ cứng đó ngày nay đã không còn nữa, vì ngay cả HDD cổ điển dựa trên công nghệ Bản ghi từ tính Shingle (SMR) cũng đang sử dụng TRIM! Kết quả là, sau khi định dạng nhanh, trình dịch sẽ bị xóa và bạn sẽ chỉ nhận được các số 0 thay vì dữ liệu thực.

Nhưng hãy quay lại với SSD. Phục hồi SMR sẽ là một chủ đề khác mà chúng tôi đề cập trong tương lai.

Vì vậy, hãy tưởng tượng rằng khách hàng đã vô tình định dạng ổ SSD của mình và bây giờ anh ta muốn khôi phục dữ liệu. Nó sẽ có thể làm được? Nó phụ thuộc vào những thứ như: dung lượng ổ, số lượng dữ liệu ghi trên ổ, v.v. Thông thường, phải mất từ ​​10 phút đến 24 giờ thì ổ mới xóa hoàn toàn dữ liệu ở chế độ nền.

Bộ điều khiển SSD hiện đại có cấu trúc đa lõi, cho phép chúng thực hiện một số việc cùng một lúc. Ví dụ: khi bạn đang cố quét ổ đĩa và tìm thấy ít nhất thứ gì đó ở dạng RAW bằng Trình trích xuất dữ liệu, một lõi CPU khác sẽ tiếp tục quá trình chạy nền và tất cả dữ liệu sẽ tiếp tục bị xóa.

Điều chính bạn nên nhớ – ổ đĩa liên tục TRIM dữ liệu, ngay cả khi nó chỉ được cắm vào nguồn điện! Nếu bạn ngắt kết nối SSD dựa trên SATA khỏi cáp SATA – điều đó sẽ không giúp ích gì cho bạn vì CPU sẽ tiếp tục xóa ở chế độ nền.

cuu du lieu TRIM SSD 4
Khởi tạo và xử lý ổ đĩa mặc định

Ngăn lệnh TRIM tiếp diễn trong SSD

Cách duy nhất để ngăn chặn TRIM là vô hiệu hóa quyền truy cập từ CPU vào các chip NAND! Làm thế nào chúng ta có thể làm điều đó? Cách duy nhất là rút ngắn ổ đĩa (?) ở CHẾ ĐỘ AN TOÀN (Safe mode) – nó sẽ giúp chúng tôi vô hiệu hóa mọi quyền truy cập vào chip NAND và sẽ giữ cho ổ đĩa chỉ hoạt động ở chế độ CPU-RAM. Vì vậy, chúng ta có thể ghi nội dung gì đó vào RAM hoặc đọc thông tin từ chip RAM nhưng không thể tác động đến chip NAND.

cuu du lieu TRIM SSD 5
Ví dụ về rút ngắn ổ đĩa ở CHẾ ĐỘ AN TOÀN trên ổ HP EX900 M.2 NVMe
cuu du lieu TRIM SSD 6
Lược đồ CHẾ ĐỘ AN TOÀN trên mọi ổ SSD

 Bây giờ, chúng ta cần một tải – một firmware cụ thể đã được tối ưu hóa do các nhà phát triển Cứu dữ liệu Bách Khoa tạo ra. Nó giống như một firmware nhỏ tương thích với bộ điều khiển mục tiêu, nơi các kỹ sư tại Cứu dữ liệu Bách Khoa tắt hoàn toàn mọi hoạt động nền và mở khóa một số tính năng bổ sung đã bị khóa trước đó. Nếu chúng tôi có công cụ tương thích, chúng tôi có thể thử tải Trình tải – the loader vào ổ đĩa RAM và có quyền truy cập vào Chế độ kỹ thuật – Techno mode của ổ SSD hiện tại. Sau đó chúng tôi cố gắng xây dựng lại trình dịch bằng cách sử dụng bản sao cũ của nó và tải nó lên ổ đĩa RAM. Sau đó, chúng tôi có thể thử truy cập dữ liệu trong Trình trích xuất dữ liệu – Data Extractor bằng Trình tải tùy chỉnh mà chúng tôi đã làm trước đây. Trong trường hợp này, ổ đĩa sẽ hoạt động ở chế độ single channel (đơn kênh) – chậm nhưng không có bất kỳ hoạt động nền nào.

cuu du lieu TRIM SSD 7
Sơ đồ Chế độ Kỹ thuật sau khi tải Trình tải lên – the Loader uploading

Lưu ý trước khi khôi phục dữ liệu bị xóa bởi TRIM

Một số lưu ý quan trọng:

  1. TRIM hoạt động rất nhanh. Nếu nội dung nào đó trong SSD bị xóa hoặc ổ đĩa được định dạng, bạn chỉ có vài phút trước khi dữ liệu biến mất vĩnh viễn;
  2. Không cắm ổ đĩa vào nguồn điện! Bất kỳ kết nối ổ đĩa nào với bên ngoài để nghiên cứu sâu hơn (thông qua SATA, M.2, USB, v.v.) sẽ khởi động TRIM trong CPU SSD!
  3. Ổ đĩa đích PHẢI ĐƯỢC HỖ TRỢ bởi SSD PC-3000. Nếu nó không được hỗ trợ, chúng tôi không thể tắt TRIM hoặc ngăn chặn việc xóa dữ liệu

=>> Đọc thêm: Cứu dữ liệu ổ cứng bị cháy

Giải pháp ngăn lệnh TRIM và cứu dữ liệu bị xóa 

Để chứng minh nó hoạt động như thế nào, hãy để chúng tôi cho bạn xem một ví dụ thực tế. Chúng tôi nhận được ở đây một ổ đĩa không có tên (SmartBuy NOVA) dựa trên bộ điều khiển SM2259XT và hai chip NAND do Intel/Micron sản xuất.

cuu du lieu TRIM SSD 8

cuu du lieu TRIM SSD 9

Chúng tôi đang kiểm tra nội dung trên ổ đĩa này và nó chứa đầy dữ liệu người dùng. Một số video, hình ảnh, tài liệu – mọi thứ mà một khách hàng ngẫu nhiên đang sử dụng hàng ngày.

cuu du lieu TRIM SSD 10

Bây giờ, hãy thử định dạng ổ đĩa này bằng nút Quick Format trên Windows;

cuu du lieu TRIM SSD 11

Như bạn có thể thấy, dữ liệu bên trong đã biến mất.

cuu du lieu TRIM SSD 12

cuu du lieu TRIM SSD 13

Trong Universal Utility (tiện ích chung) và trong Data Extractor (trình trích xuất dữ liệu), chúng ta sẽ chỉ thấy các số 0, vì DE đang sử dụng trình dịch ổ đĩa gốc nhưng đó lại là một trình dịch mới được tạo sau khi định dạng ổ đĩa nhanh.

cuu du lieu TRIM SSD 14
Số 0 thay vì dữ liệu trong Universal Utility trong LBA 1 232 134
cuu du lieu TRIM SSD 15
Phân vùng trống dữ liệu sau khi định dạng ổ đĩa
cuu du lieu TRIM SSD 16
RAW không có bất kỳ dữ liệu cũ nào – chỉ có bản ghi NTFS mới sau khi định dạng phân vùng

Bây giờ chúng ta không có nhiều thời gian vì chúng ta càng quét ổ đĩa thì càng có nhiều khối bị xóa ở chế độ nền. Chúng ta cần phải nhanh chóng rút ngắn ổ đĩa ở CHẾ ĐỘ AN TOÀN – thủ thuật này sẽ giúp chúng ta vô hiệu hóa chip NAND khỏi CPU.

cuu du lieu TRIM SSD 17 

Bây giờ, hãy giữ cho ổ đĩa không bị chập mạch, vì đối với bộ điều khiển Silicon Motion và Phison, chúng ta cần cấp nguồn lại cho chúng một vài lần trong quá trình khởi tạo ổ đĩa. 

=>> Đọc thêm: Khôi phục dữ liệu SSD MacBook qua những giai đoạn khác nhau

SSD phải luôn ở CHẾ ĐỘ AN TOÀN.

Hãy khởi chạy Tiện ích tương thích cho SM2259XT (ví dụ – Silicon Power) và tải lên Trình tải để kích hoạt các chức năng bổ sung của ổ đĩa.

cuu du lieu TRIM SSD 18

cuu du lieu TRIM SSD 19

cuu du lieu TRIM SSD 20

Đôi khi chúng ta cần chọn Trình tải tương thích theo cách thủ công

cuu du lieu TRIM SSD 21

cuu du lieu TRIM SSD 22

Khi ổ đĩa hoàn tất quá trình khởi tạo, có thể khởi chạy quá trình xây dựng trình dịch. Drive sẽ quét Khu vực Dịch vụ, sẽ lấy một số mô-đun SA quan trọng chứa thông tin về các sector  được phân bổ lại hoặc bị xóa, sector xấu và tốt, đồng thời sẽ tạo một trình dịch mới ở chế độ tự động.

cuu du lieu TRIM SSD 23

Quá trình xây dựng trình phiên dịch đã hoàn tất. Chuyển tới Trình trích xuất dữ liệu và thực hiện tác vụ mới bằng cách sử dụng bộ công cụ PC-3000 UTILITY làm nguồn.

cuu du lieu TRIM SSD 24

cuu du lieu TRIM SSD 25

 Khi mọi thứ đã sẵn sàng, trước khi chụp ảnh ổ đĩa, trước tiên hãy kiểm tra LBA 1 232 134 được lấp đầy bằng các số 0 sau định dạng ổ đĩa. Bây giờ, nó chứa dữ liệu!

cuu du lieu TRIM SSD 26

Sau khi xây dựng trình dịch, LBA 1 232 134 chứa dữ liệu, không phải số 0 như lúc trước!

Và tất nhiên, chúng ta phải sử dụng trình khôi phục RAW để xem được file. Nếu chúng tôi có một số dữ liệu – hãy dừng quá trình này và bắt đầu với việc tạo ảnh ổ đĩa hoàn chỉnh. Trong trường hợp ổ đĩa gặp sự cố, chúng tôi vẫn nhận được bản sao nội dung đầy đủ.

cuu du lieu TRIM SSD 27

Bây giờ, ở dạng RAW, chúng tôi thấy rất nhiều dữ liệu chỉ sau lần quét 1 000 000 LBA!

cuu du lieu TRIM SSD 28

Sao chép theo từng sector sang ổ đĩa khác để phân tích thêm

Khi quá trình sao chép hoàn tất, hãy quay lại RAW và cố gắng tìm thứ gì đó hữu ích. Như bạn có thể thấy, RAW chứa đầy dữ liệu! Thật không may, đôi khi Cấu trúc thư mục có thể biến mất do định dạng nhanh ghi đè Zero Block, bao gồm thông tin về các Master Boot và BOOT sectors. Nếu không có thông tin này Hệ thống tập tin sẽ không xuất hiện.

cuu du lieu TRIM SSD 29

Kết quả sau khi quét chỉ 10% RAW – rất nhiều tệp vẫn còn trên SSD

Nhưng Data Extractor là một trình rất mạnh mẽ và sau khi phân tích ổ đĩa, ngay cả trong trường hợp định dạng ổ đĩa, bạn vẫn có thể tìm thấy các bản sao phân vùng cũ và khôi phục chúng. Tất nhiên, nó có chất lượng kém hơn một bản FS hoàn chỉnh, nhưng tốt hơn nhiều so với một bản RAW.

Trên đây là lượng lớn thông tin về cách bạn có thể sử dụng PC-3000 SSD để ngăn chặn lệnh TRIM. Hãy tóm tắt những thông tin quan trọng nhất một lần nữa:

  • TRIM được bật theo mặc định trong mọi hệ điều hành và mọi ổ SSD kể từ năm 2010
  • Dữ liệu bắt đầu được “TRIM” từ 1 phút đến 24 giờ (tùy theo dung lượng ổ và lượng dữ liệu bị xóa);
  • Ngay cả việc định dạng nhanh cũng sẽ khiến trình dịch dữ liệu bị xóa. Tất cả dữ liệu sẽ được hiển thị dưới dạng ZEROES trong Trình trích xuất dữ liệu;
  • Cách duy nhất để ngăn chặn TRIM là tắt ổ đĩa khỏi nguồn điện hoặc giữ nó ở CHẾ ĐỘ AN TOÀN vĩnh viễn;
  • Vẫn có thể khôi phục dữ liệu sau khi xóa hoặc định dạng SSD, nhưng ổ đĩa phải được hỗ trợ bởi SSD PC-3000!

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

1900636196