Восстановление данных с накопителей на основе NAND флэш-памяти


Основные принципы и особенности

Накопители на основе флэш-памяти с каждым днем принимают все более изощренные и миниатюрные формы, что повышает их мобильность до запредельной. Сегодня большинство электронных устройств, неспособных к перемещению в пространстве, теряют как минимум привлекательность среди основной массы потребителей, и, как максимум, возможность оказаться в нужном месте в нужное время. Такая мобильность иногда чревата последствиями. Вспомним и сравним, как часто мы теряли HDD-диски и насколько чаще теряем флэшки. Что касается производителей, то они оценили преимущества флэш-памяти и успешно используют ее во многих мобильных устройствах. В  числе наиболее востребованных на рынке — накопители на основе NAND флэш-памяти. Область их применения постоянно растет: от мобильных телефонов до маршрутизаторов. Такая популярность делает актуальным вопрос сохранности и безопасности информации с устройств такого типа. Именно это и стало поводом для детального рассмотрения основных принципов и особенностей восстановления информации с накопителей на основе NAND флэш-памяти.

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

По статистике нашего центра восстановления данных, доля случаев обращения пользователей с флеш-накопителями в процентном соотношении непрерывно растет, и в июне 2009 года сравнялась с количеством случаев для IDE HDD. Из  100% случаев восстановления, на IDE HDD и флэш-накопители приходится по 20%. На сегодняшний день, наибольший объем работ по восстановлению данных мы производим на SATA-накопителях. В то же время по нашим прогнозам, примерно через год количество случаев с FLASH-накопителями существенно потеснит случаи восстановления данных с SATA.

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

Почему ломаются накопители, или немного теории

Есть два основных типа повреждений флэш-накопителей:

  1. Логический, при котором носитель физически определяется в системе при штатном подключении, но содержит повреждения, препятствующие получению доступа к данным стандартными средствами операционной системы. В данном случае для восстановления данных применимы все логические инструменты, позволяющие восстанавливать логическую структуру файловой системы носителя.
  2. Физический или повреждение служебных данных — в этом случае доступ к содержимому микросхем флэш-памяти невозможен. К сожалению, подавляющее большинство случаев повреждения относится именно к такому типу.

Разницу между логическим и физическим повреждением флэшки можно описать простым примером. При логическом повреждении достаточно лишь произвести форматирование, после чего накопитель исправен, «чист» и готов к использованию. Если повреждение физическое, то ваш накопитель не определится в системе и, соответственно, не сможет быть отформатирован.

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

Итак, вернемся к логическим повреждениям.

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

Во-вторых, ухудшение теплопроводности корпуса флэш-накопителя приводит к повышению температуры внутренних компонентов, что повышает вероятность сбоев и возникновения ошибок. Сообщения операционной системы о необходимости отформатировать накопитель или предложение «Вставить диск» — это как раз последствия и признаки подобных ошибок. При этом зачастую накопитель как физическое устройство в системе определяется идентификатором производителя (Vendor ID) и типом устройства (Device ID), соответствующим установленному в нем контроллеру.

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

