Ổ cứng thể rắn SSD . Nó hoạt động như nào và cách để khôi phục lại dữ liệu.

 Bài viết có sử dụng thông tin kỹ thuật chuyên sâu từ Roman Morozov, chuyên gia hỗ trợ kỹ thuật của ACELab được các kỹ thuật của Cứu dữ liệu Bách khoa biên dịch cho mọi thứ dễ hiểu. Nhưng thật sự vẫn khá khó hiểu với nhưng bạn không làm trong ngành.

Các thông tin có thể được cung cấp trong bài viết

phục hồi ổ ssd

cứu dữ liệu ssd hỏng

khôi phục dữ liệu ssd bị format

khả năng phục hồi dữ liệu trên ổ cứng ssd

ssd có bị mất dữ liệu không

mất dữ liệu ssd

hướng dẫn cứu dữ liệu ổ cứng

 

SSD thật là một công nghệ mới lạ. Mới lạ trong cách nó ghi dữ liệu, và thậm chí kỳ lạ hơn trong cách nó xóa thông tin. Trong hệ thống lưu trữ từ tính của ổ cứng HDD, người ta có thể xóa một tập tin và yên tâm rằng nội dung của nó vẫn còn đó cho đến khi được ghi đè vào một thời điểm nào đó trong tương lai. Nhưng việc đó không phải trên SSD.

SSD là là công nghệ hoàn toàn khác biệt. Nó khác trong việc xử lý dữ liệu bị xóa, xóa sạch bằng chứng không thể đảo ngược nền chip nhớ. Chỉ cần cấp nguồn cho SSD và nó sẽ bắt đầu thu gom rác nền, nó xóa các khối bị cắt ngay cả khi bạn kết nối nó thông qua thiết bị chặn ghi. Một file bị xóa trên SSD sẽ gần như biến mất ngay lập tức ngay cả trên khu vực chứa nội dung. Một điều nữa, SSD của bạn thường có dung lượng lưu trữ lớn hơn so với thực tế. 5 đến 15% dung lượng lưu trữ vật lý được dành riêng cho một nhóm block nhớ không có địa chỉ; bất kỳ dữ liệu nào bị xóa khỏi SSD sau đó được HĐH cắt xén có thể đi thẳng vào nhóm đó mà không có bất kỳ cơ hội truy cập kể cả với block.

Cho đến gần đây, cách duy nhất của bạn để truy cập bằng chứng đã xóa trên SSD sẽ là phải tháo bỏ chip khỏi bảng mạch chính và thực hiện việc đọc thông tin RAW. Việc phân tích chip tốn rất nhiều công sức, tốn thời gian (và cực kỳ tốn kém).  Với thiết bị hiện đại nhất các đối tác của chúng tôi ở một phòng thí nghiệm phục hồi dữ liệu pháp y và họ nói với chúng tôi rằng họ có thể khôi phục một ổ SSD bốn chip trong vòng hai tuần. Họ cũng nói rằng các ổ SSD có 10 chíp nhớ trở lên việc khôi phục là không thể. Đó chưa kể đến việc mã hóa dữ liệu cứng trong chíp điều khiển

Mã hóa?  Một khám phá gần đây chỉ ra rằng việc bảo vệ dữ liệu bằng BitLocker tích hợp trong Windows có xu hướng ủy thác công việc mã hóa dữ liệu cho bộ điều khiển SSD (trái ngược với việc mã hóa trên máy tính bằng CPU). Như được tìm thấy trong nghiên cứu, nhiều ổ SSD  giữ key chuỗi khóa mã hóa không được bảo vệ ngay trong các chip lưu trữ trên SSD.

Trong bài viết này, Chúng tôi sẽ nói về một sự phát triển gần đây về công khiệc khôi phục dữ liệu hay các chứng cứ điện tử cho thiết bị lưu trữ sử dụng ổ cứng SSD Cách mà các  chuyên gia ngăn chặn việc tự động xóa bỏ dữ liệu nền bằng chứng và cung cấp quyền truy cập vào toàn bộ dung lượng lưu trữ của đĩa bao gồm các khu vực không thể định địa chỉ như đã nói ở trên. Phương pháp này sử dụng một chế độ truy cập được gọi là “Chế độ Factory. Tuy nhiên, trước khi nói về chế độ truy cập của nhà máy( Factory)., trước tiên chúng ta hãy xem cách SSD lưu trữ thông tin và lý do tại sao việc hủy bằng chứng lại dễ dàng và rất khó để khôi phục lại dữ liệu trên nó.

Cách thức SSD lưu trữ thông tin như thế nào ?

Không giống như các ổ đĩa cứng từ tính sử dụng cách viết tuần tự nhiều hay ít (phân mảnh), ổ SSD bỏ qua việc viết tuyến tính.Thay vào đó, thông tin được chia thành các khối nhỏ được ghi đồng thời vào các chip NAND khác nhau. Việc viết song song này là lý do tại sao SSD nhanh như vậy. theo một cách nào đó chúng ta có thể tưởng tượng như một máy chủ có hàng trăm ổ cứng việc ghi một 1Mb vào sẽ được xé thành 100 phần và ghi cùng một lúc. Vậy về lý thuyết đã nhanh hơn 100 lần .  Và với ổ cứng SSD được bố trí hàng trăm thậm chí hàng ngàn luồng ghi thông tin vào chip nhớ NAND Flash và tất cả được cài đặt trên một bảng mạch duy nhất.

