Как вернуть подержанному твердотельному накопителю (SSD) пиковую производительность? Восстановление файлов с флэш-накопителей SSD.

06.09.2019 Принтеры и сканеры

Восстановление SSD-накопителей | Когда хорошая память попадает в неприятные ситуации

В этот раз мы связались с лабораторией Flashback Data, сотрудники которой занимаются всеми типами устройств для хранения данных, но имеют особый опыт работы с флэш-памятью. Представители Flashback Data согласились показать нам, какие усилия предпримет высококлассная лаборатория ради спасения нашей драгоценной флэш-памяти.


Восстановление SSD-накопителей | Диапазон чтения

В самом начале своего пути Flashback в основном производила замену неисправных чипов, но со временем продолжать это становилось всё тяжелее, поскольку производители стали использовать различные компоненты на различных стадиях производства в одной и той же модели. На некоторых устройствах появилось шифрование, которое ещё больше затрудняет процесс восстановления данных. В этом случае от Flashback требовалась возможность чтения памяти напрямую, что, в свою очередь, означало необходимость обладать невероятным количеством способов для чтения чипов из столь широкого разнообразия имеющейся флэш-памяти.

Заметим, что когда Flashback ссылается на "шифрование", это состояние, как правило, является неизвестным для пользователя. Например, где-то с 2006 года SanDisk начала шифровать данные на всех своих накопителях, как поведал нам один из основателей и вице-президент компании Flashback Рассел Чозик (Russell Chozick). Как и в случае с автоматическим шифрованием жёстких дисков, контроллер производит шифрование всех данных, хранящихся во флэш-памяти. Так как для блокировки шифрования не предусмотрен пароль, данные расшифровываются и извлекаются из носителя. Так что в случае повреждения печатной платы сотрудники Flashback стараются переместить контроллер и чипы памяти в новое устройство. "Если сгорел контроллер, то получить данные обратно практически нереально, поскольку именно на нём содержится информация о том, как именно нужно расшифровать данные. При отсутствии возможности работы с контроллером вы сталкиваетесь с большой проблемой".

Восстановление SSD-накопителей | Типы флэш-памяти

Эти тёмно-серые чипы стандарта TSOP48 в течение многих лет являлись типичными компонентами USB-накопителей, а также карт памяти SSD/SD/CF, но в последнее время они открыли дорогу и для других чипов. На самом нижнем образце на картинке видно заднюю часть чипа TLGA, и вы можете заметить, что сбоку нет контактов, а модули расположены на задней стороне. Такие чипы являются обычными для всех типов флэш-памяти и работают, например, в новейших смартфонах iPhone.

Во время процесса восстановления сотрудники Flashback вставляют чипы TSOP48 в считывающие устройства, но TLGA также должны быть припаяны. Очевидно, что при этом процессы анализа и восстановления информации происходят куда сложнее. Так что после внедрения в смартфоны более компактной флэш-памяти старые "монолитные" форматы кажутся более простыми в сравнении с ней.

Карты памяти формата SD и USB-устройства LaCie также имеют монолитные чипы. В то время как большинство карт памяти имеет отдельные чипы контроллера и памяти, в монолитном чипе оба компонента объединены в одном крошечном модуле. Очевидно, что нарушения в работе таких устройств могут произойти по любой из множества причин. Если перестаёт работать контроллер, то специалисты всё равно могут получить доступ к данным при помощи других средств вместо использования контактов для подключения к кардридеру, смартфону или камере. На фотографии заметно, как с устройства частично снят корпус, поскольку специалистам необходимо удалить некоторую часть припаянного чёрного покрытия, чтобы найти определённые точки для подключения к логическому анализатору. Как только все точки будут определены, карта будет подсоединена так, как это показано на следующих картинках.

Для удаления части покрытия сотрудниками Flashback используются удивительно незамысловатые инструменты: шлифовальная паста и полировальный круг. Для достижения этой цели можно использовать и химикаты, однако нам сказали, что лучше воспользоваться медленным и тщательным процессом полировки. В процессе шлифования можно легко повредить очень тонкие контакты. Сначала мы попросили подключить накопитель LaCie, но затем отказались от этой идеи, узнав, что такая работа может занять у специалиста целый день.

Восстановление SSD-накопителей | Типичные ошибки флэш-накопителей

Мы видели фотографии повреждённых жёстких дисков, большинство из которых пострадало из-за столкновения головки с треками в магнитном носителе. Практически все повреждения SSD-накопителей и флэш-памяти, которые обнаруживают сотрудники Flashback, незаметны. В редких случаях можно увидеть след ожога на печатной плате, но, в целом, сломанные контроллеры и сожжённые предохранители не оставляют видимых признаков. В итоге, специалистам приходится долго работать, тестируя каждый резистор. В сравнении с этим отсоединить коннектор, как это показано на фото, для специалистов по ремонту – пара пустяков.

Восстановление SSD-накопителей | Как насчёт изнашивания?

Ранее мы уже писали о постоянной гонке двух процессов – усовершенствованием чтения алгоритмов по мере увеличения ёмкости и сокращением литографии, что напоминает перетягивание каната. В частности, мы обеспокоены тем, что флэш- и SSD-накопители, проработавшие несколько лет, могут проявлять признаки износа.

