Ремонт и восстановление SSD Sandisk Ultra II
Попал в нашу лабораторию SSD диск Sandisk UltraII SDSSDHII с типовой проблемой, — при старте выходит в готовность по регистрам, но на любое обращение взводит бит BUSY и перестаёт принимать\отправлять команды. Требуется выполнить восстановление данных с него и, по возможности, ремонт.
Обычная проблема, связанная со сбоем в таблицах трансляции, однако на пути её решения встаёт ряд сложностей.
Внутри SDSSDHII собран на микроконтроллере Marwell 88SS1074. В отличии от многих других SSD, для данного накопителя пока не исследованы возможности организации доступа к служебной и пользовательской областям через SATA интерфейс, путём прогрузки специализированногомикрокода (лоадера), и работать придётся через диагностический порт, подключение к которому возможно методом пайки RX\TX контактов.
А вот и первые сюрпризы. Обычные UART переходники не подходят по причине того, что терминал на SSD работает с 1.8 V. Придётся собирать 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 SanDisk
Прогружаем транслятор в ОЗУ для того чтобы выполнить восстановление данных с SSD Sandisk, если требуется восстановить файлы с него, а для ремонта выполняем форматирование STAR, после которого диск отдаёт паспорт, SMART чистый
Set Max LBA............................. : Не установлен
S.M.A.R.T. status....................... : GOOD
5....................................... : 0 : Количество переназначенных секторов
S.M.A.R.T............................... : Ok
Кеш записи.............................. : разрешен
Диск полностью исправен и готов к работе.
Важное дополнение — РЕМОНТ SSD SANDISK ПРИВОДИТ К ПОЛНОЙ И БЕЗВОЗВРАТНОЙ ПОТЕРЕ ПОЛЬЗОВАТЕЛЬСКОЙ ИНФОРМАЦИИ! Если надо восстановить информацию с ССД Сандиск, то это надо делать ДО его ремонта!
Читать так же:
Диагностика ремонт и восстановление SSD SanDisk SD6SP1M
Описание восстановления SSD m.2 диска Sandisk семейства X110 модели SD6SP1M
Восстановление Sandisk SDSSDA
Очередная поучительная история о местных мастерах на примере восстановления данных с SSD Sandisk SDSSDA
Пожалуйста, Вы можете указать распиновку для диска и набор программ, которыми пользовались?
Без проблем. Распиновка простая — Rx на Rx, Tx на Tx. Программа HyperTerminal for Windows
Здравствуйте! У меня такой же ссд диск, но он не определяется в системе. Причину выяснить не могу, вечером выключил компьютер, а на утро уже ссд не определился. даже в биосе его нет. Подключал его в разные порты. На втором компьютере тоже не определяется. Проработал он 3 года, состояние было 96%. Сбоев ни когда не было, потери информации тоже. В чем может быть причина?
Вероятно, поломался.
Для отключения шифрования надо подать команду отключения шифрования. censored — означает «скрыто цензурой».
Пожалуйста, если не сложно, расскажите как запрашивать все эти идентификаторы и тд? и как восстановить данные? очень вас прошу! я некогда восстанавливал убитые роутеры и пару планшетов по средствам UART, но там были загрузчики U-Boot, с ними куда проще было обращаться. а тут (( спасибо большое!
Для восстановления данных с неисправного накопителя можете передать устройство в нашу лабораторию. Это можно сделать как лично, так и через офис компании СДЕК, любой другой транспортной компании или отделение почты Росссии.
что я только не вводил. debug, OK debug, OK DEBUG и тд. ничего не помогает ((( зато при вводе знака ? выводит зашифрованную помощь. подозреваю, что автор нарочно не оставил команду для расшифровки (( и это пичально (
DEBUG и OK это ответ накопителя на введённую команду. «Автор» и не должен вам ничего оставлять, хотите команд, «раскопайте» их самостоятельно.
За труд благодарю, но разве так можно? чел купил контролер, спаялся, осталось самое малое ввести команду… укажите хоть в начале статьи: прежде чем нам что то покупать, ПРЕДУПРЕЖДЕНИЕ, что статья не полная и требуются дополнительные знания прежде чем начать ремонт.
раскопал ))) написал скрипт для перевода этих адовых каракулей в нормальный вид ) ну и нашел нужную команду)) )однако данные я всеже утерял ((
ИМХО я бы поделился полностью от и до, как восстанавливать такие вещи.
Тоже ковыряю винт, не подскажете команду на расшифровку.
форум не дает на прямую общаться, мои координаты ******** icq
Проголодался я тут давеча, иду по улице, глядь, шаверма. Дайте, говорю, покушать. Они мне в ответ — гроши давай! Обидно, на всём люди заработать хотят, на моей беде оголодавшего организма в том числе. Покайтесь, кричу им, ироды бесчеловечные! Всё без толку…
Вы, Вадим, как бы помягче выразиться, дурак, если так рассуждаете.
ахахахххаа)) переход на личности — это Вы можете) а если я не хочу, что-бы мои данные кто-то увидел? может у меня там фото голой жены? или еще что? я много статей писал в интернете (касаемо электроники). Никогда не жался и все полностью раскрывал. Дело то конечно Ваше, но исключение и могли-бы сделать (написав скажем в личку). Но за дурака спасибо, поржал)))))
Вадим добрый день, без пайки левэл шифтера, можно восстановить marvell 88ss9190-bjm2, путем переходника uart-usb?
прям не по делу, лишь бы лично!!! Артем
Неплохо было бы увидеть видео по выполнению всех работ по пайке и наладке com-порта и самой прошивки диска ssd
Не возражаю. Вы можете снять и смонтировать такое видео, и я с радостью размещу его у себя на сайте!
В моём случае, когда накопитель тормозил в винде и был доступен на чтение только в Linux, помогла единственная команда: format
A ещё придумал простейший преобразователь TTL-уровней на 2 диодах. На CH341A связь работает стабильно, несмотря на простоту.
здравствуйте. я вот прочитал данную статью — я так и не понял как вы узнали распиновку для UART подключения? я знаю что надо rx to rx, tx to tx, но как вы на ссд узнали нужные пины? имею msata SSD sandisk x300 256gb контроллер marvell 88ss9190 две штуки, по описанию было ясно что они запаролены, diskpart clean заканчивается ошибкой форматирования. Я так понимаю, вы распиновку узнали через прозвонку с мозгов марвела до этих пинов и сверкой с даташитом этих мозгов? Снизу был такой же вопрос по поводу распиновки, но ответ был немного по другой части.