Восстановление данных с карты памяти SD

SD карта Transcend
Наведите указатель
Восстановление данных с карты памяти SD Transcend

Карты памяти Secure Digital (SD, SDHC) предназначены для использования цифровых фото- и видеокамерах. Малые габариты, относительно высокая емкость и скорость работы; а также невысокая цена и абсолютная совместимость практически с любыми устройствами сделали карты памяти этого типа лидером по применению как в бытовых, так и в профессиональных устройствах.

Проблемы с картами памяти SD

  • Форматирование, удаление файлов. Решение проблемы - за несколько часов в лаборатории.
  • Просит отформатировать. Может говорить как о логической, так и об аппаратной неиспарвности. Решение проблемы - от нескольких часов до нескольких дней. Чаще всего - сутки.
  • Размер 0 байт. Аппаратная неисправность. Чаще всего обусловлена повреждением трансляции блоков из-за плохого состояния микросхем памяти. Решается чтением памяти на программаторе и сборкой образа. 90% карт памяти восстанавливаются на следующий день после обращения.
  • Не определяется. Аппаратная неисправность карты памяти (неисправность контроллера). Может быть обусловлена как повреждением непосредственно контроллера карты памяти (или его "обвязки" - формирователей напрежений, согласующих устройств), так и микросхем памяти. В подавляющем большинстве случаев данные можно восстановить полностью.

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

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

Восстановление данных с карты памяти SD на примере
SDHC Transcend 16 Gb class 10

Восстановление данных с карты памяти SD

Состояние при поступлении в лабораторию: не определяется ни фотокамерой, ни компьютером.

Осмотр карты памяти: корпус карты памяти вскрыт, имеются две наклейки с номерами из сервисов.

Диагноз: аппаратная неисправность карты памяти (неисправность контроллера).

заключение специалиста: данные можно восстановить в течение суток

До поступления в лабораторию с картой памяти проводились диагностические процедуры, однако, она была возвращена заказчику с формулировкой "сделать не получится из-за отсутствия оборудования". В лаборатории "ИНТЕР" имеется всё необходимое оборудование для восстанволения данных с карт памяти любых конфигураций, в том числе монолитных. Это одна из многих причин, по которым для восстановления данных следует обращаться в лабораторию, а не в подвальный сервис по ремонту "любых компьютеров, ноутбуков и телефонов".

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

В ходе диагностики установлено, что неисправная SD-карта имеет в своем составе две микросхемы памяти в корпусе TSOP-48 29F62G08CBABA производства Micron по 8 Гб в каждой и контроллер SM2687B AA от Silicon Motion. Для восстановления данных с карты памяти было принято решение о выпаивании микросхем и последующем их чтении. После отпаивания микросхем их выводы были очищены от окислов: в штатном положении пайка SMD-компонентов осуществляется снизу, а при установке в программатор контакт панельки с NAND flash осуществляется сверху, поэтому для предотвращения ошибок чтения все 48 выводов зачищены до блеска. Для вычитывания содержимого (файлов-дампов) микросхемы были установлены в комплекс восстановления данных с флеш носителей PC-3000flash.

NAND память Micron
Идентификатор микросхем памяти

Отличием микросхем памяти данного типа с точки зрения восстановления данных является то, что у них применена несколько иная, чем в более старых образцах, схема питания, при которой необходимо подавать дополнительное питание 3,3 V на 24, 34 и 38 вывод (обеспечение питания буферов). ПАК PC-3000flash позволяет не только быстро изменять конфигурацию выводов, но и изменять значение напряжения питания. Чтение микросхем памяти было произведено с размером страницы 8944 байт (это максимальный размер из встречавшихся образцов флешек, попавших на восстановление данных с такими микросхемами памяти) – при необходимости размер страницы можно будет уменьшить до реально использовавшегося микропрограммой данного контроллера. Остальные параметры чтения микросхем памяти взяты из справочника для микросхем NAND памяти с id=0x2C64444B A9: тип SDR, размер блока 4096 секторов. Тайминги при первом чтении оставляем с множителем 1, так как оснований полагать, что необходимо увеличение продолжительности импульсов в данном случае нет.

