Технологии

Что происходит с удалёнными файлами: разбираем алгоритм TRIM и его нюансы

Краткое резюме

В статье рассматривается работа SSD-накопителей и их отличие от HDD. Описывается использование командой TRIM и особенности хранения данных в ячейках NAND.

В настоящее время твердотельные накопители (SSD) являются практически стандартом для компьютеров. Однако многие пользователи воспринимают их просто как место для хранения файлов, не задумываясь о внутренних процессах, особенно о том, как осуществляется удаление и запись данных. Важно понимать механизмы, которые обеспечивают высокую скорость работы и длительный срок службы SSD. В этой статье мы рассмотрим ключевые аспекты очистки памяти и её связь с командой TRIM. На протяжении многих лет пользователи привыкли оценивать накопители в основном по двум критериям: скорости и объёму. Другие характеристики, такие как компактность, бесшумность и энергоэффективность, также важны, особенно для ноутбуков и портативных устройств. Кроме того, цена должна оставаться доступной для массового потребителя. Хотя на первый взгляд может показаться, что SSD и жёсткие диски (HDD) выполняют схожие функции, на самом деле их алгоритмы работы значительно различаются. При записи данных на HDD система сохраняет координаты файлов в специальной таблице. При удалении файла из таблицы удаляется только его адрес, а биты остаются на месте до перезаписи новыми данными. Это позволяет программам восстановления находить «следы» удалённых файлов и восстанавливать их. В отличие от HDD, SSD используют флеш-память с архитектурой NAND. Ячейки NAND представляют собой последовательное соединение транзисторов, каждый из которых хранит заряд на плавающем затворе. Наличие или отсутствие заряда (и его уровень) меняет пороговое напряжение транзистора. Во время чтения подаётся проверочное напряжение, и в зависимости от того, открывается транзистор или остаётся закрытым, на битовой линии фиксируется соответствующее значение бита. Данные на SSD хранятся в виде мелких блоков памяти. Минимальная единица записи — страница (page), размер которой обычно составляет от 4 КБ до 16 КБ. Эти страницы объединяются в более крупные блоки, называемые блоками стирания (erase blocks), размером около 512 КБ, а в современных накопителях встречаются блоки размером 1 МБ и даже 2 МБ. Важно отметить, что в SSD нельзя просто перезаписать отдельные данные внутри блока — для записи новой страницы необходимо сначала выполнить определённые процедуры.

Фильтры и сортировка