Điều gì sẽ xảy ra nếu bạn có một ổ SSD rẻ tiền và chỉ với một chip NAND? Ngay cả ổ SSD này cũng khó có thể ghi thông tin theo kiểu tuyến tính  tuần tự . Một chíp NAND Flash sẽ được chia thành nhiều khối, mỗi khối vật lý trong chip bộ nhớ được gán động một địa chỉ logic để giúp bộ điều khiển SSD thực hiện việc đọc ghi . Kết quả là nếu bạn có một thiế bị đọc  được toàn bộ thông tin chíp nhớ trả về là một đống hỗn độn. ( Giống như kiểu một quyển sách được cắt nhỏ từng chữ cái và trộn đều lên) chính vì vậy việc sắp sếp các thông tin đó thành có nghĩa là cực kỳ khó.

SSD (và hầu hết các loại phương tiện truyền thông trạng thái rắn khác) phải biên dịch các địa chỉ Block của  NAND để đánh dấu các block bị bad, hoặc các block có số lần đọc ghi tiệm cận với giới hạn. Mỗi block trên chíp nhớ NAND có tuổi thọ giới hạn. Các nhà sản xuất đánh giá các ổ SSD của họ trong khoảng 1000 đến 1500 chu kỳ ghi. Các yếu tố như khuếch đại ghi (một chuyên ngành SSD khác) ảnh hưởng tiêu cực đến tuổi thọ của SSD, trong khi thuật toán bộ nhớ đệm SLC thông minh làm giảm hao mòn vật lý của block ngay cả khi số lượng thao tác ghi lớn hơn mà không lưu vào bộ đệm. Chúng ta sẽ xem xét những điều này và nhiều yếu tố khác ảnh hưởng đến tuổi thọ của SSD trong bài viết tiếp theo của chúng tôi.

Điều thực sự quan trọng là việc khôi phục chỉ một tệp duy nhất có thể cực kỳ khó khăn nếu không có sự trợ giúp của bộ điều khiển gốc của SSD. Chuyên gia trước tiên sẽ phải xây dựng lại bảng dịch (translators) để tìm ra chip NAND nào và tại địa chỉ chính xác nào giữ thông tin. Các bộ điều khiển SSD khác nhau sử dụng các định dạng khác nhau cho các bảng dịch như vậy; ổ đĩa NAND chứa càng nhiều chip nhớ, việc xây dựng lại bảng dịch sẽ càng khó khăn hơn.

Cơ chế chất lượng và giá thành tác động lên việc sản xuất ổ cứng SSD

Chi phí của các thiết bị điện tử giảm hàng năm. Chúng ta đã quen với điều đó đến mức chúng ta thậm chí không nhận thấy. Các ổ SSD có dung lượng lưu trữ vượt quá một hoặc thậm chí hai terabyte dữ liệu hiện nằm trong tầm tay của một người tiêu dùng trung bình, điều này không xảy ra chỉ ba năm trước đây.

Để sản xuất lưu trữ trạng thái rắn với dung lượng lớn hơn ở mức giá thấp hơn, các nhà sản xuất phải ép nhiều tế bào lưu trữ hơn trên cùng một điểm. Điều này làm giảm kích thước của mỗi ô nhớ, ảnh hưởng tiêu cực đến tuổi thọ định mức của chúng (số lượng thao tác ghi mà một ô có thể duy trì mà không bị lỗi hay sai lệch). Các nhà sản xuất khác nhau đã phát minh ra một cách để lưu trữ nhiều thông tin hơn trong một ô nhớ.

Đầu tiên là SLC flash NAND dựa trên SLC có thể giữ một bit thông tin trong mỗi ô nhớ, MLC NAND lưu trữ hai bit dữ liệu. Các ổ SSD hiện nay chủ yếu là TLC (ba bit dữ liệu trên mỗi ô), trong khi các ổ đĩa rẻ nhất có thể đóng gói bốn bit cho mỗi ô (QLC NAND). Mỗi lần lặp lại làm cho NAND flash chậm hơn đáng kể và quan trọng hơn là kém tin cậy, tỷ lệ lỗi lớn hơn so với NAND mật độ thấp. Nên chẳng có cái gì mà vừa bền vừa tốt vừa rẻ cả.

Như người ta có thể thấy, các tế bào nhớ  TLC là chậm nhất và kém tin cậy nhất. Để tăng tốc ổ SSD dựa trên TLC (và để cải thiện tuổi thọ của chúng), nhiều nhà sản xuất tự động phân bổ một phần lưu trữ dưới dạng bộ đệm SLC chuyên dụng. Các khối được sử dụng làm bộ đệm SLC yêu cầu dòng điện thấp hơn để đặt một bit thông tin đó. Chúng mặc ít hơn và chúng được viết nhanh hơn các tế bào TLC. Bộ điều khiển duy trì danh sách các khối được sử dụng làm bộ đệm SLC. Nếu chúng ta cố gắng đọc các khối này bằng cách truy cập trực tiếp vào chip trong khi mong đợi ba bit dữ liệu, các ô SLC giả này sẽ trả về thông tin vô nghĩa. (00000)

