Відновлення даних з NAND-пам’яті SSD
NAND-чипи фізично зберігають інформацію SSD, але не у вигляді готової файлової системи. Для recovery потрібно відтворити логіку контролера: порядок сторінок, FTL, ECC та інші перетворення.
Що саме зберігає NAND
NAND — напівпровідникова flash-пам’ять. KIOXIA описує дані як стан заряду в memory cells. Мікросхеми містять величезні масиви комірок, організовані у сторінки й блоки.
Але файлової системи «всередині одного NAND-чипа» немає. Логічний диск створює controller, який знає відповідність між LBA та фізичною пам’яттю.
Чому controller змінює фізичне розташування
FTL, wear leveling, garbage collection і bad-block management переміщують дані по NAND. Оновлена логічна сторінка може записуватися в нову фізичну область, а стара залишатися до очищення.
Тому порядок файлів у Windows не відповідає прямому порядку raw pages у дампі. Навіть послідовний файл може бути фізично розподілений.
Що таке chip-off
Chip-off означає фізичне читання мікросхем поза штатним контролером. На виході отримують raw dumps зі сторінками даних, службовими областями та ECC bytes.
Це ще не образ диска. Потрібно знати page layout, channels, dies, interleaving та спосіб складання конкретної controller family.
ECC після фізичного читання
Raw NAND допускає помилки, які в нормі непомітно виправляє controller. Після chip-off цей рівень доводиться відтворювати окремо. Деградовані сторінки можуть потребувати повторних читань.
Якщо кількість bit errors перевищує можливості correction, частина інформації може бути фізично втрачена. Сам факт, що programmer прочитав chip без апаратної помилки, ще не гарантує коректність усіх pages.
Interleaving і scrambling
SSD використовує кілька каналів і кристалів паралельно. Сторінки можуть бути черговані між ними. Також controller може застосовувати scrambling/XOR-подібні перетворення для нормальної роботи NAND.
Через це raw dump часто виглядає як випадковий потік, навіть якщо фізично прочитаний правильно. Пошук сигнатур без реконструкції не є повноцінним методом.
Hardware encryption
У сучасних SSD controller може шифрувати дані постійно, навіть без пароля користувача. Ключі та crypto context пов’язані з конкретною платформою.
Якщо доступ до controller повністю втрачено, raw NAND може залишитися зашифрованим. Це одна з головних причин, чому chip-off не універсальний.
Коли controller краще зберегти
Якщо накопичувач ще можна стабілізувати через штатну логіку, controller уже має FTL, ECC і ключі. Отримати sector image через нього часто ефективніше, ніж збирати все з raw chips.
Професійна діагностика тому спочатку визначає найменш інвазивний шлях до даних. Випаювання пам’яті не повинно бути автоматичним першим кроком.
SLC, MLC, TLC, QLC
Кількість бітів на cell впливає на щільність і вимоги до читання. Більше рівнів заряду означає вищі вимоги до точності й error correction.
Але тип NAND не є рейтингом відновлюваності. Controller, firmware, encryption і фізичний стан конкретних chips важливіші для вибору методу.
Чого не робити самостійно
- не випаювати NAND без плану реконструкції;
- не прогрівати плату «для оживлення»;
- не міняти controller між схожими SSD навмання;
- не запускати Secure Erase;
- не вважати raw dump готовою резервною копією.
Для початкової оцінки достатньо моделі SSD, симптомів і списку вже виконаних дій. Ця інформація допомагає вибрати шлях із найменшим втручанням.
Як із raw NAND отримують логічні дані
Після фізичного читання починається реконструкція. Спочатку потрібно правильно розділити службові та користувацькі bytes сторінок і виконати ECC. Потім встановлюють порядок сторінок і те, як контролер чергував записи між каналами, dies та chips. Лише після цього можна наближатися до логічного LBA-потоку.
Далі відновлюють FTL або інший mapping. Це критичний етап: без нього сторінки можуть бути коректними самі по собі, але стояти в неправильному порядку. На сучасних платформах mapping може бути динамічним і зберігатися у службових структурах, які теж потрібно знайти та інтерпретувати.
Якщо використовується апаратне шифрування, навіть правильно зібраний фізичний потік може залишатися ciphertext. Тоді потрібен контекст конкретного controller і ключів. У деяких випадках це робить raw NAND шлях непридатним, тому збереження оригінального контролера має принципове значення.
Після отримання логічного image робота ще не закінчена: перевіряють partition table, filesystem, каталоги й відкривання пріоритетних файлів. Тобто «відновлення з NAND» складається з фізичного, трансляційного, криптографічного й файлового рівнів. Саме тому короткі DIY-інструкції з програматором створюють хибне враження про складність задачі.
Коли слово «NAND» у діагнозі ще нічого не пояснює
Фраза «дані в NAND, значить вони фізично є» не враховує стан комірок, ECC, mapping та encryption. Так само несправний controller не означає автоматично, що потрібно одразу випаювати пам’ять. Спочатку оцінюють, яку частину штатної логіки ще можна використати й чи підтримується raw-реконструкція для конкретної платформи.
Тому професійна оцінка не починається з методу, а з моделі та симптомів. Один SSD доцільно читати через власний controller, інший — через спеціальний service access, а для третього raw NAND може бути єдиним шляхом. Універсального рецепта для всіх SSD немає.
Поширені питання
Що таке NAND у SSD?
Мікросхеми flash-пам’яті, які фізично зберігають інформацію.
Що таке chip-off?
Фізичне читання NAND поза штатним controller.
Чи можна одразу побачити файли в raw NAND?
Зазвичай ні: потрібні FTL, ECC, порядок сторінок та інші перетворення.
Чому controller важливий?
Він знає mapping, виконує ECC, wear leveling і часто encryption.
Чи всі SSD можна відновити через NAND?
Ні. Платформа controller, шифрування і стан NAND можуть робити цей шлях непридатним.
Пов’язані матеріали SSD
Потрібні дані з SSD?
Для оцінки NAND-сценарію достатньо моделі SSD, симптомів і історії втручань. Не випаюйте пам’ять і не змінюйте контролер до визначення того, який шлях читання зберігає найбільше шансів.