Uszkodzenie oprogramowania SM2258XT

Analiza uszkodzenia Degradacja komórek pamięci - Uszkodzenie SM2258XT i SM2259XT

Trafił do nas dysk SSD producenta Patriot, model P210 z teoretycznie standardowym uszkodzeniem oprogramowania wewnętrznego.

Z poprzedniego wpisu wiemy, że powodem uszkodzenia tego rodzaju nośników jest degradacja komórek pamięci w modułach NAND.

W przypadku uszkodzenia oprogramowania wewnętrznego w dyskach opartych o kontrolery Silicon Motion urządzenie może identyfikować się poprawnie (tak jak miało to miejsce w opisywanym przypadku), jednak podczas próby odczytu LBA urządzenie wchodzi status BSY (zajęty) i nie zwraca żadnej odpowiedzi.

Selected family......................... : Patriot P200
Controller.............................. : SM2258XT

SSD status:
SSD is in ready state................... : No
Firmware mode........................... : Unknown
SSD is locked........................... : Unknown
SSD is in Safe Mode..................... : Unknown
Logical access is possible.............. : No
Physical access is possible............. : No

Ready state waiting..................... : Ok

SSD status:
SSD is in ready state................... : Yes
Firmware mode........................... : ROM
SSD error code.......................... : 0x00 (No errors)
SSD is locked........................... : No
SSD is in Safe Mode..................... : Yes
Logical access is possible.............. : No
Physical access is possible............. : No

Chips id................................ : 453E98B37672
Vendor.................................. : Sandisk
Type.................................... : 64L BiCS3 TLC 16k

Degradacja komórek pamięci - Uszkodzenie SM2258XT i 2258XT

Czym jest Loader

Loader (LDR) to zmodyfikowane oprogramowanie dysku, które jest ładowane do bufora kontrolera lub pamięci RAM dysku.

Zawiera on między innymi konfigurację dla modułów pamięci (Data Area, ECC, SA) potrzebną do odbudowania modułu Translatora i odzyskania dostępu do danych.

Loader uploading
****************************************
MPISP code name......................... : Q1103A0 B05_00; Q1031A(N)

Q1103A0 B05_00; Q1031A(N)............... : Ok
Calling executable code................. : Ok

Seed table reading
Completed
Microcode reading (0)................... : Ok
Firmware version (Internal)............. : S1031B0 BiCS3_02
SSD parameters reading.................. : Ok
Loader not found by internal name.
Search for compatible loaders...

Ready state waiting..................... : Ok
Q1107A0 BiCS3_02; Q1031A(N)............. : Ok
Calling executable code................. : Ok

Reset SSD controller.................... : Ok
Config Package.......................... : Ok
Q1107A0 BiCS3_02; P0812(D).............. : Ok
Calling executable code................. : Command execution error; Write sector error (LBA: 21 930); HDD DMA Redynes (1) timeout (10000)

Błąd ładowania Loadera

W przypadku kontrolerów SM2258XT oraz SM2259XT nie można stworzyć uniwersalnego Loadera (LDR) zawierającego wszystkie konfiguracje układów NAND.

Pomimo prawidłowo zidentyfikowanej wersji oprogramowania wewnętrznego napotkaliśmy masę błędów podczas inicjalizacji.

Ready state waiting..................... : Ok

Reset SSD controller.................... : Ok
Config Package.......................... : Ok
Q1107A0 BiCS3_02; P0812(D).............. : Ok
Calling executable code................. : Command execution error; Write sector error (LBA: 21 930); HDD DMA Redynes (1) timeout (10000)

SSD status: SSD is in ready state................... : No
Firmware mode........................... : Unknown
SSD is locked........................... : Unknown
SSD is in Safe Mode..................... : Unknown
Logical access is possible.............. : No
Physical access is possible............. : No
Operation aborted
****************************************
Loader is not uploaded! Some of the functions are not available!
Utility initialization was terminate!
Drive power supply...................... : OFF

Odzyskiwanie danych z Patriot P210 SM2258XT i SM2259XT

Odbudowa Translatora Odzyskiwanie danych z Patriot P210 SM2258XT i SM2259XT

Kolejne próby automatycznej odbudowy tablic translacji przy wskazaniu innego zgodnego wsadu również zakończyły się niepowodzeniem...

Translator initialization
****************************************
Creating translator
****************************************
Microchips information uploading........ : Ok
SSD parameters reading.................. : Ok
Reassigned block table loading.......... : Ok
Drive power supply...................... : OFF
****************************************
****************************************
Test interrupted

...
LBA 7 190 856; block: 0x0B5A; page: 0x0E82; Page marker checking error
LBA 7 190 864; block: 0x0B5A; page: 0x0E82; Page marker checking error
LBA 7 190 872; block: 0x0B5A; page: 0x0E83; Page marker checking error
LBA 7 190 880; block: 0x0B5A; page: 0x0E83; Page marker checking error
LBA 7 190 888; block: 0x0B5A; page: 0x0E83; Page marker checking error
...

Na tym etapie ponad 60% dysku nie dawało się odczytać, zaś pliki odnależione podczas skanowania sygnatur w większości były niesprawne.

Dalsza analiza konfiguracji

Po przeanalizowaniu logów, które wygenerowały automatyczne narzędzia (12GB pliku tekstowego) wybrany został Loader z inną wersją oprogramowania i konfiguracją pamięci.

Loader uploading
****************************************
Power Off
Power On
Ready state waiting..................... : Ok
Safe mode............................... : Ok
MPISP code name......................... : - -; -

- -; -............. : Ok
Calling executable code................. : Ok

Seed table reading
Completed
Microcode reading (0)................... : Ok
Firmware version (Internal)............. : S1031B0 BiCS3_02
SSD parameters reading.................. : Ok
Loader not found by internal name.
Search for compatible loaders...

Znalezienie właściwych ustawień

Po dokonaniu modyfikacji parametrów odczytu utworzony został moduł Translatora, który następnie został wgrany do zadania i w efekcie końcowym pozwolił na prawidłowy dostęp do LBA.

Reset SSD controller.................... : Ok
Config Package.......................... : Ok
- -; -.............. : Ok
Calling executable code................. : Ok

SSD status:
SSD is in ready state................... : Yes
Firmware mode........................... : DBG
SSD error code.......................... : 0x00 (No errors)
SSD is locked........................... : No
SSD is in Safe Mode..................... : No
Logical access is possible.............. : No
Physical access is possible............. : Possibly
****************************************
Test completed

Koniec prac i odzyskanie danych Odbudowa Translatora SM2258XT i SM2259XT

ISP reading (Copy: 00)
Completed
Page reading (channel: 3; chip: 0; block: 0x0001; page: 0x0000)................. : Ok
MPINFO reading.......................... : Ok

Model................................... : Patriot P210 256GB
Serial number........................... : P210FBBB20073013769
Firmware................................ : S1031B0

Load translator
****************************************
From file............................... : \Data\Translator\Translator_P0812.bin
****************************************

Opracowanie przypadku zajęło nam 12 dni, jednak po znalezieniu prawidłowych ustawień i odtworzeniu modułu Translatora udało się odzyskać 100% kluczowych danych Użytkownika.

Odbudowa Translatora SM2258XT i SM2259XT