К счастью, как нам говорят, большинству SSD-накопителей, которые поступают в лабораторию Flashback, нет ещё и года, так что и износа NAND-памяти не наблюдается. На самом деле, случаи фактического износа крайне редки. Хотя у USB-флэшек (особенно более старых моделей с менее совершенными алгоритмами выравнивания) износ распространён чуть больше. Считывание с чипов происходит отлично, но при проверке информации возникает множество ошибок ECC, и никакие данные извлечь не получается. Наличие четырёх красных точек (далее на картинках) говорит о проблемах с ECC. Напротив, основные проблемы износа будут отмечены четырьмя зелёными точками.

Были и такие случаи, когда специалисты проводили анализ, вынимали чип, чистили ламель и ставили всё на место, усугубляя проблему со считыванием данных, на что теперь требовалось больше времени. Так что износ и правда можно расценивать как реальную опасность, но здесь не идёт речи ни о каком кризисе, хотя многие могли бы о нём подумать.

Восстановление SSD-накопителей | Нагрей

Чипы должны быть удалены с печатной платы при помощи специального паяльного приспособления, и одним из главных инструментов на этом этапе является горячий воздух. На картинке видно, как специалисты удаляют TLGA-чип из USB-устройства. Они контролируют температуру и давление воздуха, нагревая устройство настолько, чтобы можно было расплавить спаянные точки. В таких паяльных станциях также имеются паяльники, сварочный флюс, омметры и другие приспособления для диагностики. Некоторые из этих станций занимают основную лабораторию Flashback, площадь которой составляет примерно 465 квадратных метров.



СОДЕРЖАНИЕ

Представьте ситуацию: удалились данные с SSD, или твердотельный накопитель вышел из строя. Возможно ли восстановить информацию? Рассмотрим, какими программами происходит восстановление данных с SSD диска, и когда это возможно.

Немного теории

На традиционном HDD удаляется только индекс. ОС помечает запись файла в файловой системе, чтобы объявить эти блоки доступными. В них записывается другая информация, но старые данные остаются доступными. Поэтому они . Реальное содержимое остается пока в этот сектор не запишутся новые данные.

Что происходит при удалении

Данные пишутся в пустые ячейки NAND памяти. При удалении ОС обращается к контроллеру SSD, передавая команду TRIM (удалить). Что это за команда?
TRIM - технология интерфейса ATA (используется для подключения накопителей). Сообщает ОС какие ячейки с информацией могут быть очищены диском. Он мгновенно удаляет содержимое блоков без уведомления пользователя. Такой механизм делает невозможным .
Если SSD встроен в ПК через SATA и на нем находится ОС, или используется как дополнительное файловое хранилище - восстановить утерянную информацию не получится. Причина - команда TRIM. При удалении контроллер получает команду на физическое удаление информации в блоке в этот же момент.
Рассмотрим случаи, когда возможно восстановление данных с SSD дисков.

Когда восстановление возможно

  1. Не выполнилась команда TRIM: сбой файловой системы;
  2. TRIM не поддерживается старыми ОС, ниже Windows 7;
  3. Диск используется как внешний накопитель;
  4. Команда TRIM не поддерживается устройством;
  5. Диск отформатирован в FAT;
  6. При сбое в таблице разделов диска. Потеряется доступ к информации, но команда TRIM не запустится.

Как узнать, что диск сломался

Если устройство не работает, происходит следующее:

  1. Постоянное постукивание или жужжание;
  2. Софт не инсталлируется, игры не запускаются. Связано с появлением Bad-секторов
  3. Появляется ошибка «Файловая система повреждена».

Как восстановить

Установите программу Renee Undeleter . Нажмите два раза ЛКМ по инсталляционному «exe» файлу для начала установки. Она простая не вызовет сложностей даже у начинающий пользователей. Программа предлагает использовать четыре варианта восстановления:

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

Hetman Recovery

Скачайте утилиту с официального сайта . Благодаря встроенному Мастеру, работа не вызовет сложностей даже у неподготовленных пользователей. Он покажет последовательность действий.
После открытия программы, отобразится список всех HDD. Даже тех, которые не определяются системой. Отобразятся как не размеченные области.
Запускаем Мастер. Нажав на кнопку «Wizard».
Выбираем нужный диск.
Определяемся как программа будет анализировать данные. Предлагается два варианта: быстрый или полный. Для SSD используете второй вариант «Full».
Запустите сканирование. После его завершения восстановите файлы, кликнув на «Recovery».

Восстановление данных с жесткого диска SSD программой DMDE

Скачайте приложение с официального сайта . Бесплатная версия имеет ограничение. Восстанавливает файлы по одному. Запустите программу, выберите носитель, с которого нужно восстановить информацию.
Утилита проанализирует структуру SSD, отобразит информацию о разделах. Выберите нужный, далее «Открыть».
В левой части программы выберете «Найденное», справа в параметрах установите «Чистая», далее поставьте значение «Включить удаленные».
Найденные файлы программа отметит крестиком. Выберите те, которые нужно восстановить, укажите директорию, куда программа сохранит восстановленную информацию.

Расширенный поиск

После выбора нажмите кнопку «Полное сканирование».
Далее:

При повелении ошибок чтения MFT нажимайте кнопку «ОК». Будет произведен дальнейший анализ.

AdvancedDiskRecovery

Скачайте утилиту по адресу: https://www.systweak.com/advanced-disk-recovery/ . Запустите инсталляционный «exe» файл для установки.
Откроется окно программы где:
Перейдя в раздел «Настройки» выберите тип сканирования:

  1. Быстрое. Поиск удаленной информации на основе таблицы файлов;
  2. Полное. Определение удаленных файлов по сигнатуре.

Вывод

