Статьи

Ремонт и восстановление SSD Sandisk Ultra II

Artem Makarov aka Robin
22.07.2017
2439 просмотров

Попал в нашу лабораторию SSD диск Sandisk UltraII SDSSDHII с типовой проблемой, — при старте выходит в готовность по регистрам, но на любое обращение взводит бит BUSY и перестаёт принимать\отправлять команды. Требуется выполнить восстановление данных с него и, по возможности, ремонт.

Поломался вышел из строя SSD Sandisk

Обычная проблема, связанная со сбоем в таблицах трансляции, однако на пути её решения встаёт ряд сложностей.

Внутри SDSSDHII собран на микроконтроллере Marwell 88SS1074. В отличии от многих других SSD, для данного накопителя пока не исследованы возможности организации доступа к служебной и пользовательской областям через SATA интерфейс, путём прогрузки специализированногомикрокода (лоадера), и работать придётся через диагностический порт, подключение к которому возможно методом пайки RX\TX контактов.

Подключение к диагностическому порту SSD SanDisk

А вот и первые сюрпризы. Обычные UART переходники не подходят по причине того, что терминал на SSD работает с 1.8 V. Придётся собирать Level Shifter по, к примеру, такой схеме:

TTL 3.3 to 1.8V Serial (USB, UART) Level Shifter

TTL 1.8V Serial (USB, UART) level shifter

Спаяли, подключились на скорости 921600 (дефолтная скорость обмена данными!), опять всё не слава богу! При обычном старте в терминал выдаётся что то типа:

!S1Jp`uu=ee=Lp,1Ep12S;p1m>p/)e
!S1Jp`uu=L`p,1EpzX;Lpgp;C$\p|CK|&p#$]oC\:pD1-U'->K|oZqKCfqd`:p",|pqKCfpdp`:pR]K0$fd/##
!S1Jp`uu=)=)p,1EpU'p;CK|&p#@|p1K$|pp^|$"Bx2pepSqy^&fCpep(U>>N]K0$fpp/66pU|$qCN]K0$fpp/66
!S1Jp`uu=Ielup,1EpD'~pDm YUp;U^;~p(U>>pNx^S Dp/66pD;Upp>XY> ^ Y ^U2pp(U>>pNx^S Dp/6666
!S1Jp`uu=Lup,1EpD'~pDm YUp;U^;~p(U>>pNx^S Dp/66pDX1^p>XY> ^ Y ^U2pp(U>>pNx^S Dp/666666
!S1Jp`uuel)Lp,1Ep/@|1C"@%\D$|]K&Y@%;C"@QC|$RoC ,S$fpdp[lplplplplplplpl4
!S1Jp`uuel)Ip,1EpJ;X(DpprpUY^U;pD ;x^~gX(^p6X;pD ;x^~p2 ^
!S1Jp`uueu`ep,1EpJ;X(DpprpUzx^ppD ;x^~gX(^p6X;pD ;x^~p2 ^
!S1Jp`uue=lLup,1Ep/@|Y@%;C"@QC|$RoC ,S$fpdp[lplplplplplplpl4
!S1Jp`uue=Ieep,1EpY@KH]%yp"$%pRCp|C"@QC|C\p#|@0pKH]qpfo$%CZpV,]Kp|C"@QC|&hh
!S1Jp`uueeLep,1Ep/@|Y@%;C"@QC|$RoC ,S$fpdp[lplplplplplplpl4
!S1Jp`uue`=)Ip,1Ep2CR,yz@|D$qq;C"@QC|C\2$K$ ,D@q]K]@%S$fpdp[ppppppp4
!S1Jp`uueLu=Ip,1Epw(>p]%pzX;prppw(>-N]K0$fp/pYC3-(U>>-N]K0$fp/6666666666666666
!S1Jp`uue)=)`p,1Ep;"Q|&p#$]oqp@%pC||pIhhpY@p\$K$pf$qqC\pK@pH@qKp#@|pKH]qpfH&q]"$opfo$%Ch
!S1Jp`uueI=lLp,1EpzX;p|"Q|C\ppC%K|]Cqp@,Kp@#pIhh
!S1Jp`uueII))p,1EpY@pzX;p"@||C"K]@%p0$\Cp$%\p%@p\$K$pf$qqC\pK@p$%&p (p]%p3H@oCp|C$\p0Cqq$yChh
!S1Jp`uu`Lep,1EpD1p\]\%<Kp,f\$KCp(C""p"@,%KC|pgp|CK|&rp(C"">@,%K[4
!S1Jp`uu`)lp,1Ep;CKpqK$KpK|$"Bpep0qy^&fCpp0qyx2pupqKp########
!S1Jp`uu`le)`p,1Ep2@%CpU'pzX;p;C"@QC|&hh
!S1Jp`u=Ie=p,1Ep1^ ;8pU;;X;rp2@,RoCp@Rq@oCKCp\CKC"KC\p@%pm@$\jx%qK$oopM\,|]%yp|$%yCp,f\$KCWp#@|pqK$|KpsN p/6I6`NuNLhpMqCCpC||@|po@yW