Mã hóa

Hầu hết các ổ SSD tầm trung và cao cấp đều cung cấp một hoặc một số phương pháp mã hóa phần cứng. Một số SSD cấp doanh nghiệp mã hóa thông tin theo mặc định mà không cần người dùng biết. Trong các trường hợp như vậy, khóa mã hóa được lưu trữ mở, để bộ điều khiển có thể đọc nó ra khỏi chip NAND để giải mã dữ liệu.

Ngay cả khi khóa mã hóa được lưu trữ và không được bảo vệ, việc tìm kiếm nó mà không có sự trợ giúp của bộ điều khiển SSD là vô cùng khó khăn có thể nói là không thể. Nó giống như việc tìm một cái chìa khóa trong một cái hồ lớn.

Nói cách khác, chúng ta cần bộ điều khiển để thực hiện công việc cho chúng ta.Chúng tôi cần nó để đọc đúng địa chỉ, loại bỏ các khu vực đã đánh dấu bad, dịch địa chỉ và giải mã dữ liệu. do vậy việc chỉ cần kết nối SSD với thiết bị chống ghi ngược bật điện và tạo images(sector) là điều chưa hẳn chính xac .

Cách SSD xóa dữ liệu và làm sao để khôi phục lại

Chúng tôi đã tìm ra rằng các tế bào NAND duy trì một số lượng hạn chế các thao tác ghi, điều này đòi hỏi các thuật toán cân bằng tiên tiến. Tuy nhiên, ngoài tuổi thọ giới hạn, các ô NAND còn có một thuộc tính khác: một ô không trống phải được xóa trước khi bạn có thể ghi dữ liệu mới. NAND flash mang đến khả năng đọc nhanh, viết chậm và xóa rất chậm. Vì vậy, nếu bạn muốn viết lại một ô đã chứa dữ liệu, trước tiên bạn phải xóa ô đó và chỉ sau đó nó mới có thể chấp nhận dữ liệu mới. Mặc dù xóa các ô NAND đã hoạt động rất chậm, bạn không thể chỉ cần xóa một hoặc hai ô . Thay vào đó, bạn sẽ phải đối phó với các page và block

Vậy một ô là gì và tại sao chúng ta phải sử dụng các page và Block? Trước tiên hãy quay lại lý thuyết. Một tế bào nhớ là một đơn vị cơ bản để lưu trữ thông tin. Tùy thuộc vào loại bộ nhớ flash (SLC, MLC, TLC hoặc QLC) và tùy thuộc vào chế độ hoạt động (ví dụ: bộ đệm SLC trong các ổ MLC, TLC và QLC), một ô có thể ghi một bit dữ liệu (SLC), hai bit dữ liệu (MLC), ba bit (TLC) hoặc bốn bit (QLC). Ví dụ, một SSD Crucial MX550 được trang bị 3D TLC NAND có thể lưu trữ 3 bit dữ liệu trong mỗi ô của nó trừ khi một số phần trong nhóm lưu trữ của nó hoạt động ở chế độ SLC dưới dạng bộ đệm tăng tốc ghi động. Việc ghi vào các tế bào TLC ở chế độ SLC không chỉ nhanh hơn mà còn giảm đáng kể hoạt động cho tế bào nhớ, do đó tuổi thọ chung của SSD có thể được cải thiện cùng với tốc độ ghi.

Điều này đưa chúng ta đến một câu hỏi khác. Chúng ta có thể đọc hoặc ghi dữ liệu từ tính trên đĩa cứng HDD với 2 trạng thái trên một điểm ? xin trả lời là không thể.

Trong lịch sử, phương tiện lưu trữ xoay như ổ cứng truyền thống cung cấp các cung 512 bit dưới dạng đơn vị dữ liệu nhỏ nhất bạn có thể đọc hoặc ghi. Các hệ thống tệp như FAT hoặc NTFS cũng đọc và ghi dữ liệu . Mọi thứ đã thay đổi một khi lưu trữ trạng thái rắn (SSD) được giới thiệu. NAND flash không sử dụng các sector. Thay vào đó, nó hoạt động với các page và block .

Một page là phần dữ liệu nhỏ nhất bạn có thể đọc được từ SSD. Thông thường, ổ SSD có thể đọc một trang trên mỗi chu kỳ đồng hồ. Một trang duy nhất chứa một số byte vật lý nhất định (ví dụ 528, 2112, 4320, 8640, 9216, 18592 byte, v.v.).Nếu bạn chỉ cần một byte dữ liệu, SSD sẽ đọc toàn bộ page.

Mỗi trang có thể lưu trữ 512, 2048, 4096, 8192 hoặc 16534 byte dữ liệu. Như bạn có thể thấy, lượng dữ liệu mà một trang có thể lưu trữ khác với số byte vật lý. Các byte bổ sung được sử dụng cho các điểm đánh dấu và mã hiệu chỉnh ECC cho mỗi page. Nếu chúng ta so sánh hai ổ SSD với các page chứa 8192 byte dữ liệu, chúng ta có thể phát hiện ra rằng SSD1 sử dụng 8640 byte vật lý trên mỗi page trong khi SSD2 có 9216 byte vật lý trên mỗi page. Sự khác biệt giữa hai ổ SSD này sẽ chỉ nằm ở mức độ hiệu chỉnh ECC mỗi ổ đĩa.

