Как восстановить данные с ssd диска. Как восстанавливают данные с неисправных SSD

There are many advantages that SSDs have over traditional mechanical hard disk drives (HDD). The main list includes the speed of reading and writing information, resistance to mechanical damage and low power consumption. The main disadvantages include high price and a short time to failure.

An SSD consists of a control unit and a memory unit (a FLASH chip and a DRAM chip). The SSD drive can be widely used as a portable hard drive, micro hard drive, memory card, U-disk etc.

Since the SSD drive has a limited number of write cycles, there is a risk of data loss. Based on that, we want to tell you how to recover data from an SSD drive by yourself.

First, let’s look at the main reasons for data loss from an SSD:

  • damage to electrical and physical components;
  • wear;
  • file corruption caused by software problems or an operating system malfunction;
  • virus attacks.

Chances to recover data on SSD

The process of deleting files from an SSD is fundamentally different from the process of deleting files from a conventional hard drive.

If the file is deleted from a regular hard disk, then this is only an index that you delete. That is, the real data still remains there until this space is overwritten by new files. In an SSD, contents will be deleted immediately by the TRIM command.

What is TRIM, then? When you write new data to a mechanical hard disk, Windows will allow the disks to erase previous data first. Then the new data will be placed in the appropriate place. When you simply perform the delete operation, Windows will mark the corresponding space as available for writing, but will not delete the contents of the actual file.

However, when Windows recognizes an SSD and confirms that TRIM is supported, it will immediately delete the file instead of creating a special tag.

Fortunately, SSD data recovery is possible under the following conditions:

  • It is possible to restore files if you connect the SSD to your computer as an external hard drive via a USB port;
  • Data is restored when using an SSD in a RAID array, since TRIM is not supported in this disk array;
  • TRIM support has been introduced since Windows Vista. Therefore, for Windows Vista and earlier versions the TRIM command is not supported, and it means that data recovery is possible;
  • If the file system crashes, the disk is not readable or not available at all, your deleted files can be restored, because the TRIM team was not applied;
  • If your SSD is old enough, it may not support TRIM. Therefore, the deleted data can be recovered.

If your situation matches one of these conditions, you can recover the lost data using data recovery software.

Magic Partition Recovery

If your disk contains deleted partitions or bad sectors, Magic Partition Recovery can restore any information from there. This program restores all types of files from all types of media. The Quick Scan mode displays a list of deleted files in a matter of seconds, while deep analysis mode finds files by their contents, without relying on the file table. Magic Partition Recovery fixes errors in the system disk structure and recovers heavily damaged, deleted and overwritten file systems.

Magic Uneraser

The product recovers all deleted files and folders almost instantly. As this program supports recovery of all file types, including MS Office documents, digital photos, MP3 and ZIP archives, it will quickly and reliably resurrect all your data. If you have cleared the Recycle Bin or deleted an important document without sending it to the Bin, formatted the memory card or lost your files on a hard disk no longer available, Magic Uneraser will help you in any situation. Magic Uneraser supports all types of media, including hard drives, SSD drives, USB flash drives and memory cards.

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

В чем особенности SSD-накопителей

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

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

Почему же SSD диски делаются столь непредсказуемыми, когда дело доходит до восстановления данных? Причина – в использовании технологии фоновой очистки мусора и оптимизации производительности операций записи в сочетании с существованием (и работой) команды TRIM. Если глубоко не вдаваться в технические подробности (сотни публикаций о работе этих механизмов доступны каждому), на носителе SSD производится непрерывная очистка блоков данных, помеченных как «доступные» (не используемые) с помощью команды TRIM. Механизм команды приводится в действие операционной системой каждый раз, когда вы, сама ОС или приложение удаляете файл или форматируете диск. Пространство диска, помеченное как доступное, будет рано или поздно физически очищено сборщиком мусора, работающим в фоновом режиме. При этом вы никогда не сможете предугадать, когда именно пространство, занимаемое, в частности, удаленными файлами, будет очищено. И хуже всего то, вы абсолютно не в силах этого предотвратить. Даже если вы извлечете диск и поместите его в другой компьютер, даже если вы используете сложные устройства «блокировки записи», сборка мусора неминуемо произойдет при возобновлении питания привода.

