Как стать автором
Обновить

Восстановление информации c твердотельных накопителей — подводные камни и рекомендации

Время на прочтение3 мин
Количество просмотров22K
Всего голосов 24: ↑21 и ↓3+18
Комментарии27

Комментарии 27

Прочитал. Волосы на… встали дыбом! Вы зачем советуете пользователям паять и греть микросхемы или форматировать SSD, подключив его через USB??? Самостоятельно пропаять BGA или TSOP48 в домашних условиях и без сноровки трудно. Про форматирование вообще молчу…
А потом пользователи приходят, рассказывают такие истории и просят хотя бы чего нибудь восстановить!
Если диск форматируется, значит он частично читается\пишется, в таком случае в бытовых условиях можно например грузануть любой LiveCD с линухом и там попытаться снять образ накопителя утилитой dd или dd_rescue. А дальше уже чем угодно хоть под линукс, хоть под виндоуз, этот образ анализируем.
Но лучше конечно сразу нести профессионалам, дешевле получится.

PS. Уже давно микросхемы NAND Flash из SSD не выпаивают, уж очень муторное занятие. PC-3000 flash (фото которой вы поместили в статье) при живом контроллере накопителя может читать микросхемы в технологическом режиме прямо через sata интерфейс и прогонять это всё через логику контроллера. В этоге на выходе имеем уже расшифрованные (разXORенные) даные и остаётся их собрать.

PS2. А фотка с отпаянными чипами таки от старого древнего сотика фирмы Эриксон.
Уже давно микросхемы NAND Flash из SSD не выпаивают, уж очень муторное занятие.

Причина только в сложности пайки или всё же в отсутствии алгоритмов расшифровки у большинства лабораторий?
Пайка это самое простое. Потом это всё нужно куда-то считать, мучаться с раскодированием страниц и собрать логический. Одна только вычитка чипов с 256 гигового ссд занятие на целый день.
С декодированием тоже то ещё веселье. Кто-то накладывает статический XOR, кто-то динамический, в зависимости от номера логического блока, кто-то вообще шифрует это все aes-ом.
С выпаиванием делалось восстановление с первых ssd в комплексе от Софт-Центра.
Асе-лабовцы по началу тоже пошли по этому пути. Но потом они подключили к разработке ребят с hdd направления, они раздербанили прошивки и дело пошло веселее. Зачем мучаться со считыванием, расшифровкой, отработкой сумм коррекции ошибок, когда у нас в руках есть процессор, который на это заточен и настроен. Его переводят в технорежим, частично инициируют и на выходе получают данные уже декодированные и с исправленными ошибками.

В случае простых usb флешек пока остановились на подходе с выпаиванием. Проще отпаять 1/2/4 чипа, прочитать их и уже дальше софтверно работать. Зоопарк контроллеров громадный и изучить технорежимы у всех никаких сил не хватит.
Ну и исторически так сложилось. Первым общедоступным комплексом был «Flash Extractor» от Софт Центра. Когда он появился объёмы флешек исчислялись сотнями мегабайт и считывание было логичным шагом.
Асе-лаб со своим комплексом догоняющие. ИМХО по железу их считыватель шикарный, а вот софт послабее.
А SSD они начали разрабатывать с чистого листа и намеренно хотели уйти от выпайки и считывания и у них это удаётся.
А некоторые микросхемы вообще не рекомендуется нагревать. Из-за нагрева воздухом у них появляется огромное количество сбойных битов и даже алгоритмы коррекции не способны их исправить.
Вопрос — ну почему, блин, так трудно найти диски малых объёмов, 16, 32, 64 гигабайта :(?! Например для всяких самодельных устройств типа сетевое хранилище/медиаплеер/роутер и т.п.

Про флешки USB 3 знаю — не то, нужен внутрь, ATA и более живучий, про пониженную, относительно бОльших объемов, скорость — из-за ширины шины и т.п., тоже знаю, про переходники для всяких MMC — ну вы поняли.

и, чтоб два раза не вставать:
> рулило, релит и будет рулить
> не забывайте бэкапится
> с которым мы вам и поздравляем!
SSD это суть те же флешки, а современные SSD еще и на чипах менее живучих чем флешки. Профита не будет никакого. Гораздо выгодней смотрится в плане надежности флешка по старой технологии SLC, но цена… проще несколько SSD-шек объединить в надёжный рейд или делать периодический полный бэкап на «внешний накопитель» из 2-3 аналогичных. По стоимости выйдет одинаково если не дешевле.
Уточнил же — «более живучий» :), подразумевались диски на SLC. Хотя живучесть там не особо нужна, так как запись будет минимальна, всё работает в памяти, основную часть времени, кроме конфигов, записываемых перед выключением и логов. Вдобавок подключение — USB не катит, нужно SATA (или PCI-E).
Рэйд тоже не нужен, задача другая, чисто поставить Ось, чтоб считалась быстро и дальше работала в памяти, записывались изменения, если таковые будут быстро и т.д.

