TRIMкоманда (инструкция), предназначенная оптимизировать скорость доступа и время записи и распределить изношенность между ячейками в твёрдотельных накопителях (SSD). Также служит для сохранения характеристик накопителя на одном уровне во время всего срока его службы.

 

Для чего нужна данная инструкция?

Для перезаписи информации, ячейки на накопителе SSD обычно группируются на блоки по 512 Кб. Если TRIM поддерживается, то чтобы записать данные на блок, он должен быть обязательно очищен и обозначаться как чистый. Данное ограничение в контроллёре стоит для того, чтобы не затрагивать все ячейки, а изменять только необходимые, уменьшая их износ и сохраняя скорость записичтения на примерно одном уровне.

К примеру, у нас есть чистая область (1 байт) со значениями ячеек 00000000, нам нужно сделать 00001010. То есть поменять два нуля, на две однёрки. Технология TRIM позволяет это сделать.

Если бы ячейки были не очищены, то имели бы вид к примеру, 10011011. Контроллёру пришлось бы делать все 8 запросов для полной перезаписи ячеек до нужного состояния, вместо двух.

В накопителе с поддержкой технологии TRIM, работу совершили всего 2 ячейки, а в накопителе без TRIM — все ячейки в блоке.

Так вот, если нужно записать несколько файлов, микроконтроллёру нужно отыскать «неиспользуемые блоки» и затереть их новой информацией. Причём для каждого файла и блока эта цепочка повторяется. А что если файлов 1000? Быстродействие накопителя сильно падает. TRIM позволяет направить всю силу накопителя только на запись НУЖНЫХ ячеек, то есть двоичных единиц, не размениваясь при этом на двоичные нули. * технология может немного отличаться от производителя к производителю, но принцип тот же.

TRIM введена для увеличения скорости работы SSD накопителя, особенно в операциях ввода-вывода (TRIM кстати входит в спецификацию интерфейса ATA) для SSD.

 

Принцип работы.

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

То есть при удалении файла, запускается команда TRIM, и подчищает блоки где раньше был файл. При следующей записи, накопитель будет знать, где блоки очищены и сразу же начнёт запись данных.

Средствами ОС и контроллёра реализуется ещё одна функция. Чтобы ячейки изнашивались равномерно, создаётся подобие базы данных, по которой можно определить какие блоки перезаписывались чаще всего. На основе этой информации, данные будут записываться в самые неиспользуемые блоки. Это значительно продлевает срок службы накопителя. Ведь при износе всего нескольких блоков, в большинстве случаев, накопитель уже не пригоден для дальнейшего использования.

Чтобы TRIM поддерживалась, нужно иметь накопитель с контроллёром и прошивкой поддерживающими TRIM. А также операционную систему с её поддержкой. К примеру Windows 7 автоматически распознаёт SSD диск, отключает некоторые функции ОС, тормозящие работу SSD и включает инструкцию TRIM. Если ОС не поддерживает TRIM, для её включения существуют специальные утилиты и драйвера от производителя или универсальные (типа hdparm 9.17 и выше).