Надежды

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

1. Операционная система не поддерживает TRIM. Windows Vista, XP и ранние верссии – не поддерживают! Windows 7 и последующие – уже поддерживают. Итак, если на вашем диске была использована Windows XP, Vista и старшие версии ОС, вы можете забыть о TRIM и просто восстановить файлы, как если бы ваш SSD был жестким диском.

2. Файловая система отформатирована не в NTFS. В настоящее время команда TRIM поддерживается только на дисках NTFS. Это ограничение операционной системы Windows, но вы можете использовать его в вашу пользу. Если диск отформатирован в FAT, вы можете безопасно восстановить удаленные файлы.

3. Диск не был подключен напрямую через SATA. TRIM является командой интерфейса ATA, а это означает, что если ваш диск был подключен к компьютеру через кабель USB, или если он был использован в Network Attached Storage (NAS) устройстве, или если он была частью RAID-массива, команда TRIM не могла быть реализована.

4. TRIM была отключена в настройках Windows. Да, вы можете отключить TRIM. Правда это неминуемо сократит срок службы SSD-носителя и очень скоро приведет к значительному падению скорости записи на диск. Но если у вас есть веские причины для отключения TRIM, не стоит исключать такой вариант.

Инструменты для восстановления файлов с дисков SSD

Для того, чтобы восстановить файлы с флэш-накопителей SSD, вы можете использовать те же инструменты для восстановления файлов (RS File Recovery) или восстановления разделов (RS Partition Recovery , RS NTFS Recovery или RS FAT Recovery), которые используются при работе с жесткими дисками. Единственное отличие в работе с ними – там гораздо меньшая гарантия успеха…

Читайте о проблемах восстановление SSD дисков . Физическое затирание удаленных файлов командой TRIM и случаи когда она не сработает. Сегодня твердотельные накопители (англ. SSD ), становятся все популярнее и уже часто приходят на смену традиционным жестким дискам . Часто используемые в роли системных дисков, SSD-накопители хранят операционную систему, приложения, а также все или большую часть файлов пользователя, среди которых документы, настройки, веб-браузеры, электронная почта и многое другое.

Содержание:

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

Возможно ли восстановить SSD?

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

Давайте рассмотрим различные ситуации и выясним, что, все-таки, можно сделать, если воспользоваться для восстановления специальной программой Hetman Partition Recovery .

Восстановление файлов с SSD

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

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

Скорость работы SSD-накопителей Corsair, Kingmax, Kingston, PQI и т.д. практически одинакова. В независимости от производителя можно утверждать, что факт выполнения команды TRIM практически 100% гарантирует удаление файлов.

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

На сегодняшний день большинство SSD-накопителей поддерживают функцию TRIM. Однако текущая версия операционной системы MacOS, не работает с этой командой, соответственно, вы можете восстановить файлы, удаленные с Mac PC. А также возможно восстановить файлы с более старых версий Windows (те, что были до Windows Vista), которые тоже не поддерживают TRIM. Ну и, наконец, функция TRIM не поддерживается при работе с USB и FireWire протоколами, поэтому, ваши данные с внешних носителей могут быть восстановлены.

Восстановление отформатированных SSD

Обычно были доступны два вида форматирования дисков: полное и быстрое. При полном форматировании затиралась информация, содержащаяся на жестком диске, в то время как при быстром форматировании просто очищалась таблица раздела с информацией о файлах, давая возможность такой программе как Hetman Partition Recovery быстро и качественно восстанавливать необходимые данные. Теперь же для SSD-накопителей такие правила не действуют.

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

Восстановление сбойных SSD

А что делать, если ваш SSD-накопитель был испорчен, серьезно поврежден (в пределах разумного, конечно) перестал читаться или определяться системой. По иронии судьбы, в этом случае все файлы надежно сохранены на диске, потому что команда TRIM не запускалась операционной системой. Другими словами, вы можете воспользоваться программой для восстановления данных, такой как Hetman Partition Recovery , чтобы восстановить информацию с испорченных, поврежденных, нечитаемых или недоступных SSD-накопителей и в кратчайшее сроки получить назад все, ну или практически все данные. Для предупреждения ситуации с неожиданным выходом накопителя из строя следите за S.M.A.R.T. параметрами SSD и своевременно меняйте устройство на новое.