Tại sao chúng ta cần một thực thể khác? Vấn đề là, trong khi bạn có thể đọc một trang dữ liệu, bạn chỉ có thể viết (hoặc xóa ) một số trang nhất định cùng một lúc. Đơn vị tối thiểu để ghi (xóa) dữ liệu được gọi là một Block . Một khối chứa một số page ;Trên thực tế, nó thường là rất nhiều page. Một ổ SSD thông thường hoạt động với các  Block bao gồm 64, 128, 256 hoặc thậm chí 512 page. Đây là một lượng dữ liệu khổng lồ để xóa / ghi mỗi khi bạn thay đổi một bit dữ liệu trong Block đó!

Số lượng thao tác ghi có thể được duy trì bằng flash NAND bị giới hạn (và khá nhỏ), vì vậy bộ điều khiển SSD sẽ cố gắng hết sức để giảm thiểu việc sử dụng lại các khối đã được ghi vào. Đây là điều mà một SSD đơn giản (không có bộ đệm SLC) sẽ làm nếu bạn thay đổi chỉ 1 bit dữ liệu của mình:

  1. Bộ điều khiển sẽ đọc một khối dữ liệu từ NAND flash vào RAM.
  2. Khối NAND được đánh dấu là sẽ bị xóa (tùy thuộc vào SSD và bộ điều khiển, nó có thể bị xóa sau này ).
  3. Bộ điều khiển hiện thực hiện thay đổi được yêu cầu trong khối dữ liệu được lưu trữ trong RAM.
  4. Cuối cùng, khối được sửa đổi sẽ được ghi vào flash NAND. Một tập hợp các ô nhớ vật lý khác sẽ được sử dụng để ghi dữ liệu mới cho mục đích cân bằng việc đọc ghi và tốc độ ghi.

Khi ghi dữ liệu, bộ điều khiển SSD sẽ cố gắng chọn các khối có số lần ghi lại ít nhất. Trong cuộc sống thực, điều này có nghĩa là bộ điều khiển sẽ ghi cùng một bộ dữ liệu vào một khối khác. Để làm cho mọi thứ trông ổn định cho HĐH, bộ điều khiển sẽ ánh xạ lại địa chỉ logic của khối một cách nhanh chóng. Một dữ liệu tên là Hà Nội ban đầu được lưu tại vị trí “A” và sau khi được cập nhật hoặc thay đổi Khối mới của Hà Nội sẽ được chỉ định lưu sang một vị trí “B” có số lượt sử dụng ít hơn vị trí A. trong khi đó, khối cũ A sẽ được chuyển đến nhóm dự trữ trong khu vực được đánh giá là đã hoạt động nhiều hoặc được chỉ định một địa chỉ khác. SSD sau đó sẽ xóa nội dung của khối  A đó và tăng tham số Erase Count của nó.

Dung lượng thực tế và khu vực dự phòng 

Dung lượng vật lý của SSD luôn cao hơn dung lượng lưu trữ được quảng cáo (và có sẵn). Trong khi hầu hết các ổ SSD hiện đại chiếm 5 đến 10% dung lượng lưu trữ, một số model có tỷ lệ dung lượng lưu trữ cao hơn đáng kể không được sử dụng. Ví dụ, Crucial cung cấp các ổ SSD dòng BX cấp quyền truy cập với dung lượng lưu trữ 480 GB, trong khi dòng MX có giá cao hơn của họ quảng cáo dung lượng 500 GB. Cả hai loại có khả năng sử dụng dung lượng bên trong thực tế lên đến 512 GB (không chiếm mã ECC và điểm đánh dấu, điều này làm cho dung lượng vật lý thậm chí cao hơn). Do các chip NAND ngày nay được sản xuất với kích thước tùy ý không nhất thiết là bội số của hai, nên kích thước thực của chip có thể là 8,7 GB thay vì 8 chính xác.

Sự khác biệt là do kích thước của cái gọi là khu vực dành riêng hay còn gọi là khu vực được cung cấp quá mức. Các khối bổ sung được sử dụng để cân bằng hao mòn và trao đổi nhóm, cho phép bộ điều khiển SSD nhanh chóng chọn một khối trống khi cần ghi lại một số dữ liệu.

Điều quan trọng cần lưu ý là các khối được cung cấp quá mức có thể chứa dữ liệu.Khi bộ điều khiển SSD đẩy một khối dữ liệu vào một nhóm không thể định địa chỉ, khối đó được đánh dấu là trống . Các khối được đánh dấu sẽ được xếp hàng để được chờ xóa bỏ dọn dẹp, quá trình trên được thực hiện ngầm và do bộ điều khiển quyết định. Quá trình đó sẽ làm sạch nội dung của các khối dữ liệu được đánh dấu đó. Quá trình không phải là ngay lập tức; có thể mất một lúc để hoàn thành tùy thuộc vào số lượng khối dữ liệu được cắt, loại và tốc độ của chíp flash NAND. Một số ổ SSD có thể mất tới 15 phút để hoàn tất việc dọn dẹp các khối bị cắt. Chúng tôi cũng đã thấy các ổ SSD không bao giờ thực sự làm sạch nội dung của các khối bị quá tải do lỗi firmware (đặc biệt, đây là lý do tại sao hầu hết các tiêu chuẩn để hủy bỏ dữ liệu quân sự là yêu cầu phải phá hủy chíp vật lý của phương tiện lưu trữ thể rắn thay vì dựa vào bất kỳ phương pháp phần mềm nào).

