SSD · REDSER BLOG

Як працює SSD

SSD не має пластин і головок. Дані зберігаються в NAND-комірках, але шлях від логічного файла до фізичних сторінок визначає контролер через FTL, ECC та службові алгоритми.

SSD зберігає інформацію в NAND flash, але операційна система не керує окремими комірками напряму. Контролер переводить логічні адреси у фізичні сторінки, розподіляє знос, виправляє помилки й організовує очищення блоків.

З яких вузлів складається SSD

Основні компоненти — NAND-пам’ять, контролер і firmware. У частині моделей є DRAM або інший кеш для службових таблиць. NAND фізично зберігає заряд, але саме контролер перетворює масив пам’яті на звичний блочний диск.

KIOXIA визначає controller як логіку, що керує читанням і записом, bad-block management, wear leveling та error correction. Тобто SSD — це не просто набір флеш-чипів.

Комірки, сторінки і блоки

NAND організована ієрархічно. Запис відбувається на рівні сторінок, а стирання — більшими блоками. Через це змінений файл не обов’язково перезаписується «на тому самому місці».

Контролер може записати нову версію сторінки в іншу область, а стару позначити неактуальною. Пізніше garbage collection звільнить блок для повторного використання.

FTL: внутрішня карта адрес

Windows бачить LBA — логічні блоки. Flash Translation Layer зіставляє їх із реальними сторінками NAND. Карта змінюється в процесі роботи, бо дані переміщуються через wear leveling і garbage collection.

Якщо службова трансляція пошкоджена, NAND може фізично містити інформацію, але без правильного mapping вона не складається у звичний диск.

Wear leveling і резервні блоки

NAND має обмежений ресурс program/erase. Щоб не зношувати одну область значно швидше за інші, controller розподіляє записи. Паралельно він виключає bad blocks і використовує резервні.

Для користувача це прозоро. Для recovery це пояснює, чому фізичне розташування файлів є результатом роботи контролера, а не просто порядком каталогів.

Garbage collection

Після оновлення або видалення частина сторінок стає неактуальною. Controller збирає ще потрібні сторінки, переносить їх і стирає цілий блок. Так він створює вільні області для майбутнього запису.

TRIM допомагає повідомити, які логічні блоки більше не потрібні файловій системі, але сама фізична очистка виконується внутрішньою логікою SSD.

Навіщо ECC

У NAND виникають raw bit errors, тому error correction є нормальною частиною роботи. Поки їх можна виправити, користувач отримує правильні дані й нічого не помічає.

Коли кількість помилок перевищує можливості корекції, читання може давати uncorrectable errors. У raw recovery ECC також потрібно відтворити.

SLC, MLC, TLC та QLC

Ці назви показують, скільки бітів кодується в одній комірці. Зі збільшенням кількості рівнів зростає щільність, але контролеру потрібно точніше розрізняти стани заряду й сильніше покладатися на error correction.

Тип NAND впливає на характеристики, але не дозволяє сам по собі передбачити результат відновлення. Важливі controller family, firmware, encryption і фактичний стан.

Що відбувається після Delete

Файлова система спочатку позначає простір як вільний. На SSD потім може пройти TRIM/deallocate. Controller отримує інформацію, що певні LBA більше не потрібні, і може включити їх у майбутнє очищення.

Тому після видалення подальша робота комп’ютера має більше значення, ніж на класичному HDD: створюються нові записи й можуть виконуватися фонові операції SSD.

Чому recovery не зводиться до «прочитати NAND»

Після фізичного читання NAND потрібно відтворити порядок сторінок, FTL, ECC, interleaving, scrambling і можливе шифрування. У сучасних SSD ключі можуть бути пов’язані з контролером.

Тому, коли штатний controller ще можна використати для контрольованого читання, це часто цінніший шлях, ніж негайний chip-off. Фізичний дамп — лише початок, а не готовий файл-диск.

Як внутрішня логіка SSD проявляється у звичайних ситуаціях

Коли ви копіюєте великий файл, контролер не просто «кладе його в одну вільну область». Він розподіляє сторінки, враховує стан блоків, може використовувати швидкий SLC-cache, оновлює FTL і паралельно підтримує службові структури. Після завершення копіювання частина внутрішніх операцій може продовжуватися у фоні.

Коли файл змінюється, стара фізична версія сторінки часто не переписується на місці. Нова версія записується в іншу область, а попередня стає invalid. Це пояснює, чому традиційні уявлення про «сектор, у якому лежить файл» погано описують сучасний SSD. Логічна адреса стабільна для операційної системи, але її фізичне представлення може змінюватися.

Під час відновлення ця архітектура має практичний наслідок. Якщо контролер працює, він сам виконує складну реконструкцію для кожної команди читання. Якщо він не може завантажити службові таблиці або firmware, спеціалісту доводиться відновлювати частину цієї логіки іншим шляхом. Саме тому однаковий симптом «SSD не визначається» у різних контролерних платформ може вимагати зовсім різних методів.

Із цього випливає й головне правило для користувача: не намагатися «спростити» SSD до набору NAND-чипів за допомогою випадкового перепаювання. Найцінніша частина системи зберігання — не лише фізичні комірки, а й контекст, який дозволяє правильно їх прочитати.

Головна різниця між HDD та SSD для даних

У HDD логічна адреса врешті прив’язана до магнітної поверхні, яку контролер читає механічними головками. В SSD між LBA і фізичною NAND набагато активніше працює трансляція: сторінки переміщуються, блоки очищуються, помилки виправляються, а дані можуть шифруватися внутрішньою логікою.

Це не робить SSD «гіршим» носієм. Навпаки, така архітектура забезпечує швидкість і ефективне використання flash-пам’яті. Але при відмові важливо зберегти не лише chips, а й службовий контекст, який дозволяє їх правильно інтерпретувати. Саме тому backup залишається простішим і надійнішим способом захисту, ніж будь-яке майбутнє recovery.

Поширені питання

Що таке SSD простими словами?

Твердотільний накопичувач, у якому дані зберігаються в NAND, а доступом керує контролер.

Що робить контролер?

FTL, wear leveling, bad-block management, ECC, garbage collection, інтерфейс і firmware-логіку.

Чому SSD переміщує дані?

Через особливості стирання NAND та необхідність рівномірно розподіляти знос.

Що таке FTL?

Внутрішня трансляція між логічними адресами ОС і фізичними сторінками NAND.

Чи можна прочитати NAND і одразу отримати файли?

Зазвичай ні — потрібна реконструкція внутрішніх перетворень.

Потрібні дані з SSD?

Якщо SSD втратив доступ до даних, повідомте точну модель і характер визначення. Розуміння контролера, NAND та службової логіки допомагає обрати шлях читання без зайвих змін джерела.