TRIM — это имя команды, которую операционная система может отправить, чтобы сообщить SSD, какие блоки в файловой системе свободны. SSD использует эту информацию для внутренней дефрагментации блоков и сохранения свободных страниц для быстрой и эффективной записи.
В отличие от жестких дисков (HDD), флэш-память NAND, которая лежит в основе SSD дисков, не может перезаписывать существующие данные. Это означает, что вы должны сначала удалить старые данные, прежде чем записывать новые. Флэш-память разделена на блоки, которые далее делятся на страницы. Минимальная единица записи — это страница, а наименьшая единица стирания — блок.
Данные можно записывать прямо на пустую страницу, но стирать можно только целые блоки. Поэтому, для того, чтобы освободить пространство, занятое удалёнными данными, все имеющиеся данные из одного блока должны быть сначала скопированы и записаны на пустые страницы нового блока. Только после этого данные в исходном блоке могут быть окончательно стерты, что делает блок готовым для записи новых данных.
Проблема в том, что со временем возникнет «куча» не полностью занятых страниц и быстродействие диска сильно упадёт. Это связано с тем, что при удалении файла операционная система просто помечает данные блоки как свободные, но не сообщает об этом контроллеру диска. И вне зависимости от оставшегося места, контроллер диска не сможет найти куда записать новые данные. Для решения этой проблемы и используется TRIM.

Непрерывный TRIM ведёт к некоторому замедлению файловых операций, так как после каждой из них выполняются операции по по очистке неиспользуемых блоков. Поэтому в большинстве дистрибутивах Linux советуют настроить периодический запуск fstrim.
Можно также самому очищать TRIM вручную с помощью команды fstrim время от времени, или после больших операций с диском.
Выполнение команды TRIM в Linux:
Конкретный раздел:
sudo fstrim -v /mnt/diskВсе смонтированные разделы:
sudo fstrim -av