Восстановление информации со сломанной флешки PL-2518 256 Мб

admin Восстановление данных, Накопители, Флешки

В центр восстановления данных “Квадра” поступила неисправная флешка объемом 256 Мб сломанная пополам, с которой нужно спасти файлы. Накопитель пришел в виде двух кусков печатной платы из зеленого текстолита без корпуса, поэтому производитель остался неизвестен. Кусок поменьше с разъемом, обвязкой и довольно старым контроллером PL-2518 от Prolific Technology, который не встречался во флешках объемом больше 1 гигабайта. На втором фрагменте печатной платы разместились светодиод и две микросхемы NAND-памяти Hynix HY27UA081G1M по 128 мегабайт каждая. Стоит отметить, что неприятность произошла из-за неудачной конструкции платы, ослабленной двумя рядами металлизированных переходных отверстий. К счастью для владельца, разлом оказался посередине между микросхемами памяти и контроллером. Диагностика показала, что восстановление печатной платы не имеет смысла, в данном случае самое простое и быстрое решение – выпаять микросхемы flash-памяти, снять с них дампы и программно воспроизвести работу контроллера.

Накопитель содержит две микросхемы, контроллер двухканальный, поэтому для увеличения скорости записи он пишет страницу одновременно в две разные микросхемы, разбивая данные через байт. Чтобы устранить это преобразование берем байт из первой микросхемы, байт из второй затем снова из первой и т.д. и объединяем все в один дамп. Преобразование, устраняющее такую особенность работы контроллера так и называется “Объединение по байтам” или “Join by Byte”. Помимо пользовательских данных контроллер пишет на микросхемы памяти служебную информацию необходимую для коррекции ошибок и работы транслятора. Её необходимо выделить, схема размещения довольно простая: после каждых 512 байт данных идут 16 байт служебки. Теперь можно убрать битовые ошибки в данных по имеющимся в служебной области кодам коррекции ошибок. После чего можно приступить к сборке транслятора. Для равномерного износа ячеек flash-памяти контроллер разбивает данные на небольшие блоки, которые перемещает в соответствии с зашитой в нем микропрограммой. Данное действие называется трансляция. Механизм трансляции контроллеров PL-2518 хорошо изучен и в нашем арсенале даже имеется специализированный сборщик. Ищем в служебной области специальные маркеры оставленные контроллером. Вычисляем по ним размер блока. По найденным маркерам собираем блоки в порядке возрастания номеров и восстанавливаем транслятор, после чего формируем образ файловой системы и получаем доступ к пользовательской информации.