Мы рассмотрели, как восстановить данные с SSD диска. Воспользуйтесь для этого приложениями, описанными выше. Начинающим рекомендую использовать Hetman Partition. Благодаря встроенному мастеру процесс восстановления не вызовет трудностей.

Ищите как восстановить данные SSD OCZ ? Проблемы с работоспособностью или ошибки SSD OCZ стали причиной утери данных? Всегда ли такие данные утеряны безвозвратно или существуют способы, с помощью которых их ещё можно восстановить? Отремонтируйте носитель информации, исправьте ошибки, приводящие к сбою в работе, и восстановите утерянные данные самостоятельно.

Если необходимо восстановить жесткий или внешний диск (HDD, SSD или SSHD), карту памяти или USB флешку, в первую очередь вам необходимо подсоединить устройство к компьютеру. Если вы хотите восстановить данные с автомобильного регистратора, телефона, фото или видео камеры, аудиоплеера, вы должны извлечь карту памяти и подключить ее к стационарному компьютеру. Вы можете опробовать данную инструкцию и для внутренней памяти устройств, если после подключения вы видите свое устройство в папке Мой компьютер как флешку.

Ремонт и восстановление данных SSD OCZ

Шаг 1: Программа для восстановления SSD OCZ

В случаях, когда c SSD OCZ удалены файлы и стандартными средствами операционной системы вернуть их не предоставляется возможным, наиболее действенным способом будет использование Hetman Partition Recovery .

Для этого:

  • Загрузите программу , установите и запустите её.
  • По умолчанию, пользователю будет предложено воспользоваться Мастером восстановления файлов . Нажмите кнопку «Далее» , программа предложит выбрать диск, с которого необходимо восстановить файлы.
  • Дважды кликните на диске и выберите тип анализа. Укажите «Полный анализ» и ждите завершения процесса сканирования диска.
  • «Восстановить» .
  • Выберите один из предложенных способов сохранения файлов. Не сохраняйте восстановленные файлы на диск, с которого эти файлы были удалены – их можно затереть.

Шаг 2: Восстановите данные SSD OCZ после форматирования или удаления раздела

Восстановите файлы после форматирования

Ищите как восстановить файлы SSD OCZ после форматирования? Следуйте инструкции:

  • , установите и запустите его. После запуска в левой колонке основного окна программа обнаружит и выведет все физические диски, а также доступные и недоступные разделы и области на дисках.
  • Дважды кликните на диске или области файлы из которой необходимо восстановить и выберите тип анализа.
  • Выберите «Полный анализ» и дождитесь завершения процесса сканирования диска.
  • После окончания процесса сканирования вам будут предоставлены файлы для восстановления. Выделите нужные и нажмите кнопку «Восстановить» .
  • Выберите один из предложенных способов сохранения файлов. Не сохраняйте файлы на диск, с которого эти файлы были удалены – их можно затереть.

Восстановите данные удаленного раздела

Ищите как восстановить файлы c удаленного раздела SSD OCZ? Следуйте инструкции:

  • Загрузите Hetman Partition Recovery , установите и запустите его. После запуска в левой колонке основного окна программа обнаружит и выведет все физические диски, флешки или карты памяти. Список физических устройств расположен после логических дисков.
  • Дважды кликните на физическом устройстве, с которого был удален раздел.
  • Укажите «Полный анализ» и дождитесь завершения процесса сканирования.
  • После сканирования вам будут предоставлены файлы для восстановления. Выделите нужные и нажмите кнопку «Восстановить» .
  • Выберите один из предложенных способов сохранения файлов. Не сохраняйте файлы на диск, с которого они были удалены – их можно затереть.

Восстановите данные системного раздела на другом компьютере

В случае утери системного раздела, осуществить загрузку компьютера невозможно. Поэтому:

  • Изымите или отключите жесткий диск с утерянным системным разделом из компьютера.
  • Подключите данный HDD к другому компьютеру.
  • Убедитесь, что ваш жесткий диск правильно определяется другим компьютером.
  • Осуществите действия, указанные в предыдущем пункте.

Восстановите системный раздел с помощью LiveCD

Если нет возможности подключить жесткий диск с утерянным или повреждённым системным разделом к другому компьютеру, можно восстановить такой раздел запустив компьютер с помощью LiveCD – альтернативной портативной версии операционной системы. Для этого:

  • Найдите и скачайте подходящий вам LiveCD на CD/DVD-диск или USB-накопитель.
  • Подключите LiveCD к компьютеру и включите его. Компьютер автоматически загрузится с LiveCD.
  • Скопируйте файлы c системного раздела на другой носитель информации (часто, внешний жесткий диск).

Шаг 3: SMART параметры SSD OCZ

Крупные производители жестких дисков включают технологию S.M.A.R.T. в свои жесткие диски. S.M.A.R.T. анализирует множество механических атрибутов. Анализ многих из них даёт возможность зафиксировать неправильную работу диска до момента его полного отказа, а также причину его отказа.

Но несмотря на то, что S.M.A.R.T. позволяет определить будущие проблемы, большинство из них невозможно предотвратить. Таким образом S.M.A.R.T. – это технология, которая часто служит для предупреждения о скором выходе диска из строя. Значения S.M.A.R.T. нельзя исправить, и тратить время на это нет необходимости.

Каждый производитель жестких дисков устанавливает пороговое значение для той или иной операции. При нормальных обстоятельствах, такое пороговое значение никогда не превышается. В обратном случае – мы сталкиваемся с ошибкой.

