Как восстановить здоровье ssd диска
Восстановление информации c твердотельных накопителей — подводные камни и рекомендации
Привет, Гиктаймс! Тема надежности твердотельных накопителей поднималась уже неоднократно, наверняка есть интерес и к тому, как восстановить данные с неисправного диска. Предупреждаю сразу: никаких волшебных рецептов я не открою, резервное копирование рулило, рулит и будет рулить – да пребудет с вами Acronis, TimeMachine и Windows Backup! Под катом – типичные неисправности/неприятности и вероятные методики их устранения.
Вариант 1. Закончился ресурс на запись
Вариант, конечно же, не гарантийный, но не критический. При таком исходе все данные остаются доступными для чтения, нужно просто подключить твердотельный накопитель к другому компьютеру и снять необходимую информацию. На скрине ниже указан ключевой атрибут, по которому можно следить за оставшимся ресурсом записи:
Вариант 2. Появились bad-сектора
Тоже не катастрофа, но приятного мало. Принципы работы SSD подразумевают наличие резервной области, из которой выделяются новые ячейки взамен вышедших из строя. Серверные/корпоративные SSD имеют больший запас по ёмкости, для домашних пользователей отводится больше рабочего пространства. Если количество испорченных блоков резко растёт – скорее всего проблема случилась с одним из чипов памяти. Решение вопроса: немедленный бэкап того, что на диске – и диск по гарантии продавцу/производителю.
Вариант 3. Более тяжёлые случаи
Выход из строя контроллера. SSD перестаёт определяться системой и, собственно, настаёт момент принимать решение – гарантия или данные (особопряморукие коллеги наверняка ухмыльнутся, понимая, что можно выбрать и данные, и гарантию, но большинству нужно выбирать что-то одно). Если ничего ценного на накопителе не было, тогда, тихо поругивая некачественную детальку, несите её в гарантийный отдел, а вот если на диске хранилось нечто крайне нужное…
Существует несколько способов восстановить информацию с диска. Самый простой – прогрев чипов. Бывает, случается так, что некачественная пайка приводит к отслоению микросхемы и тогда после жарких тепловых ванн контроллер оживает. При это вы получаете и информацию, и «отремонтированный» исправный SSD-диск.
Вероятность такого исхода не велика, поэтому рассмотрим худшие варианты. Выход из строя контроллера не даёт 100% гарантии потери данных. Можно вручную снять чипы памяти с платы (отпаять), поместить их в программаторы и считать оттуда драгоценные единички и нолики, после этого специальным софтом расшифровать данные с диска и радоваться. Такая процедура стоит дорого, лишает вас навсегда накопителя, но возвращает в вашу жизнь диплом/чёрную бухгалтерию/фото любимой бабушки (нужное подчеркнуть).
Ещё один крайне опасный для информации на SSD вариант – форматирование диска. И вроде бы ничего страшного, куча софта восстанавливает данные после команды format, но есть нюанс. Как правило, при форматировании диска запускается команда TRIM и вот тогда… Хотя не все случаи фатальны. Команда TRIM является командой интерфейса ATA, но при подключении диска через USB-переходник она не выполняется. Кроме того, если диск был отформатирован в FAT или на нём стояла старая ОС (Windows XP или Vista) или диск был частью RAID-массива – тогда все еще можно исправить.
Что следует из вышеописанного: при любом раскладе не забывайте бэкапится. Важнейшие данные должны быть либо продублированы, либо они вам не так важны. Следите за состоянием вашего SSD-диска с помощью утилит мониторинга, например OCZ SSD Guru, и вовремя отслеживайте приближающийся «конец света».
Как вы понимаете, эта и предыдущая статья (про OCZ SSD Guru) была написаны к Международному дню резервного копирования, с которым мы вам и поздравляем!
Спасибо за внимание, готовы ответить на ваши вопросы.
Реанимация SSD или вспомнить всё
реклама
Современные ПК призваны сделать нашу жизнь более удобной, стать надёжным инструментом для работы и творчества или хорошим средством для проведения досуга. Однако, как в случае с любой другой техникой всегда возможна поломка отдельных элементов и особенно чувствительным моментом может стать выход из строя носителя информации.
Сегодня у меня в распоряжении оказались два таких умерших носителя. Первый это SATA SSD формата M2, Transcend объёмом 128 ГБ, второй китайский ноунейм формата M2 интерфейсом подключения NVMe pci-e 2 линии и объёмом 256 ГБ.
реклама
Китайский ноунейм проработал около 4 месяцев и умер при похожих обстоятельствах, отличие заключалось в том, что диск просто сразу перестал определяться и никакого влияния на загрузку ПК не оказывал.
К счастью никакой важной информации данные носители не содержали, однако теперь они превратились просто в бесполезный мусор, который практически невозможно починить и это обстоятельство открывает широкие возможности для самых беспощадных экспериментов.
Довольно общеизвестным фактом является протекание процессов самовосстановления внутри повреждённых электронных компонентов. Этот процесс происходит медленно и далеко не всегда приводит к возвращению работоспособности устройства.
Данный процесс можно несколько ускорить, проведя процесс температурной обработки. Применение данного метода к SSD носителям довольно спорно. Можно рассчитывать на некий положительный результат в случае, если повреждён именно контроллер, для ячеек памяти длительная температурная обработка может оказать резко отрицательный результат, привести к потере информации или потери работоспособности. Однако теперь мы предполагаем гибель контроллера, и так как терять в данной ситуации совершенно нечего попробуем применить данный метод.
реклама
Первый этап
Действуем предельно осторожно и помещаем оба SSD в сушильный шкаф при температуре 120°С на два часа.
Как вернуть к жизни мёртвый SSD?
в Советы и хитрости 20.11.2019 0 350 Просмотров
Некоторое время назад была большая шумиха о сбоях питания, убивающих твердотельные накопители. Оказывается, что когда это происходит, вы всё таки можете вернуть его к жизни. Если ваш твердотельный накопитель умер, вот как восстановить или исправить неисправный твердотельный накопитель за 61 минуту, используя метод циклического питания. Да, действительно требуется 61 минута, чтобы восстановить мертвый SSD, и у вас есть прямое участие только в течение нескольких минут. В остальное время вы можете делать что-то ещё, пока вы будете ждать, когда накопитель восстановится. Этот приём даже позволит вам восстановить диски, которые не будут отображаться в диспетчере устройств Windows или в управлении дисками, если вы перенесете их на другую машину.
Обратите внимание, что этот трюк обычно работает только для дисков, повреждённых из-за потери питания. Но не мешало бы попробовать его на любом старом неисправном диске, скажем, повреждённом из-за плохого обновления прошивки или синего экрана. Приятно, что восстановление после сбоя SSD возможно с помощью бесплатного простого трюка. Сначала я расскажу о дисках SATA, а затем расскажу об одном приеме, который работает с дисками NVMe и M.2.
Ремонт SSD без инструментов: что нужно
Трюк с циклическим питанием работает лучше на настольном ПК, так как вам нужно подключить кабель питания, но не кабель данных. Если вы восстанавливаете диск с ноутбука, вы можете использовать запасной источник питания с моей уловкой скрепки. Тогда вам не нужно открывать дополнительный компьютер.
Если ноутбук – это всё, что у вас есть, вы можете использовать адаптер, главное, что бы у вас была возможность подключить кабель питания. Мои адаптеры USB SATA используют один разъём. Или вы можете попробовать альтернативный метод описанный ниже, который работает на твёрдотельных накопителях NVMe или M.2.
Циклическое питание твердотельного накопителя
Чтобы исправить ваш мертвый SSD с помощью этого метода, отключите кабель для передачи данных SATA от SSD, как я делаю на рисунке ниже. Кабель для передачи данных является меньшим из двух. Затем задействуйте питание, как я описываю дальше.
Если вы устанавливаете SSD на ПК или временно подключаете его к свободному источнику питания, сделайте это так – подключите кабель питания, но не кабель для передачи данных, к SSD. Силовой кабель является самым большим из двух разъёмов.
Включите питание и оставьте его включенным на 30 минут. Через 30 минут выключите питание или отсоедините кабель питания. Подождите 30 секунд, а затем восстановите питание. Дайте накопителю простоять включенным ещё 30 минут. Снова выключите питание, а затем подождите 30 секунд.
Если всё прошло хорошо, то когда вы подключите кабель для передачи данных, или подключите диск обратно в ноутбук, диск должен вернуться к жизни.
А как насчет NVMe или M.2 SSD?
Конечно, если у вас есть твёрдотельный накопитель NVMe или M.2, вы не сможете отключить подключение для передачи данных, оставив подключение к источнику питания таким же образом, как и для SATA. Вам нужно будет использовать альтернативный метод описанный ниже, чтобы исправить ваш мёртвый SSD типа NVMe или M.2.
Альтернативный метод
Предположительно, этот трюк может вообще работать без разборки. Если это ПК, включите его, а затем нажмите любую клавишу для загрузки ПК в BIOS. Часто это клавиша DEL или одна из функциональных клавиш, таких как F1, F2, F8 или F10. Подождите 30 минут на экране BIOS, затем отключите питание на 30 секунд и повторите.
На Mac включите питание, удерживая нажатой клавишу ALT, которая должна вызвать меню загрузки. Оставьте его в меню загрузки на 30 минут, затем выключите его на 30 секунд и повторите.
Ещё одна вещь, которую можно попробовать в ноутбуках Dell
В ноутбуках Dell и, возможно, других моделях, меньшего размера твердотельные накопители SATA по сравнению с традиционными жесткими дисками могут вызвать проблемы с электрическим контактом. Если ваш SSD внезапно умер на таком ноутбуке, вы, вероятно, можете это исправить, подправив его старой подарочной картой. Попробуйте, если трюк цикла питания не работает. Или попробуйте сделать всё это сначала.
Последнее средство
И в крайнем случае, иногда SSD перегревается и пропадает одно или несколько паяных соединений. Вы можете решить эту проблему, выпекая SSD в духовке, чтобы переплавить его паяные соединения. Эта проблема довольно редкая, так что это последнее средство.
Возможные остаточные проблемы
После того, как диск заработал, у вас могут возникнуть проблемы, которые не позволяют ему загрузиться, поэтому вам может потребоваться дальнейшее восстановление данных. Но восстановление данных в таких случаях не так сложно выполнить, как кажется.
Использование одного или нескольких описанных выше приемов восстановит вашу систему до загрузочного состояния и вернет вам потерянные данные.
В заключение
Нет никаких гарантий, и эти трюки звучат очень похоже на MacGyver или даже колдовство. Но это работает достаточно часто, поэтому многие пользователи сейчас делают это регулярно. Если диск не работает, вам нечего терять, пытаясь починить ваш SSD таким способом. В отличие от некоторых приёмов для восстановления потерянных данных, которые мы использовали для жестких дисков, эти трюки не причиняют вреда.
Эта хитрость при ремонте дисков SSD работает с большинством дисков. Я работал с жесткими дисками Crucial, Samsung и OCZ. Даже если у вас другой бренд, стоит попробовать и другие марки дисков. Помимо недостатка энергопотребления, твердотельные накопители, как правило, переживают ожидаемую продолжительность жизни. Поэтому хорошо иметь возможность вернуть его обратно к жизни, когда он перестанет работать из-за потери питания.
Конечно, если что-то пойдет не так, то правильный ответ – иметь резервные копии, чтобы вы могли восстановить данные из резервной копии. Но ваша резервная копия не исправит неработающий диск, поэтому приятно иметь возможность вернуть оборудование к жизни, обычно с неповрежденными данными.
Восстанавливаем запоротый SSD
Мне подумалось, что вдруг кого-то из владельцев SSD устройства этот топик наведёт на мысль о backup’е, кого-то о в целом более осторожном отношении, а кого-то избавит от общения с не слишком торопливой службой поддержки. Всё написанное относится не тдоолько к устройствам той серии и производителя, что у меня.
В ВIOS’е винчестер определялся. Схватив имевшийся под рукой Ubuntu Live CD на flash’ке и вооружившись командной строкой, я приготовился к дебагу.
Стоит сразу сказать, что в случаях таких сбоев удобнее было бы использоваться какой-нибудь Data Rescue Live CD, с уже установленными утилитами диагностики вместо совершенно не нужного офисного пакета, но тем не менее.
Наберём арсенал, который нам пргодится:
$ sudo apt-get install hdpam partx smartmontools
SMART support is: Unavailable — device lacks SMART capability.
=== START OF ENABLE/DISABLE COMMANDS SECTION ===
Error SMART Enable failed: Input/output error
Ошибка ввода-вывода? Диск не поддерживает SMART? Уже бред какой-то.
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, чтобы у них появился стимул поправить свои ошибки.
К счастью, на форумах все однозначно говорят, что содержимое диска восстановлению не подлежит, но что работоспособность восстановить возможно. И то время, которое было потрачено на переписку со службой поддержки, я не потратил зря, а с пользой потратил на чтение форумов и эксперименты, краткий разультат которых здесь и привожу.
Нужно восстановить количество цилиндров, вернув заветные 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
Перезагрузка. Ура, можно ставить систему.
Итого выводы, которые я сделал для себя:
— держите Live CD под рукой
— не оставляйте ноут совсем без питания на критическом заряде
— делайте бэкапы, в том числе keyring’ов, списков установленных пакетов, конфигов и rsa ключей
— обновляйте прошивки (после того, как вы узнали, что она точно неплохо работает)
— беречь нервы
Хочу дополнительно отметить, что не всегда такой метод полностью восстанавливает функционал, и что иногда диск остаётся глючным, тормозным.
Ещё раз послаю пламенный привет поддержке Intel, и сообщить им, что я так и не могу зайти под своими логином и паролем на их community, чтобы опубликовать этот чудодейственный рецепт у них, и напомнить, что я уже неделю жду от них хотя бы какого-нибудь ответа почему же я не могу этого сделать.
В следующем топике расскажу об интересной статистике смертей SSD, возвратов, починок и ошибок в работе по производителям и моделям.
Как восстанавливают данные с неисправных SSD
Приветствую всех Хабровчан!
Предлагаю сегодня немного поговорить о восстановлении информации с неисправных 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 паттерном).
Часто эту операцию обозначают символом ⊕.
(X ⊕ Key) ⊕ Key = X ⊕ (Key ⊕ Key) = X ⊕ 0 = X
Остается определить XOR паттерн. В самом простом случае для всех страниц применяется один и тот же XOR паттерн. Иногда накопитель генерирует длинный паттерн, скажем длиной в 256 страниц, тогда каждая из первых 256 страниц микросхемы складывается со своим куском паттерна, и так повторяется для следующих групп из 256 страниц. Но бывают случаи и посложнее. Когда для каждой страницы индивидуально генерируется свой паттерн на основании какого-то закона. В таких случаях помимо прочего нужно еще попытаться разгадать этот закон, что уже, мягко скажем, непросто.
Сборка образа
После выполнения всех предварительных преобразований (исправление битовых ошибок, устранение скремблирования, определение формата страницы и, возможно, некоторых других) заключительным этапом идет сборка образа. В силу того, что количество циклов перезаписи для ячеек микросхемы ограничено, накопители вынуждены использовать механизмы выравнивания износа, чтобы продлить время жизни микросхем. Следствием этого является то, что пользовательские данные сохранены не последовательно, а хаотично разбросаны внутри микросхем. Очевидно, что накопителю необходимо как-то запоминать куда он сохранил текущий блок данных. Для этого он использует специальные таблицы и списки, которые так же хранит на микросхемах памяти. Множество этих структур принято называть транслятором. Вернее будет сказать, что транслятор это некая абстракция, которая отвечает за преобразования логических адресов (номера секторов) в физические (микросхема и страница).
Соответственно, чтобы собрать логический образ накопителя, необходимо разобраться с форматом и назначением всех структур транслятора, а также знать как их найти. Некоторые из структур являются достаточно объемными, поэтому накопитель не хранит ее целиком в одном месте, а она также оказывается кусками разбросана по разным страницам. В таких случаях должна быть структура, описывающая это распределение. Получается некий транслятор для транслятора. На этом обычно останавливаются, но можно пойти еще дальше.
Данный подход к восстановлению данных заставляет полностью эмулировать работу накопителя на низком уровне. Отсюда вытекают плюсы и минусы этого подхода.
Подход №2. Технологический режим
Очень часто разработчики SSD помимо реализации работы накопителя согласно спецификации наделяют его также дополнительной функциональностью, которая позволяет протестировать работу отдельных подсистем накопителя и изменить ряд конфигурационных параметров. Команды накопителю, позволяющие это сделать, принято называть технологическими. Они также оказываются весьма полезными при работе с неисправными накопителями, повреждения которых носят программный характер.
Как уже было сказано выше, со временем в микросхемах памяти неизбежно появляются битовые ошибки. Так вот, согласно статистике, причиной выхода из строя SSD в большинстве случаев является появление некорректируемых битовых ошибок в служебных структурах. То есть на физическом уровне все элементы работают нормально. Но SSD не может корректно инициализироваться из-за того, что одна из служебных структур повреждена. Такая ситуация разными моделями SSD обрабатывается по-разному. Некоторые SSD переходят в аварийный режим работы, в котором функциональность накопителя значительно урезана, в частности, на любые команды чтения или записи накопитель возвращает ошибку. Часто при этом, чтобы как-то просигнализировать о поломке, накопитель меняет некоторые свои паспортные данные. Например, Intel 320 series вместо своего серийного номера возвращает строку с кодом ошибки. Наиболее часто встречаются неисправности из серии «BAD_CTX %код ошибки%”.
В таких ситуациях очень кстати оказывается знание технологических команд. С помощью них можно проанализировать все служебные структуры, также почитать внутренние логи накопителя и попытаться выяснить, что же все таки пошло не так в процессе инициализации. Собственно скорее всего для этого и были добавлены техно-команды, чтобы производитель имел возможность выяснить причину выхода из строя своих накопителей и попытаться что-то улучшить в их работе. Определив причину неисправности, можно попытаться ее устранить и вновь вернуть накопитель к жизни. Но все это требует по-настоящему глубинных знаний об архитектуре устройства. Под архитектурой здесь я в большей степени понимаю микропрограмму накопителя и служебные данные, которыми она оперирует. Подобным уровнем знаний обладают разве что сами разработчики. Поэтому, если Вы к ним не относитесь, то Вы либо должны обладать исчерпывающей документацией на накопитель, либо Вам придется потратить изрядное количество часов на изучение данной модели. Понятное дело разработчики не спешат делиться своими наработками и в свободном доступе таких документаций нет. Говоря откровенно, я вообще сомневаюсь, что такие документации существуют.
В настоящее время производителей SSD слишком много, а новые модели появляются слишком часто, и на детальное изучение не остается времени. Поэтому практикуется немного другой подход.
Среди технологических команд очень полезными оказываются команды, позволяющие читать страницы микросхем памяти. Таким образом можно считать целиком дампы через SATA интерфейс накопителя, не вскрывая корпус SSD. Сам накопитель в таком случае выступает в роли программатора микросхем NAND flash памяти. В принципе, подобные действия даже не должны нарушать условий гарантии на накопитель.
Часто обработчики техно-команд чтения микросхем памяти реализованы так, что есть возможность оставить исправление битовых ошибок, а иногда и расшифровку данных, на стороне накопителя. Что, в свою очередь, значительно облегчает процесс восстановления данных. По сути остается только разобраться с механизмами трансляции и, можно сказать, решение готово.
На словах то оно, кончено, все просто звучит. Но на разработку подобных решений уходит немало человеко-часов. И в результате мы добавляем в поддержку всего одну модель SSD.
Но зато сам процесс восстановления данных упрощается колоссально! Имея подобную утилиту, остается только подключить накопитель к компьютеру и запустить эту утилиту, которая с помощью техно-команд и анализа служебных структур построит логический образ. Дальше остается только анализ разделов и файловых систем. Что тоже может быть непростой задачей. Но в большинстве случаев построенный образ без особого труда позволяет восстановить большую часть пользовательских данных.
Заключение
На войне все средства хороши. Но лично я отдаю предпочтение второму подходу как более тонкому инструменту. И наиболее перспективному, поскольку все более широкое распространение аппаратного шифрования исключает возможность восстановления информации с „сырых“ дампов микросхем. Однако и у первого подхода есть своя ниша задач. По большому счету это те задачи, которые нельзя решить с использованием технологических функций накопителя. В первую очередь это накопители с аппаратной неисправностью, и при этом нет возможности определить поврежденный элемент, или характер повреждений исключает ремонт. И браться за дело рекомендуется только в том случае, если уже есть успешный опыт восстановления информации с подобной модели SSD, или есть информация о решении. Необходимо знать, с чем придется столкнуться: используется ли шифрование или скремблирование, какой XOR паттерн вероятнее всего используется, известен ли формат транслятора (есть ли сборщик образа). В противном случае шансы на успех невелики, по крайней мере оперативно решить задачу не получится. К тому же нагрев негативно влияет на изношенные микросхемы памяти, в результате чего могут появиться дополнительные битовые ошибки, которые, в свою очередь, могут привнести свою ложку дегтя в последующем.
На этом пока все. Берегите себя! И да хранит ваши данные backup!