Ổ đĩa SSD Xóa dữ liệu 

Một lưu ý rất quan trọng khác là thực tế người ta không thể dễ dàng ngăn chặn ổ SSD hoàn thành chu trình xóa nền. Khi một loạt các khối dữ liệu được cắt bớt (hoạt động gần như ngay lập tức), ngay cả khi ổ SSD bị ngắt kết nối ngay lập tức, quy trình thu gom rác sẽ tiếp tục hoạt động ngay khi ổ SSD được kết nối nguồn điện. Các thiết bị chặn ghi SATA không cam thiệp được vào công việc này.

Điều gì xảy ra nếu một người cố gắng khôi phục lại dữ liệu của  một khối cắt chứa dữ liệu? Kết quả phụ thuộc vào việc triển khai cụ thể của chức năng Read After Trim. Có bốn chế độ đọc thông tin riêng biệt từ các khối được cắt xén:

  1. Trim không xác định: không xác định. Khi đọc một khối được cắt xén, bộ điều khiển SSD có thể trả về dữ liệu thực tế, tất cả các số 0 hoặc thứ gì khác. Điều thú vị là kết quả có thể khác nhau giữa các lần thử đọc (SATA Word 169 bit 0). Điều này hiếm khi được sử dụng bởi các nhà sản xuất SSD có uy tín; tuy nhiên, ổ SSD giảm giá vẫn có thể có nó.
  2. Xác định đọc sau khi cắt (DRAT): bộ điều khiển SSD sẽ luôn trả về giá trị được xác định trước khi đọc các khối được cắt bất kể nội dung thực tế của chúng. Giá trị có thể là tất cả các số 0, nhưng nó cũng có thể là một số khác (SATA Word 69 bit 14). Đây là phương pháp phổ biến nhất được sử dụng trong các ổ SSD tiêu dùng.
  3. Số không xác định sau khi cắt (DZAT): tất cả các khối được cắt sẽ ngay lập tức đọc dưới dạng số 0 bất kể nội dung thực tế của chúng (SATA Word 69 bit 5). Chế độ này thường được sử dụng trong các ổ SSD cấp doanh nghiệp. Hầu hết các nhà sản xuất NAS yêu cầu chế độ này nếu một người muốn tạo RAID SSD.

Người dùng có thể dễ dàng xác định chế độ nào mà ổ SSD của họ hoạt động bằng cách chạy lệnh sau: hdparm hèI.

Thí dụ:

$ sudo hdparm -I / dev / sda | grep -i cut

* Hỗ trợ quản lý tập dữ liệu TRIM (giới hạn 1 khối)

* Đọc dữ liệu xác định sau TRIM

Thực tế mà nói, DRAT và DZAT ngăn chặn hiệu quả việc truy cập dữ liệu thực ngay sau khi lệnh Trim được ban hành. Ngay cả khi ổ SSD được định dạng bằng Định dạng nhanh, toàn bộ nội dung của nó sẽ ngay lập tức không thể truy cập được; một sự khởi đầu lớn từ hành vi được thể hiện bởi các ổ cứng từ tính không được mã hóa. Sẽ không có cách nào để truy cập dữ liệu được cắt xén, và sẽ không có cách nào để ngăn chặn việc thu gom rác nền phá hủy bằng chứng vẫn được lưu trữ trong các khối được cắt xén.

Đó là nguyên nhân tại sao khi bạn thực việc việc quick format với ổ HDD thông thường thì rất dễ dàng cứu lại toàn bộ dữ liệu, nhưng với ổ SSD thì không thể với môi trường máy tính bình thường.

 Chế độ truy cập nhà máy SSD

Cho đến rất gần đây, các chuyên gia pháp y đã buộc phải tuân theo một trong hai chiến lược khai thác. Sử dụng chiến lược đầu tiên, các chuyên gia sẽ xử lý các ổ SSD tương tự như ổ cứng từ tính, điều này sẽ khiến dữ liệu bị xóa không thể truy cập được.

Chiến lược khác (phân tích chip-off) sẽ yêu cầu lấy các chip NAND khỏi bảng mạch PCM và thực hiện phân tích việc này rất tốn thời gian và chi phí Việc phân tích một ổ SSD chỉ với bốn chip có thể mất tới hai tuần, trong khi các ổ đĩa 10 chip gần như không thể xử lý.

Gửi một ổ SSD cho nhà máy sản xuất để khôi phục lại dữ liệu ( việc này rất hiếm khi được thực hiện và không khả quan)