Есть 256 значений, каждое из которых имеет своё ID. Некоторые ошибки и предельные значения критичны. Они не имеют решения. Единственным решением есть замена жесткого диска, сразу же после обнаружения такой ошибки.

Критичные SMART ошибки не имеют способа их исправления. Если не заменить жесткий диск, то окно с ошибкой будет появляться вновь и вновь. Единственным оправданным действием в таком случае будет сохранение данных из ещё доступных секторов диска. Если предупреждение об ошибке осуществится, диск станет недоступным ни для одной из программ. Поэтому необходимо предпринять шаги по сохранению ваших данных.

Шаг 4: Восстановите файловую систему SSD OCZ

Отформатируйте носитель информации

Если файловую систему SSD OCZ определить не предоставляется возможным – отформатируйте устройство.

Файловая система SSD OCZ определяется как RAW

Иногда операционная система не может определить структуру файловой системы (например, FAT или NTFS). Если посмотреть свойства такого устройства, то его файловая система будет определяться как RAW. В этом случае Windows предлагает отформатировать диск.

Существует утилиты, которые специализируются на восстановлении RAW диска, однако мы рекомендуем остановиться на универсальном решении - Hetman Partition Recovery. Эта функция включена в нее как дополнительная, вам нужно только запустить программу и запустить анализ такого диска.

В некоторых случаях файловую систему SSD OCZ можно восстановить с помощью команды CHKDSK .

  1. Запустите Командную строку от имени Администратора .
  2. Введите команду “chkdsk D: /f” (вместо D: – введите букву необходимого диска) и нажмите ENTER .
  3. После запуска команды, запустится процесс проверки и исправления ошибок на диске или устройстве, это может вернуть работоспособность файловой системе.

Шаг 5:

Если USB-флешка, карта памяти или любой другой тип носителя информации работает неправильно, очистка диска и его разделов с помощью команды “Clean” и инструмента Diskpart – может стать одним из способов решения проблем. Этот инструмент исправит ошибки если устройство не получается отформатировать или его размер определяется неправильно.

  1. Запустите Командную строку от имени Администратора .
  2. Запустите команду DISKPART .
  3. Отобразите список дисков с помощью команды LIST DISK и определите номер диска, который необходимо восстановить.
  4. Выберите необходимый диск: SELECT DISK # (вместо # - введите номер диска).
  5. Запустите команду CLEAN .
  6. Создайте на очищенном диске раздел и отформатируйте его в желаемой файловой системе.

Шаг 6:

Просканируйте диск на наличие ошибок и битых секторов, и исправьте их

Запустите проверку всех разделов жесткого диска и попробуйте исправить найденные ошибки. Для этого:

  • Откройте папку «Этот компьютер» .
  • Кликните правой кнопкой мышки на диске с ошибкой.
  • Выберите Свойства / Сервис / Проверить (в разделе Проверка диска на наличие ошибок ).

В результате сканирования обнаруженные на диске ошибки могут быть исправлены.

  • Откройте папку «Этот компьютер» и кликните правой кнопкой мышки на диске.
  • Выберите Свойства / Сервис / Оптимизировать (в разделе Оптимизация и дефрагментация диска ).
  • Выберите диск, который необходимо оптимизировать и кликните Оптимизировать .

Примечание . В Windows 10 дефрагментацию / оптимизацию диска можно настроить таким образом, что она будет осуществляться автоматически.

Шаг 7: Ремонт SSD OCZ

Важно понимать, что любой из способов устранения ошибок SSD OCZ – это всего лишь их виртуальное устранение. Часто невозможно полностью устранить причину возникновения ошибки, так как устройство требует ремонта.

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

Шаг 8: Резервное копирование SSD OCZ

Существует несколько решений для создания резервных копий данных:

  1. Встроенные в операционную систему приложения . Microsoft Windows предоставляет способы резервного копирования данных, которые предполагают сохранение файлов и данных на внешних или встроенных носителях информации. Все современные версии Windows уже включают в себя возможность создания резервной копии необходимых файлов или всего жесткого диска, в случае необходимости. Предоставляемые Windows функции являются полными и самостоятельными, и направлены на то чтобы у вас не возникала необходимость пользоваться сторонними сервисами или программами.
  2. Копирование данных вручную . Всегда можно воспользоваться старым проверенным способом создания резервной копии данных – ручное копирования данных на внешний носитель информации. Это долго, но, если вы работаете с небольшим количеством данных, такое решение может оказаться для вас вполне приемлемым.
  3. Онлайн сервисы . В последнее время всё большую популярность приобретает наиболее современный способ резервирования данных – это многочисленные онлайн сервисы. Компании, которые обеспечивают резервирование ваших файлов прямиком в интернете. Небольшое установленное на компьютере фоновое приложение, создаёт копии необходимых данных и сохраняет их на удалённом сервере. Однако, предоставляемы такими компаниями объёмы для хранения ваших файлов в бесплатной версии не позволяют использовать их как комплексное решения. Часто предлагаемое для резервирования данных место не превышает 10 ГБ, соответственно говорить о создании резервной копии всего жесткого диска не приходится. Такие сервисы скорее нацелены на резервирование отдельного количества файлов.
  4. Создание образа диска . Это наиболее полное решение для создания резервной копии данных, которым пользуются продвинутые пользователи. Данный способ предполагает использование сторонней программы для создания образа всего диска, который может быть развёрнут в случае необходимости на другом носителе информации. С помощью данного решения, можно в короткий промежуток времени получить доступ ко всем данным которые находились на диске в момент его резервирования: документам, программам и медиа файлам.

