Восстановление данных с NAND-памяти SSD
В SSD информация физически находится в NAND, но логический диск создается контроллером. После прямого чтения chips нужно восстановить адресную карту, коррекцию ошибок и другие преобразования.
Почему NAND не выглядит как диск
На уровне микросхемы нет папок и буквы C:. Есть cells, pages, blocks и служебные области. KIOXIA описывает NAND как semiconductor flash memory, а controller — как управляющую логику.
Логический диск появляется только после того, как controller применил собственную трансляцию адресов. Без этой карты raw data не совпадает с привычным порядком файлов.
FTL и история записей
При каждой записи controller может выбрать новые физические pages. Wear leveling распределяет износ, garbage collection освобождает blocks, bad-block management исключает дефекты.
Поэтому физическое размещение постоянно меняется и не повторяет структуру каталогов. Один и тот же LBA может в разные моменты соответствовать разным pages.
Что получают при chip-off
После физического чтения chips получается набор raw dumps. В SSD с несколькими NAND data распределены между channels, dies и planes.
Чтобы собрать исходный логический поток, нужно понимать архитектуру controller и layout конкретной памяти. Чтение chips — только acquisition stage.
ECC — обязательный этап
NAND имеет raw bit errors, которые штатно исправляет controller. После прямого чтения correction выполняется отдельно. Если chips деградировали, часть pages может требовать повторных чтений.
Uncorrectable pages способны приводить к поврежденным фрагментам даже при успешном чтении большей части массива. Поэтому качество raw acquisition оценивают до сборки файловой системы.
Почему dump похож на случайные данные
Помимо interleaving, controller применяет scrambling и другие преобразования. Они помогают физике flash и распределению состояний, но усложняют recovery.
Простой поиск JPEG-сигнатур по сырому дампу не доказывает отсутствие файлов: данные могут быть разбросаны и преобразованы.
Шифрование внутри controller
Современные SSD могут постоянно шифровать NAND внутренним ключом. Пользователь может никогда не включать пароль, но физический поток остается связанным с controller.
Если controller полностью потерян, наличие NAND chips само по себе не гарантирует доступ к plaintext. Возможность зависит от конкретной реализации.
Когда лучше не выпаивать NAND
Если controller еще дает service/diagnostic access, он уже умеет правильно читать собственную память. Стабилизация штатного пути часто безопаснее и эффективнее.
Chip-off используют только когда это оправдано платформой и отказом, а не как универсальную первую операцию. Чем меньше необратимых действий, тем больше вариантов остается.
Что меняет тип NAND
SLC, MLC, TLC и QLC различаются количеством битов на cell. Чем больше уровней, тем выше требования к точности чтения и ECC.
Но recoverability нельзя оценить одной аббревиатурой. Controller family, firmware, encryption и физическое состояние chips обычно важнее.
Что сообщить до диагностики
Модель, емкость, интерфейс, как SSD определяется, что произошло до отказа, выполнялись ли firmware update, format, Secure Erase или пайка. Не нужно снимать NAND самостоятельно.
Если накопитель иногда появляется, зафиксируйте условия. Не тратьте это окно на многократные scans: оно может быть полезнее для контролируемого чтения данных.
Путь от дампа микросхемы до проверяемого файла
Первый этап после чтения NAND — понять layout страницы и исправить ошибки ECC. Затем необходимо собрать потоки нескольких chips/dies/channels в правильном порядке. Если interleaving определен неправильно, отдельные фрагменты могут выглядеть корректно, но логическая последовательность будет разрушена.
Следующий уровень — FTL/mapping. Controller на протяжении жизни SSD постоянно перемещал данные, поэтому восстановление физического порядка записи не равно восстановлению LBA. Приходится находить и интерпретировать служебные структуры либо реконструировать соответствия по алгоритмам конкретной платформы.
После этого может появиться еще один барьер — encryption. Современный SSD способен хранить NAND в зашифрованном виде как часть обычной работы. Если правильный cryptographic context остался только в исходном controller, замена его «таким же» чипом не возвращает автоматически plaintext.
И только после построения логического image начинается обычная работа с partitions и filesystem. Проверяют структуру каталогов и реальное открытие файлов, а не только их названия. Поэтому результат chip-off оценивают не по тому, что programmer прочитал 100% микросхем, а по тому, удалось ли пройти весь путь до логически корректных данных.
Почему метод выбирают после диагностики, а не до нее
Фраза «контроллер мертв — будем читать NAND» звучит логично только на бытовом уровне. На практике сначала выясняют, действительно ли штатный controller недоступен, можно ли получить service access и поддерживает ли конкретная платформа raw reconstruction. Если hardware encryption жестко связан с исходной логикой, необдуманный chip-off может не приблизить к plaintext.
Поэтому хороший recovery-процесс сохраняет максимум исходных компонентов и начинает с наименее разрушительного пути. Метод выбирается под конкретную controller family, NAND и симптом, а не под общий класс «SSD не определяется».
Частые вопросы
Что такое NAND?
Физическая flash-память SSD.
Что такое chip-off recovery?
Чтение микросхем вне штатного controller с последующей реконструкцией.
Почему raw dump не равен файлам?
Из-за FTL, ECC, scrambling, interleaving и encryption.
Можно ли восстановить данные при мертвом controller?
Иногда, если конкретная платформа позволяет raw NAND reconstruction.
Нужно ли выпаивать NAND дома?
Нет, если данные важны: физическое чтение без понимания структуры не решает задачу.
Связанные материалы SSD
Нужны данные с SSD?
Для NAND-сценария важны модель SSD, характер отказа и уже выполненные вмешательства. Не выпаивайте память и не меняйте controller до оценки того, можно ли сохранить штатный путь к данным.