Phương tiện lưu trữ trạng thái rắn với bộ điều khiển tích hợp (bao gồm ổ SSD, ổ flash USB, chip eMMC và thậm chí cả thẻ SD) có một số chế độ hoạt động. Theo mặc định, chúng hoạt động ở chế độ tiêu chuẩn, trong đó người ta có thể đọc và ghi dữ liệu, cắt các khối hoặc định dạng phân vùng. Tuy nhiên, tất cả các thiết bị lưu trữ trạng thái rắn cũng có chế độ truy cập đặc biệt đôi khi được gọi là chế độ truy cập của nhà máy, hay đơn giản là chế độ của nhà máy. Trong chế độ này, các nhà sản xuất khởi tạo bộ điều khiển, tải lên chương trình cơ sở, kiểm tra bộ nhớ NAND và xây dựng danh sách ban đầu các khối xấu được ánh xạ lại. Trong chế độ truy cập của nhà máy, nhà sản xuất có thể truy cập thông tin được lưu trữ trong các chip NAND trực tiếp hoàn thành với tất cả thông tin dịch vụ. Chế độ truy cập nhà máy được tích hợp trong mỗi ổ SSD duy nhất tồn tại, bao gồm cả các ổ được lắp ráp trong các nhà máy n.

Trong chế độ truy cập tại nhà máy, SSD có thể thực thi các lệnh cấp thấp được gửi qua giao diện ATA (hoặc USB hoặc PCI-E hoặc bất kỳ giao diện nào khác mà SSD có). Ở chế độ xuất xưởng, SSD có thể thực hiện một số điều không thể làm trong khi ở chế độ tiêu chuẩn.

Chế độ truy cập nhà máy là có lý do. Trong các ổ đĩa cứng từ tính, chế độ truy cập của nhà máy được sử dụng cho chẩn đoán cấp thấp, cho phép các nhà sản xuất bộc lộ các khiếm khuyết sản xuất (ví dụ như các khuyết tật từ đầu) từ sớm. Trong phương tiện trạng thái rắn, chế độ xuất xưởng được sử dụng để phát hiện lỗi bit trong các ô NAND. Nó cũng được nhiều nhà sản xuất sử dụng để cung cấp dịch vụ khôi phục dữ liệu khi khách hàng gửi đĩa. Cuối cùng, chế độ truy cập của nhà máy được sử dụng để tải lên chương trình cơ sở và để tạo các khu vực dịch vụ như bảng ánh xạ địa chỉ khi khởi tạo đĩa.

Những nhà sản xuất sử dụng chế độ truy cập nhà máy?

Chế độ truy cập nhà máy được sử dụng hoàn toàn bởi mọi nhà sản xuất SSD. Trên thực tế, các nhà sản xuất ổ đĩa flash USB, chip eMMC, thẻ SD và các loại phương tiện lưu trữ thông minh khác được trang bị bộ vi điều khiển đều sử dụng chế độ truy cập của nhà máy để lập trình, kiểm tra và khởi tạo thiết bị lưu trữ. Ngay cả các nhà sản xuất lắp ráp các đĩa của họ (như bộ điều khiển Phison PS2251-07 phổ biến) có quyền truy cập vào chế độ nhà máy. Chế độ truy cập của nhà máy được tích hợp vào tất cả các ổ đĩa SATA, NVME, USB và các ổ SSD khác.

Các tính năng của Chế độ truy cập nhà máy

Chế độ truy cập của nhà máy mở ra một số khả năng không khả dụng cho người dùng thông thường. Các tính năng sau đây được các chuyên gia pháp y đặc biệt quan tâm:

  • Đọc dữ liệu thô từ các khối dữ liệu vật lý. Các khối được trả về theo đúng nghĩa của bản thô thô, hoàn chỉnh với thông tin mã hóa và sửa dữ liệu ECC. Đây là cái gần nhất có thể tắt chip mà không cần tháo chip. Lưu ý rằng dữ liệu được mã hóa sẽ không được giải mã trong chế độ này
  • Đọc một khối dữ liệu hợp lý. Điều này bao gồm các hoạt động giải mã cần thiết bao gồm các trang và khối deMIXing, chuyển đổi các trang được mã hóa và thực hiện chỉnh sửa ECC. Ngoài ra các ổ SSD có mã hóa phần cứng sẽ giải mã dữ liệu được mã hóa (nếu sử dụng khóa mã hóa phương tiện mặc định). Nói cách khác, đây là cách dễ nhất để đọc dữ liệu từ ổ SSD bao gồm các khối được cắt xén và quá mức.
  • Đối với các ổ SSD được mã hóa: tìm kiếm mô-đun chứa khóa mã hóa phương tiện (MEK). Mặc dù mã hóa SSD nằm ngoài phạm vi của bài viết này, điều quan trọng cần lưu ý là một số phương thức mã hóa nhất định (như phiên bản Windows 10 của BitLocker) sử dụng các tính năng mã hóa tích hợp của SSD thay vì mã hóa dữ liệu bằng CPU. Do đó, một chuyên gia có thể xác định vị trí khóa mã hóa BitLocker và giải mã dữ liệu mà không cần thực hiện một quá trình phân tích dài.
  • Các khối truy cập trong khu vực được cung cấp quá mức cũng như các khối bên ngoài nhóm địa chỉ được xác định bởi bảng dịch (Các khối được ánh xạ, di dời và dành riêng).
  • Truy cập hồ sơ SMART.
  • Truy cập (tra cứu và đọc) các khu vực hệ thống có chứa phần mềm SSD và bảng dịch.
  • Đọc các khu vực hệ thống và lưu chúng để phân tích tiếp theo.
  • Khởi động SSD vào một chương trình cơ sở khác bằng cách đặt chương trình vi mô vào RAM của bộ điều khiển; sử dụng bảng dịch khác (được xây dựng lại) (ví dụ: nếu bảng dịch gốc bị hỏng hoặc không thể đọc được).