Приветствую всех Хабровчан!

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

Как нетрудно догадаться, с накопителями, расположенными в зеленой зоне, обычно возникает меньше всего проблем (при условии, что инженер обладает необходимым инструментарием, разумеется). А накопители из красной зоны способны доставить немало страданий как их владельцам, так и инженерам-восстановителям. В случае выхода из строя подобных SSD шансы вернуть назад потерянные данные на сегодняшний день слишком малы. Если ваш SSD расположен в красной зоне или рядом с ней, то я бы советовал делать backup перед каждой чисткой зубов.

Те, кто уже сегодня сделал backup, добро пожаловать под кат.

Тут следует сделать небольшую оговорку. Некоторые компании умеют чуть больше, некоторые чуть меньше. Результаты, проиллюстрированные на диаграмме, представляют из себя нечто среднее по индустрии по состоянию на 2015 год.

На сегодняшний день распространены два подхода к восстановлению данных с неисправных SSD.

Подход №1. Вычитывание дампов NAND flash микросхем

Решение задачи что называется в лоб. Логика проста. Пользовательские данные хранятся на микросхемах NAND flash памяти. Накопитель неисправен, но что, если сами микросхемы в порядке? В абсолютном большинстве случаев так и есть, микросхемы работоспособны. Часть данных, хранящихся на них, может быть повреждена, но сами микросхемы функционируют нормально. Тогда можно отпаять каждую микросхему от печатной платы накопителя и считать ее содержимое с помощью программатора. А после попробовать собрать логический образ накопителя из полученных файлов. Этот подход в настоящее время используется при восстановлении данных с usb flash накопителей и различных карт памяти. Сразу скажу, что работа эта не из благодарных.

Трудности могут возникнуть еще на этапе считывания. Микросхемы NAND flash памяти выпускаются в разных корпусах, и для конкретной микросхемы в комплекте с программатором может не оказаться нужного адаптера. Для таких случаев в комплекте обычно есть некоторый универсальный адаптер под распайку. Инженер вынужден, используя тонкие проводки и паяльник, соединить нужные ножки микросхемы с соответствующими контактами адаптера. Задача вполне решаемая, но требует прямых рук, определенных навыков и времени. Сам то я с паяльником знаком не близко, поэтому такая работа вызывает уважение.

Не будем также забывать, что в SSD таких микросхем будет скорее всего 8 или 16, и каждую придется распаять и считать. Да и сам процесс вычитывания микросхемы тоже быстрым не назовешь.
Ну а дальше остается только из полученных дампов собрать образ и дело в шляпе! Но тут то и начинается самое интересное. Не буду углубляться в подробности, опишу только основные задачи, которые предстоит решить инженеру и используемым им ПО.

Битовые ошибки

Природа микросхем NAND flash памяти такова, что в сохраненных данных непременно появляются ошибки. Отдельные ячейки памяти начинают читаться неверно, причем стабильно неверно. И это считается нормой ровно до тех пор пока количество ошибок внутри определенного диапазона не превысит некоторый порог. Для борьбы с битовыми ошибками используются коды коррекции (ECC). При сохранении пользовательских данных, накопитель предварительно делит блок данных на несколько диапазонов и каждому диапазону добавляет некоторые избыточные данные, которые позволяют обнаружить и исправить возможные ошибки. Количество ошибок, которые могут быть исправлены определяется мощностью кода.

Чем выше мощность кода, тем длиннее последовательность приписываемых байт. Процесс вычисления и добавления упомянутой последовательности называется кодированием, а исправления битовых ошибок - декодированием. Схемы кодирования и декодирования обычно аппаратно реализованы внутри контроллера накопителя. При выполнении команды чтения накопитель наряду с прочими операциями выполняет также исправление битовых ошибок. С полученными файлами дампов необходимо провести ту же процедуру декодирования. Для этого нужно определить параметры используемого кода.

Формат страниц микросхем памяти

Единицей чтения и записи у микросхем памяти выступает единица, именуемая страницей. Для современных микросхем размер страницы равен приблизительно 8 КБ или 4 КБ. Причем это значение не является степенью двойки, а немного больше. Т. е. внутри страницы можно разместить 4 или 8 КБ пользовательских данных и еще что-нибудь. Эту избыточную часть накопители используют для хранения кодов коррекции и некоторых служебных данных. Обычно страница поделена на несколько диапазонов. Каждый диапазон состоит из области пользовательских данных (UA) и области служебных данных (SA). Последняя как раз и хранит внутри себя коды коррекции, которые защищают данный диапазон.

Все страницы имеют один и тот же формат, и для успешного восстановления необходимо определить каким диапазонам байт соответствуют пользовательские данные, а каким служебные.

Скремблирование VS Шифрование

Большинство современных SSD не хранят пользовательские данные в открытом виде, вместо этого они предварительно скремблируются или зашифровываются. Разница между этими двумя понятиями достаточно условна. Скремблирование - это некоторое обратимое преобразование. Основная задача этого преобразования получить из исходных данных нечто похожее на случайную последовательность бит. Данное преобразование не является криптостойким. Знание алгоритма преобразования позволяет без особого труда получить исходные данные. В случае с шифрованием знание одного лишь алгоритма ничего не дает. Необходимо также знать и ключ для расшифровки. Поэтому, если в накопителе используется аппаратное шифрование данных, и вам неизвестны параметры шифрования, то из считанных дампов данные восстановить не получится. Лучше даже не приступать к этой задаче. Благо большинство производителей честно признаются в том, что используют шифрование.