В те времена, когда механические жесткие диски с вращающимися пластинами были стандартом, вы могли просто подарить свой старый жёсткий диск другу, услышать «Спасибо», на том дело и кончалось. С современными твердотельными накопителями не всё так просто.

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

Чтобы избежать этой проблемы с флэш-памятью типа NAND, современные контроллеры SSD используют ряд приёмов, в том числе создание дополнительных объёмов, которыми пользователи не могут воспользоваться - метод, известный как увеличение объёма зарезервированного пространства (over-provisioning). Имеется также команда под названием TRIM, которая говорит SSD, когда блоки памяти больше не нужны и могут быть объединены и стёрты.

Звучит хорошо, не так ли? Но имеется одна проблема.

Не весь сбор мусора (как называется стирание использованных ячеек и объединение данных в NAND-памяти) равнозначен. Сборка может вестись непостоянно, и некоторые старые операционные системы - в частности, Windows XP - даже не поддерживают команду TRIM. Таким образом, наиболее часто используемые NAND-ячейки могут оставаться на SSD дольше, чем вы подозреваете.

В Windows 7 и 8 пользователям не нужно беспокоиться обо всём этом. Производительность современных SSD не должна заметно ухудшаться на протяжении многих лет, а может и больше. Но существует несколько сценариев, где эти простаивающие ячейки могут нанести удар по производительности SSD, такие, как длительное применение в среде без поддержки TRIM (например, в XP), после почти полного заполнения диска и удаления больших объёмов данных, или просто изменения разделов и форматирования.

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

Безопасное стирание

Функция, встроенная в каждый основанный на интерфейсе ATA привод (SSD и HDD) с 2001 года, стирает всё на диске и помечает ячейки как пустые, восстанавливая любой современный SSD до состояния заводской производительности.

Когда-то можно было вызвать безопасное стирание только через утилиты командной строки, такие как HDparam в Linux или HDDerase в DOS, разработанные в университете Калифорнии в Сан- Диего. Но сейчас многие производители твердотельных накопителей и жёстких дисков предоставляют бесплатные утилиты, такие как ToolBox компании OCZ, Magician от Samsung или Seagate SeaTools, обеспечивающие возможность безопасного стирания.

Хотя сама команда является стандартной, многие утилиты работают только с накопителями своей компании. Если производитель не обеспечивает команду безопасного стирания, вы можете использовать утилиту DriveErase, входящую в состав Parted Magic.

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

Вот как можно восстановить SSD шаг за шагом.

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

Если у вас есть рабочая операционная система, который вы хотели бы сохранить, нужно использовать программу для создания образов дисков, такую как Acronis True Image или R-Drive Image, которая копирует всё. Не используйте программу Windows System Recovery, если восстанавливаете данные не на том же диске. Она не восстановит меньшие диски, и иногда затрудняется даже при работе с дисками аналогичного размера, на котором достаточно свободного места.

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

Теперь запустите функцию безопасного стирания. Точный метод зависит от программы. Руководство по стиранию с применением Parted Magic несложно найти в сети. Некоторые твердотельные накопители используют расширенную версию безопасного стирания по умолчанию, удаляющего даже служебные данные.

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

После того, как процесс будет завершен, выполните разметку и форматирование диска, если собираетесь снова использовать его. Parted Magic предоставляет удобный полноценный редактор для выполнения этой задачи, но вы можете использовать утилиту Windows Drive Management (Панель управления > Система и безопасность > Администрирование > Создание и форматирование разделов жесткого диска), чтобы решить ту же самую задачу. Чаще всего пользователи создают единственный раздел и форматируют его в NTFS.

Затем можно возвращать скопированные данные обратно на чистый диск и наслаждаться высокой скоростью его работы.

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

Предлагаю сегодня немного поговорить о восстановлении информации с неисправных 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!