!S1Jp`u=Iullep,1EpU;;X;-' Y2mU;rr1^ ;8p#$,oKC\p#o@3p"$,qCqp\@,RoCp@Rq@oCKC

!S1Jp`u=Iu)l`p,1Ep \\]K]@%$op]%#@r

!S1Jp`u=I=uelp,1Ep1@,|"Cpo]%CrpllLl

!S1Jp`u=Iellp,1EpSC0 \\|Tp/e==ReI`epXNSp]%\C/p/

!S1Jp`u=Ie=uup,1EpXNSp"@%K$]%qp/LI\"L:p0$qBpK@pqCKp/##"

По причине того, что терминальный вывод шифруется по умолчанию. Для выключения шифрования вводим команду расшифровки

\censored\ OKdebug>

И шифрование отключено перманентно! После рестарта уже осмысленное:

SDMR SLC 0x74
XOR06 - Read retry failed, PS_EH_Ctrl.steps=5, cur step = 5, bitmap=0x00000000000000ff
EH Retry for Star 0 TrackID 81 MsgType 4 UECCBitmap 0xFF EraseBitmap 0xFF PHY PLANE RETRY UECC BITMAP 0x00000000000000FF PRE CONCATANATED UECC BITMAP 0x000000000000FFFF
PHY PLANE RETRY UECC BITMAP 0x00000000000000FF POST CONCATANATED UECC BITMAP 0x0000000000FFFFFF
xorSecondParityNonRecoverableAuMap = [1 1 1 1 1 1 1 1]
GROUP 0 : ENTER PARITY-OUT FOR PARITY DATA
GROUP 0 : EXIT PARITY-OUT FOR PARITY DATA
xorNonRecoverableAuMap = [1 1 1 1 1 1 1 1]
Nothing can be recovered from this plane. Quit recovery!!
xorNonRecoverableAuMap = [1 1 1 1 1 1 1 1]
DebugXorPassRecoveredDataAuPositionMap = [0 0 0 0 0 0 0 0]
WUC in XOR : WUC_Bitmap 0x0000000000000000 New_UECC_Bitmap 0xFFFFFFFFFFFFFFFF
Rcvry fails on err 8!! No data passed to host for this physical plane!
XOR rcvred 0 entries out of 8!!
No XOR correction made and no data passed to any AU in whole read message!!
PS didn't update Uecc counter - retry: UeccCount[0]
Ret stat track 81 msgType 0 msgID 200 st ffffffff
Done EH XOR Recovery!!
STAR#0 ERROR: Double obsolete detected on Load&Install (during range update) for start VBA 0xF8F5B2B6! (see error log)

ERROR_HANDLER::STAR#0 faulted flow causes double obsolete

Additional info:

Source line: 1161

MemAddr; 0x433b4854 OBM index 0x0

OBM contains 0x68000dc6, mask to set 0xffc00000

Запрашиваем идентификатор NAND микросхем: 0x453E9AA37ED10B14, сохраняем eEPROM и модули

Прошивка SSD SandDisk

Прошивка SSD SanDisk

Прогружаем транслятор в ОЗУ для того чтобы выполнить восстановление данных с SSD SandForce, если требуется восстановить файлы с него, а для ремонта выполняем форматирование STAR, после которого диск отдаёт паспорт, SMART чистый

Ремонт SSD Sandisk UltraII

Set Max LBA............................. : Не установлен
S.M.A.R.T. status....................... : GOOD
5....................................... : 0 : Количество переназначенных секторов
S.M.A.R.T............................... : Ok
Кеш записи.............................. : разрешен

Диск полностью исправен и готов к работе.

Диск полностью исправен и готов к работе.

Важное дополнение — РЕМОНТ SSD SANDISK ПРИВОДИТ К ПОЛНОЙ И БЕЗВОЗВРАТНОЙ ПОТЕРЕ ПОЛЬЗОВАТЕЛЬСКОЙ ИНФОРМАЦИИ! Если надо восстановить информацию с ССД Сандиск, то это надо делать ДО его ремонта!

Оставьте комментарий
igor
18 января 2018, 11:14

Пожалуйста, Вы можете указать распиновку для диска и набор программ, которыми пользовались?

Artem Makarov aka Robin
18 января 2018, 15:07

Без проблем. Распиновка простая — Rx на Rx, Tx на Tx. Программа HyperTerminal for Windows

Алексей
06 мая 2018, 15:39

Здравствуйте! У меня такой же ссд диск, но он не определяется в системе. Причину выяснить не могу, вечером выключил компьютер, а на утро уже ссд не определился. даже в биосе его нет. Подключал его в разные порты. На втором компьютере тоже не определяется. Проработал он 3 года, состояние было 96%. Сбоев ни когда не было, потери информации тоже. В чем может быть причина?

Artem Makarov aka Robin
07 мая 2018, 17:13

Вероятно, поломался.

Нужна консультация?

Мы одна из немногих лабораторий в России, которая восстанавливает данные самостоятельно.

Для этого у нас есть все необходимое:
Важно – кто будет первым!
восстанавливать
информацию