Более того, маркетологи сумели сделать из этой преступной (с точки зрения восстановления данных) функциональности опцию, которая якобы дает конкурентное преимущество над другими накопителями. И ладно если бы были отдельные модели для параноиков, в которых была бы качественно сделана защита от несанкционированного доступа. Но сейчас, видимо, настало время, когда отсутствие шифрования считается плохим тоном.
В случае со скремблированием дела обстоят не так печально. В накопителях оно реализовано как побитовая операция XOR (сложение по модулю 2, исключающее «ИЛИ») , выполненная над исходными данными и некоторой сгенерированной последовательностью бит (XOR паттерном).

Часто эту операцию обозначают символом ⊕.

Поскольку
То для получения исходных данных необходимо произвести побитовое сложение прочитанного буфера и XOR паттерна:

(X ⊕ Key) ⊕ Key = X ⊕ (Key ⊕ Key) = X ⊕ 0 = X

Остается определить XOR паттерн. В самом простом случае для всех страниц применяется один и тот же XOR паттерн. Иногда накопитель генерирует длинный паттерн, скажем длиной в 256 страниц, тогда каждая из первых 256 страниц микросхемы складывается со своим куском паттерна, и так повторяется для следующих групп из 256 страниц. Но бывают случаи и посложнее. Когда для каждой страницы индивидуально генерируется свой паттерн на основании какого-то закона. В таких случаях помимо прочего нужно еще попытаться разгадать этот закон, что уже, мягко скажем, непросто.

Сборка образа

После выполнения всех предварительных преобразований (исправление битовых ошибок, устранение скремблирования, определение формата страницы и, возможно, некоторых других) заключительным этапом идет сборка образа. В силу того, что количество циклов перезаписи для ячеек микросхемы ограничено, накопители вынуждены использовать механизмы выравнивания износа, чтобы продлить время жизни микросхем. Следствием этого является то, что пользовательские данные сохранены не последовательно, а хаотично разбросаны внутри микросхем. Очевидно, что накопителю необходимо как-то запоминать куда он сохранил текущий блок данных. Для этого он использует специальные таблицы и списки, которые так же хранит на микросхемах памяти. Множество этих структур принято называть транслятором. Вернее будет сказать, что транслятор это некая абстракция, которая отвечает за преобразования логических адресов (номера секторов) в физические (микросхема и страница).

Соответственно, чтобы собрать логический образ накопителя, необходимо разобраться с форматом и назначением всех структур транслятора, а также знать как их найти. Некоторые из структур являются достаточно объемными, поэтому накопитель не хранит ее целиком в одном месте, а она также оказывается кусками разбросана по разным страницам. В таких случаях должна быть структура, описывающая это распределение. Получается некий транслятор для транслятора. На этом обычно останавливаются, но можно пойти еще дальше.

Данный подход к восстановлению данных заставляет полностью эмулировать работу накопителя на низком уровне. Отсюда вытекают плюсы и минусы этого подхода.

Минусы:

  • Трудоемкость . Поскольку мы полностью эмулируем работу накопителя, нам придется выполнить всю грязную работу за него.
  • Риск потерпеть фиаско . Если не удастся решить хотя бы одну из поставленных задач, то о восстановлении не может быть и речи. А вариантов много: невозможность прочитать микросхемы, потому что программатор их не поддерживает; неизвестные коды коррекции; неизвестный XOR паттерн; шифрование; неизвестный транслятор
  • Риск еще больше угробить накопитель . Помимо трясущихся рук риском является сам нагрев микросхем памяти. Для изношенных микросхем это может привести к появлению дополнительного числа битовых ошибок.
  • Время и стоимость работ
Плюсы:
  • Широкий круг задач . Все, что нужно от накопителя, это работающие микросхемы памяти. Неважно в каком состоянии остальные элементы.

Подход №2. Технологический режим

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

Как уже было сказано выше, со временем в микросхемах памяти неизбежно появляются битовые ошибки. Так вот, согласно статистике, причиной выхода из строя SSD в большинстве случаев является появление некорректируемых битовых ошибок в служебных структурах. То есть на физическом уровне все элементы работают нормально. Но SSD не может корректно инициализироваться из-за того, что одна из служебных структур повреждена. Такая ситуация разными моделями SSD обрабатывается по-разному. Некоторые SSD переходят в аварийный режим работы, в котором функциональность накопителя значительно урезана, в частности, на любые команды чтения или записи накопитель возвращает ошибку. Часто при этом, чтобы как-то просигнализировать о поломке, накопитель меняет некоторые свои паспортные данные. Например, Intel 320 series вместо своего серийного номера возвращает строку с кодом ошибки. Наиболее часто встречаются неисправности из серии «BAD_CTX %код ошибки%”.

В таких ситуациях очень кстати оказывается знание технологических команд. С помощью них можно проанализировать все служебные структуры, также почитать внутренние логи накопителя и попытаться выяснить, что же все таки пошло не так в процессе инициализации. Собственно скорее всего для этого и были добавлены техно-команды, чтобы производитель имел возможность выяснить причину выхода из строя своих накопителей и попытаться что-то улучшить в их работе. Определив причину неисправности, можно попытаться ее устранить и вновь вернуть накопитель к жизни. Но все это требует по-настоящему глубинных знаний об архитектуре устройства. Под архитектурой здесь я в большей степени понимаю микропрограмму накопителя и служебные данные, которыми она оперирует. Подобным уровнем знаний обладают разве что сами разработчики. Поэтому, если Вы к ним не относитесь, то Вы либо должны обладать исчерпывающей документацией на накопитель, либо Вам придется потратить изрядное количество часов на изучение данной модели. Понятное дело разработчики не спешат делиться своими наработками и в свободном доступе таких документаций нет. Говоря откровенно, я вообще сомневаюсь, что такие документации существуют.