После вычитывания микросхем памяти для данного типа контроллера SD карты необходимо сразу сделать коррекцию ECC, так как восстанавливать данные из нескорректированных дампов памяти бессмысленно: все восстановленные фотографии окажутся «битыми». Дополнительно по карте статусов ECC можно судить об исправности микросхем памяти и пытаться вычитать информацию, максимально соответствующую содержимому. В данном случае код ECC корректирует страницу следующим образом: код ECC размером в 70 байт защищает 1024 байта (два сектора) пользовательских данных и сам себя, причем таких диапазонов 8, а после них ещё 26 байт служебной информации с ECC. После проведения коррекции ECC мы получили информацию об участках, которые не могут быть скорректированы за счёт кода ECC – участки, содержащие в себе повреждённые (изношенные) ячейки памяти, причём для первой микросхемы размер этих участков – чуть более 1 Гб, для второй – почти половина. Восстанавливать данные из дампов с такими сильными повреждениями бессмысленно, так как битовые ошибки, возникающие при чтении сбойных ячеек, модифицируют информацию таким образом, что вместо полезных данных в результатах появляется мусор, причём мусор этот может так же встречаться и в области служебной информации.

Области служебной информации – диапазоны страниц NAND-памяти, не содержащие в себе пользовательских данных, но содержащие служебные данные: коды ECC, таблицы трансляции, маркеры блоков и т.п.

Восстановление данных с карты памяти с битыми ячейками
Нескорректированные страницы.

Для уменьшения количества нескорректированных страниц применяется метод дочитывания нескорректированных страниц с контролем ECC и с применением различных алгоритмов (алгоритм Read Retry, увеличение периодов следования импульсов – таймингов, повышение/понижение температуры и напряжений питания). В данном случае был применён алгоритм Read Retry, который заключается в изменении внутренних параметров работы массива памяти внешними командами, разработанный специально для восстановления данных, хранящихся именно в таких микросхемах памяти. Процесс перечитывания с контролем ECC - один из самых длительных процессов при восстановлении данных с флеш-карт, работающих на сильно изношенной TLC памяти, длящийся иногда несколько суток. В результате имеем файлы дампов микросхем памяти, скорректированные более чем на 99%, что позволит собрать достоверный образ и восстановить все данные практически без потерь. Результат перечитывания можно увидеть на карте нескорректированных страниц: в данном случае в каждом дампе имеется не более 10 Кб нескорректированных участков.

Некоторые комплексы восстановления данных (и специалисты, работающие на них) не способны производить перечитывание с контролем ECC с механизмом Read Retry. В таких комплексах эти микросхемы именуются Problem chips и восстановлению не подлежат.

Учитывая тот факт, что практически все контроллеры SM применяют в своей работе преобразование XOR, для восстановления данных с карты памяти перед устранением так называемого «микса» (перемешивания данных между частями микросхемы памяти и отдельными микросхемами) необходимо подобрать маску, с которой производится сложение по модулю 2 (XOR). К данному набору микросхем памяти и контроллеру применима маска XOR 247 (из библиотеки XOR комплекса) размерностью (1024+70)*8+26, что в сумме даст размер страницы 8778 байт. Так размер страницы, с которым мы читали микросхему, больше маски XOR, данные мы не потеряем, но станицу придется немного «подрезать», однако, пройдёт это абсолютно «безболезненно», ведь неиспользуемые области в страницах заполнены числом 0xff. Для удобства работы комплекса мы выберем несколько больший требуемого размер страницы, кратный числу 0x10 (или 16 в десятичной системе исчисления): 8832 байт, из которых используем 8778 для преобразования XOR, а остальное просто оставим в качестве «заглушки». После наложения маски XOR в дампах можно обнаружить заголовки файлов и куски файловой системы, но размер этих фрагментов будет не больше 1024 байт из-за того, что полезные данные пока ещё перемешаны со служебными. Для отделения пользовательских данных от кодов ECC и служебной информации применим метод «дизайнер страницы», при помощи которого вырежем отработавшие коды ECC, разделим диапазоны на секторы и укажем служебную информацию для каждого сектора.

Восстановление данных с карт памяти. Выполнение предварительных преобразований
Предварительные преобразования

