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

Попал в нашу лабораторию 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\
OK
debug>

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

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 ПРИВОДИТ К ПОЛНОЙ И БЕЗВОЗВРАТНОЙ ПОТЕРЕ ПОЛЬЗОВАТЕЛЬСКОЙ ИНФОРМАЦИИ! Если надо восстановить информацию с ССД Сандиск, то это надо делать ДО его ремонта!

Оставить комментарий

Читать комментарии к статье

Оставить комментарий:

Текст на изображении: Дайте понять, что вы не спамер Если вам не понятен текст на изображении обновите страницу, нажав F5

К этой новости нет комментариев.

Возможно, ваш будет первым?

Заметки схожей тематики:

Не работает жесткий диск Сигейт Баракуда

Восстановление инфы с телефона

Сгорела электроника на Хитачи Дескстар после сбоя в блоке питания