Вообще, надёжность большой части современных флешек тоже далеко не фонтан. А уж, как они любят умирать на частой перезаписи (иногда бывает нужно) в NAS-ах — я молчу :(. Конечно нужно покупать более живучие и всё такое, но стоят они других денег.
На скрине ниже указан ключевой атрибут, по которому можно следить за оставшимся ресурсом записи

Оставшийся срок службы 93...93

93 года? Попугая? Секунды? В чем измеряется-то?
В процентах. У нового диска этот параметр 100%.
Так тоже не понятно. В процентах от какой величины? И как проследить скорость уменьшения этих процентов?
Посмотреть в ssdlife сколько сферических лет в вакууме осталось.
Там и правда попугаи. Только часто максимальное количество попугаев в параметре равно 100, что даёт простой и очевидный переход к процентам.
При таком исходе все данные остаются доступными для чтения

Далеко не факт, в тестировании выносливости дисков некоторые просто молча умирали после исчерпания ресурса.
Мне кажется если есть возможность перекатать BGA, так можно просто один контроллер заменить, чем все флеши менять. Хотя дома проще конечно феном все TSOP48 махнуть. А вообще можно с такого-же донора туда-сюда контроллер/флеши переставлять? Думаю да.
Да там обычно контроллер живой остаётся. Летят в основном служебные таблицы, находящиеся во флеше. По этому перепайкой ничего собо не добиться.
ССД обычно штатно стоит в компе и не подключается-отключается по 100 раз на дню. Из-за этого чисто электртчески меньше вероятность сгореть ему по сравнению с usb-флешкой.
А вот повредить служебку при скачке напряжения, или из-за появления битых страниц за просто.
Эти накопители ещё молоды и выпускают их молодые, новые компании. По этому они все ходят по тем же граблям, что и когда-то прошли производители HDD, а SSD болеют детскими болезнями.
Сначала появились развитые системы коррекции битовых ошибок, потом развитые системы трансляции физики в логику, потом 2,3 и тд копии служебных данных.
Препайкой можно починить умерший ссд. Некоторые контроллеры хранят много копий служебки. И после замены умершей микросхемы памяти фирмваря сама дописывает на новую микросхему всё, что надо для работы и переформатирует сам себя. Понятное дело, что про данные можно забыть. Если мне память не изменяет, то так могут ссд на базе марвелов и сандфорсов.
Ну это ясный пионер, я имел ввиду если горит контроллер — махнуть просто все чипы памяти на донора с хорошим контроллером, а не смешивать все флеши в разнобой. Или махнуть контроллер, но я BGA не умею. Точнее умею, но только в одну сторону — сдуть -)
Ну если контроллер сдох, то да. Вообще не такое это сложное дело. Главное равномерный нагрев, побольше флюса и снимать не пинцетом, а вакуумной присоской. Тогда даже можно снимать и ставить обратно без реболлинга. Благо корпуса и размеры шаров во флешках и ссд ещё позволяют. Со смартфонами и телефонами такое уже не прокатывает. Тут уже надо трафаретом пользоваться.
Вообще у аселабы есть свой ютуб канал и там достаточно интересные видео есть, в том числе и про ссд www.youtube.com/user/PC3000datarecovery?feature=watch
Команда TRIM является командой интерфейса ATA, но при подключении диска через USB-переходник она не выполняется.
От этого обстоятельства я немало досадую, господа читатели.

