SSD · REDSER BLOG

TRIM у SSD та відновлення даних

TRIM повідомляє SSD, що певні логічні блоки більше не потрібні файловій системі. Після цього controller може включити їх у внутрішнє очищення, тому recovery після Delete на SSD відрізняється від HDD.

TRIM — це не «миттєве фізичне стирання файла» однією кнопкою. Хост повідомляє SSD, що певні логічні блоки більше не потрібні. Далі firmware/controller може очищати їх у межах garbage collection, тому реальний результат залежить від конкретної реалізації.

Навіщо SSD потрібен TRIM

NAND не перезаписується як сектор HDD. Для повторного використання flash block потрібно стерти. Файлова система знає, які LBA стали вільними після видалення, а SSD без додаткової команди не обов’язково знав би, що ці дані більше не потрібні.

TRIM/deallocate передає цю інформацію controller і допомагає ефективніше керувати вільним простором. Для нормальної роботи SSD це корисна функція, але в контексті випадково видалених даних вона змінює сценарій recovery.

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

Спочатку файлова система змінює свої метадані. Потім ОС може відправити SSD інформацію про звільнені LBA. Для NVMe відповідна семантика пов’язана з Dataset Management / deallocate.

Після цього старий фізичний вміст не треба вважати гарантовано доступним через звичайне читання тих самих адрес. Controller отримує право вважати ці області непотрібними.

TRIM не дорівнює моментальному erase

Kingston пояснює, що TRIM повідомляє контролеру про блоки, які більше не використовуються, а фактичне очищення виконується firmware під час garbage collection. Команда й фізична внутрішня очистка — не обов’язково одна мить.

Але з цього не випливає протилежна гарантія: на сучасному SSD старі дані можуть стати недоступними дуже швидко. Тому некоректні обидві крайності — «TRIM завжди миттєво знищує все» і «після TRIM дані завжди можна дістати».

Чому вимкнути TRIM після видалення — не машина часу

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

Після випадкового видалення на системному SSD найкраща загальна дія — припинити подальше використання. Не встановлюйте recovery software на це саме джерело.

TRIM після форматування або перевстановлення

Quick format, delete partition, reset або clean install — не однакові операції. Вони створюють різний набір метаданих і нових записів. На SSD до цього може додаватися deallocate/TRIM.

Для оцінки recovery важливо точно знати, що саме зробив користувач і скільки часу система працювала після цього. «Я лише перевстановив Windows» на системному SSD означає вже значний обсяг нової активності.

Чи проходить TRIM через USB

Команда повинна пройти через увесь storage stack. Конкретний USB-SATA або USB-NVMe bridge може підтримувати потрібний passthrough, а може поводитися інакше. Тому зовнішній корпус сам по собі не доводить ні наявність, ні відсутність TRIM.

Для оцінки корисно записати модель SSD, тип enclosure і операційну систему. Не варто робити висновок лише за типом кабелю.

Garbage collection і час роботи

Garbage collection — фоновий процес controller. Після отримання інформації про непотрібні сторінки він може переносити актуальні дані та стирати blocks. Чим довше системний SSD продовжує працювати після Delete, тим більше відбувається і звичайних записів ОС, і внутрішніх процесів.

Саме тому послідовне сканування п’ятьма програмами на тому самому SSD може погіршити контекст recovery, навіть якщо кожна програма обіцяє лише «читати».

Від чого залежить результат

ФакторЗначення
Чи пройшов TRIM/deallocateЧи отримав controller інформацію про вільні LBA
Час подальшої роботиНові записи і фонова активність
Controller / firmwareКонкретна реалізація garbage collection
EncryptionДодатковий рівень доступу до вмісту
Тип подіїDelete, Format, reinstall мають різні наслідки

Чому SSD не варто порівнювати з HDD

На HDD після логічного видалення головним ризиком довго був фізичний перезапис новими даними. На SSD до нього додаються TRIM, FTL і background garbage collection.

Recovery-програма не може «скасувати TRIM». Вона лише сканує те, що ще доступне через поточний логічний інтерфейс накопичувача. Тому відсутність файла в одному сканері не завжди пояснює точну внутрішню причину.

Практичні сценарії: Delete, Format і системний SSD

Після випадкового Delete на другому, несистемному SSD найкраще не копіювати на нього нові файли й не запускати серію recovery-програм. Якщо це системний диск, ситуація складніша: навіть без дій користувача ОС продовжує створювати кеш, журнали, browser data та інші записи. Саме тому час роботи після події має практичне значення.

Після quick format змінюється більше службової інформації, а накопичувач може отримати deallocate для значного діапазону LBA. Після перевстановлення Windows додаються ще й гігабайти нових записів. Ці сценарії не можна об’єднати в одну просту категорію «форматування» — для оцінки потрібно знати точну послідовність.

Є й протилежна помилка: побачити старі назви файлів у програмі й вирішити, що дані точно відновні. Файлова метаінформація та фактичні data blocks можуть мати різний стан. Програма інколи показує дерево каталогів, але при відкритті відновлені файли порожні або пошкоджені.

Тому TRIM-статус — лише одна частина діагностики. Важливі також шифрування, controller family, спосіб підключення, тип filesystem та подальші записи. Коректний висновок формують після перевірки фактичного читання, а не за одним прапорцем налаштувань Windows.

Які твердження про TRIM варто відкидати одразу

Фраза «TRIM завжди миттєво стирає все» надто категорична, бо фізичні дії залежать від firmware. Фраза «TRIM можна просто вимкнути й повернути видалене» так само хибна, якщо команда вже пройшла. Не менш небезпечна порада продовжувати роботу й перевіряти десятком програм: це збільшує і системний write activity, і час фонової роботи SSD.

Коректний підхід — описувати конкретний сценарій без обіцянок. Час, інтерфейс, controller, ОС і тип операції формують технічний контекст. Саме тому TRIM треба враховувати, але не використовувати як єдине пояснення будь-якого невдалого recovery.

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

Що таке TRIM?

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

TRIM одразу стирає дані?

Не обов’язково фізично в ту саму мить; очистка залежить від controller/firmware.

Чи можна відновити файли після TRIM?

Іноді результат можливий, але він залежить від платформи SSD та стану після події; гарантії немає.

Чи допоможе вимкнути TRIM після видалення?

Воно не скасує команду, яка вже була відправлена.

TRIM є в NVMe?

Так, NVMe має deallocate/Dataset Management семантику для звільнених LBA.

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

Після випадкового видалення важливо повідомити, що саме було зроблено і скільки часу SSD працював після події. Не продовжуйте записувати дані чи встановлювати recovery-програми на джерело.