Đối với các chuyên gia pháp y kỹ thuật số, hai tính năng bổ sung có thể được quan tâm đặc biệt. Đầu tiên, người ta có thể tạm thời vô hiệu hóa các quy trình nền của bộ điều khiển như thu gom rác, cân bằng hao mòn và ánh xạ lại địa chỉ.Điều này có hiệu quả ngăn chặn SSD phá hủy bằng chứng trong nền. Thứ hai, người ta có thể truy cập dữ liệu được lưu trữ trong các khối không có địa chỉ (khu vực được cung cấp quá mức, nhóm dự trữ, v.v.) Điều này cho phép truy cập vào dữ liệu bị xóa gần đây.

Các ổ đĩa trạng thái rắn dựa vào lệnh Trim để cải thiện hiệu suất ghi bằng cách xóa trước các khối không còn được sử dụng để giữ dữ liệu có ý nghĩa. Khi một tệp bị xóa hoặc nếu không gian đĩa có sẵn theo một cách khác (ví dụ: đĩa được định dạng), lệnh Trim cho phép bộ điều khiển SSD giải phóng các khối không sử dụng.Các khối phát hành được lên kế hoạch xử lý bởi trình thu gom rác tích hợp; chúng cũng có thể được ánh xạ lại (được gán một địa chỉ vật lý khác hoặc được đẩy ra ngoài không gian địa chỉ vào khu vực được cung cấp quá mức). Điều quan trọng, bản thân lệnh Trim không xóa dữ liệu; đó là quá trình thu gom rác.

Các khối dữ liệu được phát hành có thể giữ lại dữ liệu gốc của chúng trong một khoảng thời gian nhất định. Lượng thời gian các khối này sẽ giữ lại dữ liệu gốc tùy thuộc vào nhiều yếu tố khác nhau, từ tải hiện tại của SSD đến kiểu bộ điều khiển SSD, phần sụn của nó và các ưu tiên thay đổi do nhà sản xuất đặt cho một kiểu máy cụ thể. Bộ sưu tập rác nền là tiêu thụ tài nguyên. SSD ưu tiên thu gom rác hơn các hoạt động đọc / ghi thể hiện hiệu suất I / O giảm tạm thời. Mặt khác, SSD ưu tiên I / O hiện tại đối với việc thu gom rác biểu hiện sự chậm trễ kéo dài giữa thời gian khối bị cắt và thời gian thực sự bị xóa. Sự đa dạng này có thể làm cho nó có thể trích xuất thông tin từ các khối được cắt / cung cấp quá lâu sau khi chúng được phát hành.

Sử dụng Chế độ truy cập của nhà máy để trích xuất dữ liệu

Chế độ truy cập của nhà máy có thể và nên được sử dụng để chụp ảnh pháp y trên phương tiện truyền thông trạng thái rắn. Đây là chế độ duy nhất mà các chuyên gia pháp y có thể sử dụng để trích xuất thông tin từ các ổ SSD mà không có nguy cơ mất bằng chứng do xóa nền và đây là chế độ duy nhất cho phép truy cập vào các khối không được đánh địa chỉ, quá mức. Sử dụng chế độ truy cập của nhà máy là các đơn đặt hàng có độ lớn dễ dàng hơn (và rẻ hơn đáng kể) so với quy trình tắt chip, đặc biệt nếu một thiết bị đang chụp ảnh một thiết bị được mã hóa.

Điều quan trọng, không có các tiêu chuẩn được thiết lập để truy cập thông tin trong chế độ nhà máy; không có phương pháp phổ biến để chuyển một ổ SSD nhất định sang chế độ truy cập tại nhà máy và không có bộ lệnh tiêu chuẩn nào có sẵn trong chế độ xuất xưởng cho tất cả các kiểu máy và nhà sản xuất. Chế độ truy cập nhà máy hầu như không (nếu có) được ghi lại. Trong nhiều trường hợp, chế độ truy cập của nhà máy chỉ khả dụng cho các trung tâm dịch vụ ủy quyền lớn hơn của mỗi nhà sản xuất tương ứng.

Thông thường, cộng đồng pháp y dựa vào các công cụ của bên thứ ba không phải OEM để thực hiện trích xuất và hình ảnh SSD cũng không ngoại lệ. Một hệ thống máy chuyên dụng cho phép truy cập vào chế độ nhà máy của SSD mà cứu dữ liệu bách khoa đang sử dụng đó là PC-3000 SSD . nó cho phép đọc sector của SSD ở cấp thấp thông qua chế độ truy cập tại nhà máy, không chỉ cho SSD mà cho nhiều loại thiết bị lưu trữ như HDD, SSD, USB, chip Flash. Bộ công cụ có thể đọc dữ liệu với những ổ SSD lỗi không nhận, nhận sai tên, dung lương, hoặc bad…

