Выберите Ваш город

Введите название вашего города

  • Абакан
  • Анадырь
  • Арзамас
  • Архангельск
  • Астрахань
  • Барнаул
  • Белгород
  • Биробиджан
  • Благовещенск
  • Брянск

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

Artem Makarov aka Robin
22.07.2017
3624 просмотра

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

Оставьте комментарий
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

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

Вадим
26 июля 2018, 21:08

\censored\ OK debug>>
не помогло отрубить шифрование )) использую Pytty. что я не так делаю?))

Artem Makarov aka Robin
26 июля 2018, 22:03

Для отключения шифрования надо подать команду отключения шифрования. censored — означает «скрыто цензурой».

Вадим
26 июля 2018, 22:39

Пожалуйста, если не сложно, расскажите как запрашивать все эти идентификаторы и тд? и как восстановить данные? очень вас прошу! я некогда восстанавливал убитые роутеры и пару планшетов по средствам UART, но там были загрузчики U-Boot, с ними куда проще было обращаться. а тут (( спасибо большое!

Artem Makarov aka Robin
27 июля 2018, 07:52

Для восстановления данных с неисправного накопителя можете передать устройство в нашу лабораторию. Это можно сделать как лично, так и через офис компании СДЕК, любой другой транспортной компании или отделение почты Росссии.

Вадим
26 июля 2018, 23:20

что я только не вводил. debug, OK debug, OK DEBUG и тд. ничего не помогает ((( зато при вводе знака ? выводит зашифрованную помощь. подозреваю, что автор нарочно не оставил команду для расшифровки (( и это пичально (

Artem Makarov aka Robin
27 июля 2018, 07:51

DEBUG и OK это ответ накопителя на введённую команду. «Автор» и не должен вам ничего оставлять, хотите команд, «раскопайте» их самостоятельно.

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

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

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