В настоящее время производителей SSD слишком много, а новые модели появляются слишком часто, и на детальное изучение не остается времени. Поэтому практикуется немного другой подход.

Среди технологических команд очень полезными оказываются команды, позволяющие читать страницы микросхем памяти. Таким образом можно считать целиком дампы через SATA интерфейс накопителя, не вскрывая корпус SSD. Сам накопитель в таком случае выступает в роли программатора микросхем NAND flash памяти. В принципе, подобные действия даже не должны нарушать условий гарантии на накопитель.

Часто обработчики техно-команд чтения микросхем памяти реализованы так, что есть возможность оставить исправление битовых ошибок, а иногда и расшифровку данных , на стороне накопителя. Что, в свою очередь, значительно облегчает процесс восстановления данных. По сути остается только разобраться с механизмами трансляции и, можно сказать, решение готово.

На словах то оно, кончено, все просто звучит. Но на разработку подобных решений уходит немало человеко-часов. И в результате мы добавляем в поддержку всего одну модель SSD.

Но зато сам процесс восстановления данных упрощается колоссально! Имея подобную утилиту, остается только подключить накопитель к компьютеру и запустить эту утилиту, которая с помощью техно-команд и анализа служебных структур построит логический образ. Дальше остается только анализ разделов и файловых систем. Что тоже может быть непростой задачей. Но в большинстве случаев построенный образ без особого труда позволяет восстановить большую часть пользовательских данных.

Минусы:

  • Сложность и стоимость разработки . Достаточно немногие компании могут себе позволить содержать свой отдел разработок и проводить подобного рода исследования.
  • Решения индивидуальны .
  • Ограниченный круг задач . Не ко всем накопителям применим данный подход. SSD должен быть физически исправен. Также, редко, но все же бывает, что повреждения некоторых служебных структур, исключает возможность восстановления пользовательских данных.
Плюсы:
  • Простота .
  • В некоторых случаях позволяет обойти шифрование . По сути подход к восстановлению данных с помощью технологических команд на сегодняшний день является единственным известным способом восстановить данные с некоторых накопителей, использующих аппаратное шифрование данных.

Заключение

На войне все средства хороши. Но лично я отдаю предпочтение второму подходу как более тонкому инструменту. И наиболее перспективному, поскольку все более широкое распространение аппаратного шифрования исключает возможность восстановления информации с „сырых“ дампов микросхем. Однако и у первого подхода есть своя ниша задач. По большому счету это те задачи, которые нельзя решить с использованием технологических функций накопителя. В первую очередь это накопители с аппаратной неисправностью, и при этом нет возможности определить поврежденный элемент, или характер повреждений исключает ремонт. И браться за дело рекомендуется только в том случае, если уже есть успешный опыт восстановления информации с подобной модели SSD, или есть информация о решении. Необходимо знать, с чем придется столкнуться: используется ли шифрование или скремблирование, какой XOR паттерн вероятнее всего используется, известен ли формат транслятора (есть ли сборщик образа). В противном случае шансы на успех невелики, по крайней мере оперативно решить задачу не получится. К тому же нагрев негативно влияет на изношенные микросхемы памяти, в результате чего могут появиться дополнительные битовые ошибки, которые, в свою очередь, могут привнести свою ложку дегтя в последующем.

На этом пока все. Берегите себя! И да хранит ваши данные backup!

3 декабря 2011 в 12:32

Восстанавливаем запоротый SSD

  • Компьютерное железо

Мне подумалось, что вдруг кого-то из владельцев SSD устройства этот топик наведёт на мысль о backup"е, кого-то о в целом более осторожном отношении, а кого-то избавит от общения с не слишком торопливой службой поддержки. Всё написанное относится не тдоолько к устройствам той серии и производителя, что у меня.

Дней 10 назад мне случилось оставить на ночь ноут с батареей в критическом состоянии без зарядки. Я не слишком беспокоюсь о жизни батареи, но удар последовал с другой стороны. Утром, включив ноутбук в зарядку и включив его я с удивлением обнаружил, что:


В ВIOS"е винчестер определялся. Схватив имевшийся под рукой Ubuntu Live CD на flash"ке и вооружившись командной строкой, я приготовился к дебагу.
Стоит сразу сказать, что в случаях таких сбоев удобнее было бы использоваться какой-нибудь Data Rescue Live CD, с уже установленными утилитами диагностики вместо совершенно не нужного офисного пакета, но тем не менее.

Наберём арсенал, который нам пргодится:

$ sudo apt-get install hdpam partx smartmontools

Смотрим, что у нас случилось:
$ sudo partx -s /dev/sda
partx: /dev/sda: failed to read partition table

Итак, с таблицей разделов вроде бы можно попрощаться.
$ sudo smartctl -s on -d ata -A /dev/sda -T verypermissive
smartctl 5.41 2011-06-09 r3365 (local build)
Copyright 2002-11 by Bruce Allen,

SMART support is: Unavailable - device lacks SMART capability .
=== START OF ENABLE/DISABLE COMMANDS SECTION ===
Error SMART Enable failed: Input/output error

Ошибка ввода-вывода? Диск не поддерживает SMART? Уже бред какой-то.