К слову, применение общедоступных специализированных утилит (например, находящихся на сайте http://www.flashboot.ru) при повреждениях служебной информации иногда позволяет вернуть накопителю работоспособность, но при этом пользовательские данные почти наверняка будут уничтожены.

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

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

Что касается физических, то это повреждения контроллера, платы электроники и линий интерфейса, приводящие к невозможности функционирования накопителя как цельного устройства. Тут причинами могут быть как механические воздействия, так и влияние электрических факторов. Например, статического электричества, неверной полярности  USB разъемов ПК, проблем с питанием адаптеров или картоводов. Флэш-накопитель с подобной неисправностью при штатном (напрямую или через картовод) подключении не определяется в системе или сопровождается сообщением системы о «неопознанном устройстве». При воздействии электрических факторов повреждается, в основном, именно контроллер и окружающие элементы. Микросхемы памяти, как правило, остаются работоспособными. При этом данные пользователя на них полностью сохраняются.

Есть вероятность успешного возобновления работы накопителя при замене МС контроллера на заведомо рабочий, полностью совпадающий или «похожий», но эта вероятность крайне мала. Даже относительно одинаковые контроллеры отличаются по применяемым алгоритмам распределения данных и алгоритмам ECC, в результате чего при замене возможны ситуации несовместимости. При этом работоспособность накопителя не восстановится, но новый контроллер, обнаружив несоответствие формата данных на микросхемах памяти, вероятно, переформатирует ее «под себя», уничтожив пользовательские данные. Хотя иногда подобная практика и имеет успех.

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

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

Восстановление данных в деталях

Итак, как мы уже сказали, наиболее частые причины повреждения флэш-накопителей любого типа  — это проблемы электрического и теплового характера. Статическое электричество, некорректное подключение питания USB-разъемов на панели системного блока и другие проблемы с питанием становятся причинами сгорания контроллера накопителя. Это, естественно, делает невозможным любой доступ к содержимому микросхем флэшки. Если помехи питания кратковременны или незначительны, тогда маловероятно, что сам контроллер выйдет из строя, но и он может поспособствовать сбою при модификации данных на микросхемах памяти. В результате, нарушается логика работы механизма трансляции— по внешним признакам это эквивалентно повреждению контроллера. Учитывая, что контроллер оперирует блоками данных минимальным размером около 128К байт, такой кратковременный сбой может привести к полному стиранию основных структур файловой системы. Это, очевидно, сделает невозможным дальнейшее функционирование накопителя.

Так как восстановить данные? Чтобы сделать это непосредственно с микросхемами памяти, необходимо выполнить цепочку трех последовательных действий:

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

Все это с успехом аккумулировано в программно-аппаратном комплексе PC-3000 Flash, естественно,  за исключением процедуры выпаивания микросхем памяти.

Программное обеспечение этого комплекса позволяет решить следующие задачи:

  • устранить перемешивание данных, вызванное аппаратными особенностями накопителя (контроллера) и конфигурации платы электроники
  • определить примененный в контроллере алгоритм и его параметры
  • при необходимости, логически восстановить разрушения файловой системы.

В комплексе PC 3000 Flash реализовано значительное число автоматических методов восстановления и методов, позволяющих выполнить отдельные действия всего процесса. Среди автоматических режимов комплекса хочется выделить режимы «Восстановление по контроллеру», когда для полного восстановления данных достаточно только указать тип примененного в флэш-накопителе контроллера. В этом случае все действия, необходимые для восстановления корректного доступа к данным, будут выполнены автоматически, и результатом станет образ диска с восстановленными данными. Комплекс включает большую базу данных о микросхемах флэш-памяти для автоматизации процесса считывания.

Однако автоматические режимы восстановления и анализа — это не все, на что способен комплекс. Еще в нем заложены широкие возможности для индивидуального изучения задачи восстановления при помощи разнообразного набора специализированных утилит. Также в состав PC 3000 Flash входит пополняемая база данных контроллеров, позволяющая ускорить процесс восстановления информации с помощью прямого указания типа контроллера. Только некоторый список поддерживаемых комплексом производителей контроллеров:

  • AlcorMicro
  • SK
  • SM
  • ChipsBank
  • iCreate
  • Lexar
  • USBest
  • PHISON
  • OTI
  • SSS
  • TOSHIBA

Описание работы по восстановлению информации было бы неполным без статистики, собранной и обработанной с декабря 2007 года. Около 80 процентов данных с флэш-накопителей  NAND удается восстановить в автоматическом режиме, то есть с помощью одного щелчка мышью. При детальном «ручном» восстановлении — 90 процентов данных обретают вторую жизнь. Сразу оговоримся, что оставшиеся 10 процентов информации тоже возможно спасти. Для этого потребуется время и сочетание технологий автоматического и механического восстановления.

Интересна и статистика восстановления данных при различных типах повреждений. От общего объема восстановления информации на накопителях на основе NAND флэш-памяти 45% приходится на устранение  неисправностей логического характера, соответственно, 55% — физического.

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




2 октября 2009 Г.

NAND -

NAND -


- , . , , , , , . . , HDD- . , - .   — NAND -. : . . NAND -.

, — , , , .

, - , 2009 IDE HDD.   100% , IDE HDD - 20%. , SATA-. ,   FLASH- SATA.

, , - ! , . , . , .

,

-:

  1. , , , . , .
  2. — - . , .

. , , «» . , , , .

20 , .

, .

-, , .  , , , , ECC. .

-, - , . « » — . (Vendor ID) (Device ID), .

, , ( , ).   «» . , , . , , , .

, (, http://www.flashboot.ru) , .

, , . . , , .

, , ,   .

, , , . , . , ,   USB , . - ( ) « ». , , . , , . .

, «», . ECC, . , , , , « », . .

, , . , . « », . , « ».

, , , , , , .

, , -  — . , USB- . , , . , , , . , — . , 128 , . , , .

? , :

  1. , ,
  2. , - — .

- PC-3000 Flash, , .

:

  • , ()
  • , .

PC 3000 Flash , . « », - . , , , . - .

— , . . PC 3000 Flash , . :

  • AlcorMicro
  • SK
  • SM
  • ChipsBank
  • iCreate
  • Lexar
  • USBest
  • PHISON
  • OTI
  • SSS
  • TOSHIBA

, 2007 . 80 -  NAND , . «» — 90 . , 10 . .

. NAND - 45%   , , 55% — .

, . , , -, . , , , . . !