Как думаете, когда производители устранят эту проблему и дадут людям возможность подключать SSD не только внутрь корпуса (или в пределах досятаемости SATA-шнурка), но также и по USB без потери возможности употреблять TRIM?

В чём основная трудность — в интерфейсах, в драйверах, в операционной системе?
В спецификации usb mass storage device нет команды trim. Тут либо свои драйверы разрабатывать, либо переделывать стандарт. Отдельные драйверы неудобны, пропадает мобильность флешки или накопителя в кейсе. А ещё кроме виндоуз есть куча жругих ОС и устрайств.
Проще выпустить новую редакцию стандартов и в новых ОС её применять. Например и через sata не всегда был trim. В ХР он точно не поддерживается.
То есть технически «по месту» такой драйвер можно сделать и поставить в систему, но работать он будет только на конкретной машине, и если воткнуть SSD соседу, то там TRIM проводится не будет, но когда вернешь его «на базу» команда продолжит работу как ни в чем ни бывало.

Единственная проблема разработки такого драйвера — это трудоемкость и необходимость сертификации, что для добавления всего одной функции которой пользоваться будут один на миллион просто не оправдано ни экономически ни технически.
Ну чисто теоретически — да. Практически — даже сейчас можно попробовать запустить trim. Есть много мостов usb-sata которые пропускают все ata комманды. Через такие мосты, например, можно смотреть smart диска или даже получать доступ к служебке. Думаю ничего не мешает и отправлять комманду trim.
На уровне программирования это всё выполняется посредствам вызова функции DeviceIOControl с необходимыми аргументами либо отправкой напрямую scsi комманд.
Другое дело, что этого все «не документированые» возможности и все мосты это обрабатывают по разному, а могут и вообще блокировать, или использовать эти диапазоны комманд для своих служебных целей.
А всё потому, что нет стандарта. Как только он будет и производители подтянутся. Думаю и для обыкновенный флешек не лишним будет «trim».
В интерфейсе, объяснили же.

Производители SSD, уверен, устранять это не намерены и даже не считают это проблемой. Подключение SSD по USB для постоянной работы приходит в голову пользователям только на постсоветском пространстве, где производителей SSD не наблюдается. Ну может еще в Китае; там может что-то и придумают.

P.S. Хотя кто знает, может с выходом USB 3.1 в массы что-то и изменится.
Спаивать микрухи и читать на программаторе, потом собирать данные, можно только на ссд где нет шифрования. SandForce сразу отпадает.
Совет про форматирование вообще порадовал… кастрировать за такое надо.
Надо же таком у случиться, что вскоре после этой статьи у меня полностью умер OCZ Agility 4 256Gb. Мониторинг SMART параметров велся, ничего не предвещало беды, но однажды диск просто перестал определятся в BIOS.

Так как большая часть информации на диске бэкапилась, то ничего страшного не произошло. Но в процессе поиска возможных причин отказа выяснилась очень некрасивая информация, напрямую касающаяся фирмы OCZ: на диск действовала 3-хлетняя гарантия, которая была в одностороннем порядке прекращена фирмой OCZ 25 января 2015 года.

Не трудно догадаться, что после такого отношения к своим покупателям, в качестве замены для умершего SSD продукция фирмы OSZ не рассматривалась.
рекаверисты ненавидят OSZ за шифрование
Зарегистрируйтесь на Хабре, чтобы оставить комментарий