Các bước khôi phục lại dữ liệu với ổ cứng SSD ở chế độ nhà máy với PC3000

  1. Ngăn không cho bộ điều khiển SSD khởi động vào chế độ tiêu chuẩn của NỀN bằng cách chặn quyền truy cập của bộ điều khiển vào chip flash NAND. Điều này ngăn bộ điều khiển tải firmware và đảm bảo rằng không có quá trình nền nào có thể phá hủy dữ liệu
  2. Chuyển ổ SSD sang chế độ truy cập của nhà máy.
  3. Đọc phần firmware SSD và các khu vực hệ thống. Nếu cần thiết, xây dựng lại các bảng dịch(translator) bị hư hỏng.
  4. Tải microcode vào RAM bộ điều khiển SSD. Tải lên bảng dịch và dữ liệu hệ thống khác.
  5. Khởi động bộ điều khiển SSD để mã trong RAM.
  6. Sử dụng các chế độ truy cập của nhà máy để truy cập thông tin trên ổ SSD.

Mỗi ổ SSD (hoặc, đúng hơn, mỗi bộ điều khiển SSD) sử dụng một trình tự khác nhau để chuyển sang chế độ xuất xưởng. Trước khi ổ SSD có thể được chuyển sang chế độ truy cập nhà máy (còn được gọi là Chế độ nhà máy, Chế độ an toàn, Chế độ khôi phục, v.v.), trước tiên, phải đảm bảo rằng bộ điều khiển SSD không khởi động ở chế độ Tiêu chuẩn khi được bật. Điều này có thể đạt được bằng cách chặn truy cập vào chip flash NAND có chứa firmware và hệ thống SSD. Người ta có thể chặn truy cập vào chip NAND bằng cách ngắn mạch các  chân dịch vụ trên bảng mạch PCB.

Đây là cách bạn chặn quyền truy cập vào chip NAND trên bảng mạch rất quan trọng.

 

Tiếp theo, chúng tôi sẽ kết nối SSD với  PC-3000 để chuyển nó sang chế độ truy cập của nhà máy. Chế độ truy cập nhà máy được kích hoạt bằng cách gửi lệnh dịch vụ (khác nhaucho mỗi OEM / bộ điều khiển) đến bộ điều khiển SSD. Sau đó, chúng tôi sẽ tải mã LDR vào RAM của bộ điều khiển.

Máy PC3000 SSD báo cho kỹ thuật viên biết điểm cần ngắn mạch để truy cập vào chế độ nhà máy (Factory mode). Mỗi dòng ổ cứng SSD lại có các cách riêng

Hình ảnh ngắn mạch ổ SSD Samsung cứu lại dữ liệu

Nếu có thể tải lên thành công microcode, bước tiếp theo sẽ là đọc / khôi phục bảng dịch. Các bảng dịch bị hỏng có thể được tự động hoặc ghép lại bằng tay.

Các bảng dịch phải được tải lên RAM của bộ điều khiển SSD:

Cứu dữ liệu SSD

Sau đó, người ta có thể sử dụng ứng dụng Data Extractor để chụp ảnh ổ SSD. Dữ liệu sẽ được lưu dưới dạng hình ảnh đĩa tiêu chuẩn. Bạn sẽ có thể đọc các khối đã được cắt nhưng chưa bị xóa.

Cứu dữ liệu SSD

Để phân tích nhanh hơn / dễ dàng hơn, người ta có thể trích xuất nội dung của đĩa dưới dạng hệ thống tệp. Trong chế độ này, chỉ các tệp hiện có sẽ được lưu; dữ liệu bị xóa sẽ không có sẵn.

Cứu dữ liệu SSD

Phần kết luận

Cứu dữ liệu  ổ cứng SSD . là một công việc rất phức tạp, với xu thế sử dụng ổ SSD trong những năm gần đây, dần dần chúng  ta sẽ sử dụng ổ cứng SSD thay thế cho ổ HDD hiện tại. Và  vì thế nhu cầu xử lý khôi phục lại dữ liệu, chứng cứ điện tử trong các thiết bị đó sẽ tăng rất cao. Để đánh giá đúng khả năng xử lý cứu dữ liệu,  chứng cứ, bằng chứng điện tử trong SSD. Ngoài việc hiểu chi tiết về cách thức hoạt động còn phải có những hệ thống máy móc hiện đại, các bước can thiệp đúng cách.

Nếu bạn có những thiết bị sử dụng chíp nhớ NAND như ổ Cứng SSD, USB Flash… bị lỗi, hỏng, hay chỉ đơn giản vô tình xóa  hay format có thể tham khảo bài viết về dịch vụ cứu dữ liệu ổ cứng SSD của cứu dữ liệu bách khoa. Với hệ thống máy móc hiện đại nhất trên thế giới, đội ngũ kỹ thuật giầu kinh nghiệm chúng tôi sẽ giúp bạn khôi phục lại dữ liệu quý báu.