Что такое Trim для SSD?
========================

 **Что такое Trim для SSD?** 

 Trim (англ. to trim — подрезать) — команда интерфейса ATA, позволяющая операционной системе уведомить твердотельный накопитель о том, какие блоки данных не несут полезной нагрузки и их можно не хранить физически.   
  
 Trim входит в спецификацию интерфейса ATA, стандартизацией которого занимается группа T13 в составе INCITS.   
  
 Команда была введена вскоре после появления твердотельных накопителей (SSD), чтобы сделать их конкурентоспособной альтернативой традиционным HDD в персональных компьютерах. Из-за того, что на внутреннем уровне реализация операций в SSD существенно отличается от реализации тех же операций в традиционных механических жёстких дисках, обычные методы операционных систем для таких операций, как удаление файлов и форматирование диска (не обращаясь непосредственно к затрагиваемым секторам/страницам на накопителе), приводит к прогрессирующему ухудшению производительности операций записи на SSD. Применение Trim позволяет SSD уменьшить влияние сборки мусора, которая в противном случае в дальнейшем выразится падением производительности операций записи в затронутые секторы.   
  
 Хотя утилиты для «сброса» некоторых накопителей в начальное состояние были уже доступны ранее появления Trim, они, помимо прочего, удаляли все данные на накопителе, что делало их практически неприменимыми для проведения оптимизации. 

 Современные операционные системы, как и файловые системы, пока еще рассчитаны в основном на работу с HDD (жесткий механический диск или винчестер) и при записи файла операционная система записывает их в специальную таблицу на жестком диске (MFT — Master File Table — Главная файловая таблица) — координату данного файла. Этим самым файловая таблица сообщает системе четкое и точное месторасположение кластеров с записанной информацией. Когда же файл удаляется с жесткого диска, система удаляет данные такого файла из этой таблицы MFT, сам файл не трогая. А при записи новых данных файлы просто пишутся поверх старых. Так работает перезапись на HDD. А вот для перезаписи данных на SSD требуется удаление не только координаты из MFT таблицы, но стирания самого ненужного более файла из ячеек flash-памяти. Здесь нам на помощь и придет Trim.   
  
 При пользовании SSD дисками со временем возникает ситуация, когда производительность их значительно снижается. Когда вы только начали пользоваться диском и все блоки flash памяти новые и чистые, то и скорость записи на них довольно высокая, в соответствии с заявленной в документации. Когда же SSD диск будет полностью записан, а затем некоторые файлы будут удалены, перезапись станет происходить на них на гораздо более низких скоростях. Ведь контроллеру вашего диска придется перед записью очищать и ранее использованные блоки flash памяти перед тем, как записать туда новые данные.   
  
 Для того, чтобы скорости работы SSD не падали, в новые операционные системы добавляется команда ATA TRIM. Специальный драйвер файловой системы при стирании файла направляет команду Trim для контроллера SSD диска. Когда контроллер SSD диска воспринимает команду, он сразу же очищает более не используемые блоки flash памяти. Делается это в режиме фона, в перерывах между любыми операциями записи и чтения.   
  
 Чтобы пользоваться командой Trim контроллер SSD накопителя должен поддерживать данную функцию, она должна быть включена в самой операционной системе, а дисковый контроллер должен быть в режиме работы AHCI. Нужно проверить, что в BIOS для контроллера SATA выставлен режим AHCI.   
  
 Так же функция Trim не будет работать если подключение SSD диска осуществляется через USB или диск SSD размечен в файловой системе FAT32.