$ sudo hdparm -I /dev/sda

ATA device, with non-removable media
Model Number: INTEL SSDSA2CW080G3
Serial Number: BAD_CTX 00000150
Firmware Revision: 4PC10302

Configuration:
Logical max current
cylinders 16383 16
heads 16 16
sectors/track 63 63
-
CHS current addressable sectors: 16128
LBA user addressable sectors: 156301488
LBA48 user addressable sectors: 156301488
Logical Sector size: 512 bytes
Physical Sector size: 512 bytes
device size with M = 1024*1024: 76319 MBytes
device size with M = 1000*1000: 80026 MBytes (80 GB)


Ага. Можно заметить, что число условных SSD цилиндров упало в 10000 раз и согласно десктопному Gparted"у размер винчестера составляет 8MB (каюсь, в логах не сохранилась консольная команда и её вывод для просмотра этого безобразия, прошу верить мне на слово). Серийный номер отсутствует и вместо него BAD_CTX что-то там. Хорошо, симптомы поняли, можно обращаться к поиску и в поддержку. Действительно, оказывается, проблема далеко не единична , но, увы, такой идиот с Linux"ом я один.

В кратце для не знакомых с языком и ленивых, форумчане говорят о повальной подверженности всех Intel"овских SSD такому багу, особенно затронувшее 320ю серию и X25M. Есть новость о прошивке 0362, которая призвана избавить именно от этого бага, но количество обращений людей с уже этой прошивкой с теми же симптомами говорит о нерешённости проблемы. Да, лучшим решением в данном случае было бы отправить винчестер обратно в Intel, чтобы у них появился стимул поправить свои ошибки.

К сожалению, поддержка Intel не отличается расторопностью, и отвечает примерно раз в сутки, затупливая по техническим вопросам, и очень рекомендуя установить их SSD Toolbox для определения проблемы. Хочется отдельно заметить, что основной срез пользователей SSD - это владельцы MacBook"ов, у которых аналогично со мной есть трудности с установкой софта под Windows. Отдельного упоминания достойно то, что эта тулза, предназначенная для определения неисправностей, требует:
- Java
- .NET 3.5
- Windows Media Player Redistributable 11
что делает её установку на компьютере, загруженном с Live CD практически невозможной задачей (во-первых из за ограничений объёма на виртуальном винчестере, а во-вторых в связи с тем, что WMP 11 требует проверки аутентичности Windows, которая со скрипом и стонами лишь у некоторых особо выдающихся личностей получается в Wine.
Пламенный привет разработчикам этого ПО.
Мне чудом удалось объснить ситуацию поддержке, и они согласились на замену, но для замены нужно заполнить неимоверное количество форм, к которым нужно ещё приложить подтверждение поупки мной устройства. Волею судеб, я сейчас в десяти тысячах километров от дома, и не ждал такого подвоха.

К счастью, на форумах все однозначно говорят, что содержимое диска восстановлению не подлежит, но что работоспособность восстановить возможно. И то время, которое было потрачено на переписку со службой поддержки, я не потратил зря, а с пользой потратил на чтение форумов и эксперименты, краткий разультат которых здесь и привожу.

Нужно восстановить количество цилиндров, вернув заветные 16383.
Для этой операции нам нужны будут две команды, запуск обоих затруднён для защиты от дурака и вредителя.

Выставляем пользователя, и пароль для мастер-операций над диском.

$ sudo hdparm –user-master user –security-set-pass abc /dev/sda

Далее нам нужно разблокировать расширенный набор ATA-команд, в частности secure-erase, которые блокируются при загрузке системы. Этому есть несколько способов, один из которых - внешний бокс, отключить и включить его питание. Внешнего бокса у меня не было, но чудесным образом срабатывает отправка ноута в sleep и пробуждение.

Следующие команды выполняют некую безопасную очистку, я запускал обе, так как уверенности какая из них понадобится, не было. Перед каждой запускал установку мастер-пароля и закрытие крышки ноутбука.

$ sudo hdparm –user-master user –security-erase abc /dev/sda
$ sudo hdparm –user-master u –security-erase-enhanced abc /dev/sda

Теперь совсем для не слабонервных. Сброс установок диска к заводским. Для запуска команды нужен ещё один ключ, который вам подскажет командная строка, и для очищения совести я его здесь приводить не стану, равно как и упомяну, что в документации эта команда помечена как ОСОБО ОПАСНАЯ и НЕ ЗАПУСКАТЬ.
$ sudo hdparm --dco-restore /dev/sda

Итого выводы, которые я сделал для себя:
- держите Live CD под рукой
- не оставляйте ноут совсем без питания на критическом заряде
- делайте бэкапы, в том числе keyring"ов, списков установленных пакетов, конфигов и rsa ключей
- обновляйте прошивки (после того, как вы узнали, что она точно неплохо работает)
- беречь нервы

Хочу дополнительно отметить, что не всегда такой метод полностью восстанавливает функционал, и что иногда диск остаётся глючным, тормозным.

Ещё раз послаю пламенный привет поддержке Intel, и сообщить им, что я так и не могу зайти под своими логином и паролем на их community, чтобы опубликовать этот чудодейственный рецепт у них, и напомнить, что я уже неделю жду от них хотя бы какого-нибудь ответа почему же я не могу этого сделать.

В следующем топике расскажу об интересной статистике смертей SSD, возвратов, починок и ошибок в работе по производителям и моделям.

PS Любимый Хабр, поправь, пожалуйста, отображение тэга "code".
PPS Случайно нашёлся