Восстановление данных с флешки PQI Traveling Disk U172P объемом 4 Gb

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

На восстановление данных поступила флешка с довольно любопытной конструкцией. Носитель от тайваньской фирмы Power Quotient International (IMHO компания выбрала неудачный логотип, пропустив точку над “и” можно прочесть как pq1 или pqL) объёмом 4 Гигабайта отказал из-за износа памяти. А любопытно в этом экземпляре то, насколько компактно он выполнен. На печатной плате длиной 37 мм используется буквально каждый клочок текстолита.  Контакты USB-разъёма выполнены прямо на плате. С другой стороны разъема разместились контроллер, кварцевый генератор и другие элементы обвязки. Все-таки старые контроллеры давали инженерам простор для творчества. В современных контроллерах почти все элементы интегрированы в сам чип, компоновка сильно упростилась и многие модели флешек внутри выглядят однообразно. С двух сторон платы с небольшим смещением друг от друга разместились две микросхемы памяти в корпусе TSOP-48. На чипах аршинными буквами выполнен логотип pqi и маркировка 16GIAA. Power Quotient International не производил память, а значит это перемаркированные чипы другого производителя, интересно какого. Все это размещается в очень крепком алюминиевом цилиндре. Интересно, что старания инженеров сделавших плату миниатюрной почти как монолит прошли даром – металлический корпус намного длиннее платы, его можно укоротить на 8-10 мм.
Закончим описание конструкции и перейдем к восстановлению файлов. Выпаиваем микросхемы памяти и, очистив контакты,  помещаем в программатор. В ридере чипы отдают идентификатор  0x89D5943E, значит судя по справочнику микросхем это не самые плохие Intel JS29F16G08AAMC1. Двухканальный контроллер пишет через байт сразу на оба чипа, поэтому делаем объединение по байтам. По заранее подобранным кускам дампа выделяем служебную область и разбиваем страницу размером 8608 байт на шестнадцать секторов размером 536 байт (512 байт пользовательских данных и 24 байта служебки):
0-512;512-24;
536-512;1048-24;
1072-512;1584-24;
1608-512;2120-24;
2144-512;2656-24;
2680-512;3192-24;
3216-512;3728-24;
3752-512;4264-24;
4288-512;4800-24;
4824-512;5336-24;
5360-512;5872-24;
5896-512;6408-24;
6432-512;6944-24;
6968-512;7480-24;
7504-512;8016-24;
8040-512;8552-24;

После преобразования формата страниц и корректировки дампа по ECC останется устранить еще одно преобразование. Дело в том, что микросхемы JS29F16G08AAMC1 могут состоять из двух слоев (плоскостей) и контроллер при помощи аппаратной команды Multiplane Read может оперировать с каждой плоскостью как с отдельной микросхемой. Это дает вдвое большую скорость. Но нам пока неизвестно использует ли контроллер эту функцию памяти или она программно заблокирована.  Проверяем и если интерлив присутствуем устраняем его, разделяя содержимое на блоки по 2048 страниц и объединяя два дампа попарно через каждую страницу (16 секторов). После устранения  перемешивания можно приступить к сборке транслятора. Флешкой управлял контроллер Alcor AU6986, для которого у нас есть специализированный сборщик, поэтому нужно лишь подобрать правильные параметры. Выделяем маркеры, по ним вычисляем, что размер блока 4096 страницы. В банке 1024 блока, размер дополнения 32, а смещение 8. Собираем с этими параметрами транслятор и восстанавливаем данные пользователя.