Сектор – минимальная единица адресации дискового пространства. У flash-накопителей, как и у большинства носителей размер сектора равен 512 байт. Однако, для восстановления данных размер сектора, используемый в комплексе, равен 512+SA (размер служебной области). Для удобства подсчета часто применяют размер SA в 16 байт, даже если реальный размер меньше.

В нашем случае размер служебной области, соответствующий каждому сектору, равен 26 байт (эта величина определена производителем на этапе производства карты памяти), поэтому «отбрасываем» часть страницы, в которой содержатся коды коррекции ошибок и ставим в соответствие каждому сектору страницы 26 байт служебной информации. В итоге получаем страницу, «порезанную» следующим образом: ((1024 байт пользовательских данных, идущих подряд))-70 байт кода ECC)*8, а после них следуют 26 байт служебной информации (которая в редакторе будет «приклеена» к каждому сектору) и «заглушка» (назначение – см. выше). Одной из причин, по которой для восстановления данных с карты памяти нельзя просто вычитать содержимое микросхем программатором (даже при условии отсутствия преобразования XOR, что у современных носителей – большая редкость) и отсканировать программой типа R-Studio и ей подобными как раз и является то, что внутри микросхем памяти полезная информация перемешана со служебной и в данном примере получить фрагмент файла больше чем 1024 байт не получилось бы.

Черновое восстановление
Мелкие фрагменты файлов

При восстановлении данных с карт памяти (да и любых устройств с NAND-flash памятью) следует помнить, что все преобразования условно можно разделить на два этапа: устранение перемешивания в блоках и сборка блоков в порядке очерёдности. Первичные преобразования (так называемый «микс») зависят не только от микропрограммы контроллера, но и от устройства непосредственно микросхем памяти. Так, заглянув в справочник микросхем памяти, увидим, что микросхемы с id=0x2C64444B A9 могут иметь более одной плоскости внутри физической части. В практике восстановления данных эта особенность проявляется в виде раздробленных данных размером в блок чередования (размер блока, подряд записанного в одну плоскость). По аналогии с RAID-массивами эта особенность представляет собой блоки, изначально располагавшиеся на разных накопителях, выставленные один за другим. Проверить наличие такого перемешивания можно методом «чернового восстановления» в PC-3000flash: запустив метод на любом дампе, увидим, что максимальный проверенный размер файлов слишком мал для сборки блоков, что говорит нам о наличии каких-то преобразований (в нашем случае – Interleave). Устраняется характерный интерлив методом block pair: делим дампы на блоки одинакового размера (в размер блока интерлива) и объединяем их попарно, таким образом, «склеивая» блоки, следовавшие друг за другом, но записанные в разные плоскости.

Учитывая наличие в карте памяти SD двух микросхем (и соответственно, двух файлов – дампов), необходимо определить взаимосвязь между ними: в любом случае имеет место ещё одно подобие RAID, либо RAID0, либо JBOD (в зависимости от настроек микропрограммы контроллера). Для проверки типа взаимосвязи между микросхемами памяти воспользуемся просмотром служебной информации для пары секторов, расположенных в разных дампах по одному адресу. Помня о том, что для контроллеров SM характерно положение в 514 и 515 байтах маркера с номером блока, делаем вывод о том, что информация из одного блока расположена в разных микросхемах памяти – точно как в RAID0. Для устранения этого преобразования объединим попарно «полублоки», расположенные в дампах, а на полученном объединенном дампе запустим «черновое» восстановление. Появление в результатах «чернового» файлов с проверенным размером более 1 Мб говорит о том, что все преобразования внутри блоков выполнены правильно и можно приступать к выстраиванию блоков в порядке следования (сборке образа).

Анализ служебной информации карты памяти
Сравнение служебной информации дампов памяти

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

Сборка образа по номеру блока

Служебная информация для MBR
Master Boot Record
Параметры транслятора
Настройки сборщика образа

Анализируя служебную информацию восстанавливаемой карты памяти, определяем, что при сборке логично было бы выделить последовательность 514 и 515 байтов для нумерации блока, однако, служебная информация первого (в компьютерной нумерации – нулевого) блока будет содержать пару 00 08, второго (первого по-компьютерному) – 01 08 и т.д., что не совсем правильно: во-первых, старшая часть номера идёт впереди младшей, а во-вторых, старшая начинается с 08, а не с 00. Решается эта проблема довольно просто: в настройках алгоритма сборщика «разворачиваем» маркер (тип маркера 3412) и «двигаем» его (маска 70FF). Размер блока для сборщика считаем по передовой методике второго класса средней школы: размер блока микросхемы памяти (величина справочная, равна 4096 секторов) умножаем на 4 (это число обусловлено произведёнными преобразованиями) и получаем 16384. Запускаем сборщик, смотрим в лог и ожидаем увидеть корневой каталог, данные и т.п. Но не тут-то было: корневой каталог пуст, данных не видно. Запускаем «черновое», видим следующую картину: очень много целых файлов (значит, преобразования верные), MBR установлен на место, значит, параметры сборщика тоже определены верно.

Целые файлы в результатах чернового восстановления
Целые файлы

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

Сборщик EN2683B BA

Выбор алгоритма трансляции для восстановления данных с карты памяти
Подбор алгоритма

Комплекс для восстановления данных с карт памяти PC-3000flash способен определять тип транслятора блоков (сборщика) по косвенным признакам (структуре служебной информации). Зачастую сборка по таблицам трансляции (применение транслятора) даёт гораздо более полный результат, так как практически полностью моделирует алгоритм работы контроллера. Автоматический подбор (автоопределение алгоритма) предложил для нашей карты памяти транслятор EN2683B , поэтому применим данный транслятор с автоопределением параметров его работы. В итоге имеем результат, аналогичный первому сборщику: нет файловой системы, но есть целые файлы. То есть проблема не в параметрах и вряд ли в типе транслятора. Конечно, можно было бы на этом остановиться, сказать заказчику «микросхемы сильно повреждены, сделали всё, что можно, но больше не восстановить», но это не в наших правилах – мы будем разбираться в причинах.

Отсутствующие блоки в восстановленном образе
Заполнение отсутствующих блоков

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

Сборщик EN2685

Из библиотеки дополнительных методов выберем специализированный алгоритм, разработанный для восстановления данных с карт памяти для фотокамер с контроллерами, применяющими в своей работе дополнения. Параметры работы этого транслятора рассчитаны на этапе устранения преобразований: размер блока 16384 секторов, размер дополнений определён на последнем шаге преобразований по смене маркеров в страницах, содержащих в себе элементы файловой системы (32 сектора). Собрав образ карты памяти при помощи транслятора с нужными параметрами, получаем доступ к пользовательским данным: в корневом каталоге папки DCIM (с пометкой зелёного цвета, которая говорит о том, что заголовок папки корректен) и файлами внутри.

Корневой каталог карты памяти
Корневой каталог
Восстановленные данные с карты памяти
Восстановленные данные

Данные с карты памяти восстановлены на следующий день после обращения. Берегите свои нервы и деньги: обращайтесь к профессионалам, которые возьмут на себя все заботы. Избегайте обращения к тем, кто видит разницу между микросхемами NAND и BGA, предлагает восстановить данные с ценой за мегабайт, а также выездных мастеров и домашних умельцев.

Почему стоит обратиться именно к нам

      Фиксированные цены. Мы не заманиваем в лабораторию низкой ценой "от 1500 р.", чтобы потом сказать, что именно в Вашем случае стоимость больше. Точная цена известна заранее, как и верхний предел цен. Стоимость любых работ приведена на сайте в разделе "цены". Мы не обманываем клиентов!
      Работа без предоплаты. Мы не берём предоплату за запчасти, расходные материалы и "дополнительную расширенную диагностику" независимо от того, какая работа уже проделана. Исключение составляют только чужое неквалифицированное вмешательство (но такие случаи крайне редки). Мы дорожим своей репутацией!
      Бесплатная доставка. Наш курьер бесплатно заберёт и привезёт Ваш накопитель. Отправляя курьера, мы сразу сообщаем стоимость работ "от" и "до", но если заранее оговорённая цена не устроила заказчика после доставки в лабораторию, то обратная доставка будет платной. Все исполненные и оплаченные заказы мы доставляем бесплатно в пределах Москвы.

Заказать консультацию