Зачем нужен TRIM или Тримминг?

TRIM — технология и команда позволяющая операционной системе или SSD контроллеру уведомить твердотельный накопитель о том, какие ячейки уже не содержатся в файловой системе и могут быть использованы накопителем для физического удаления. Тримминг — это очень важная технология, которая обеспечивающая более равномерный износ SSD-диска и более быструю работу с данными. Или иными словами, технология TRIM – это команда протокола SATA, которая сообщает операционной системе, какие блоки ранее записанных данных на SSD уже не нужны из-за удалений файлов или форматирования. Это позволяет SSD выполнить «сборку мусора», иначе операции записи на SSD существенно бы замедлились.

ТРИМ позволяет выстроить цепочку и определить приоритет освобождаемых блоков. Раньше данная операция была возложена на ОС, но современные SSD-контроллеры уже поддерживают данную функцию аппаратно в прошивках накопителей. Время выполнение операции по «зачистке» блоков связано по экспоненте со свободным объемом на диске. Чем меньше информации и больше свободного места, тем быстрее происходит «тримминг» на SSD. По мере заполнения диска до 75% функция очистки все еще не сильно выражена относительно простоя. Но, как только остаётся менее 15% свободного места, «триммирование» становится затруднительным. Естественно, часть зависимости полностью обуславливается типом информации (статичная, т.е. редко перемещаемая и в основном только читаемая, или динамическая). Согласно исследованию IBM идеальные условия работы SSD, когда он заполнен менее, чем на 75% и соотношения статической и динамической части информации 3 к 1.

Команда TRIM была введена вскоре после появления твердотельных накопителей (SSD), чтобы сделать их конкурентоспособной альтернативой традиционным HDD в персональных компьютерах. Из-за того, что на внутреннем уровне реализация операций в SSD существенно отличаются от тех же операций в традиционных механических жёстких дисках, обычные методы ОС таких операций, как удаление файлов и форматирование диска (не обращаясь непосредственно к затрагиваемым секторам/страницам на накопителе), приводит к прогрессирующему ухудшению производительности операций записи на SSD. Применение TRIM позволяет устройству SSD уменьшить влияние сборки мусора, которая в противном случае в дальнейшем выразится падением производительности операций записи в затронутые секторы. 

TRIM является неотъемлемой частью современных твердотельных накопителей. Он обеспечивает прирост производительности при заполнении данными дисков более чем на 2/3, за счет правильной сортировки блоков и подготовке их к записи. Это позволяет сократить разницу в скорости работы нового и уже заполнено на 75% диска до 2-3%. 

Не стоит забывать, что по умолчанию операционная система настроена на работу с обычным HDD диском, а значит пользователю обязательно необходимо, отключить «старые» механизмы увеличения скорости работы магнитного диска, а так же алгоритмы дефрагментации. Кроме того, важно побеспокоиться о неполном использовании всего пространства своего SSD-диска.

В своих SSD контроллерах производители используют различные техники для оптимального распределения операций записи по всему флеш-накопителю. Это делается не только для того, чтобы оптимизировать скорость путем минимизации усиления записи, но также для увеличения продолжительности жизни флеш-ячеек (выравнивание износа), так как обычные MLC-флеш-ячейки выдерживают 3000-5000 циклов записи. Другой подход заключается в том, чтобы использовать лишнюю память, не задекларированную операционной системе, для предоставления чистых страниц для операций записи как можно дольше перед тем, как начать перезаписывать другие страницы.

Эффективность этих методов по большей части зависит от обмена информацией между ОС и контроллером SSD о том, какие страницы могут считаться занятыми, а какие — свободными. Традиционно большинство ОС не информируют накопители об удаленных секторах/страницах, что препятствует контроллерам SSD оптимально распределять свободное пространство. Команда TRIM была введена чтобы исправить это, очищая неиспользуемые ячейки до того, как в них будет произведена запись, таким образом уменьшая время доступа.

 

Особенности работы твердотельных SSD накопителей

Ввиду особенностей методов удаления, обычно применяемых в файловых системах, накопители «не знают», какие сектора/страницы действительно используются, а какие могут считаться незанятыми. Операции удаления обычно ограничиваются пометкой блоков данных как «неиспользуемых» в файловой системе. В отличие от, например, операции перезаписи, удаление не приведёт к физической записи в затрагиваемые сектора, содержащие данные. Поскольку накопитель не имеет доступа к структурам файловой системы — таким как список неиспользуемых кластеров — накопитель остаётся в неведении об освобождении блоков. Хотя это часто позволяло восстановить удалённые данные на традиционных HDD, несмотря на то, что они были отмечены как «удалённые» операционной системой, так же это означало, что когда позже операционная система произведёт операцию записи в один из секторов, считающихся свободным местом, эта операция будет считаться операцией перезаписи с точки зрения накопителя. Для традиционных жёстких дисков эта операция никак не отличается от записи в незанятый сектор, но из-за того, как на низком уровне функционируют SSD, перезапись данных существенно отличается от записи в незанятый сектор, потенциально ухудшая производительность дальнейших операций записи.

 

Ограничения на тримминг

TRIM не работает с «виртуальными» дисками, хранящимися в виде образов, что ограничивает использование команды в виртуальной среде. TRIM не всегда поддерживается в RAID-массивах.

Отрицательным последствием введения команды TRIM является принципиальная неработоспособность любых программ по восстановлению удалённых данных на SSD, работающем под управлением ОС с поддержкой этой команды.

 

Поддержка команды TRIM операционными системами и дисками

Для старых твердотельных дисков, произведённых до добавления команды TRIM в стандарт ATA, необходимо обновление прошивки — в противном случае, команда будет ими игнорироваться. Команда TRIM поддерживается также не всеми операционными системами.

  • Windows 8 поддерживается с финального релиза с октября 2012
  • Windows Server 2012 поддерживается с финального релиза с октября 2012
  • Windows 7 поддерживается с финального релиза с октября 2009
  • Windows Server 2008 R2 поддерживается с финального релиза с октября 2009
  • Linux 2.6.33 поддерживается с февраля 2010
  • OpenSolaris поддерживается с июля 2010
  • FreeBSD 8.3, 9.0 & head поддерживается с UFS, поддерживается с ZFS
  • Mac OS X поддерживается на данный момент — только для SSD, входящих в комплект поставки компьютера и с версии 10.6.6 с соответствующим обновлением.

В некоторых случаях, когда TRIM не поддерживается операционной системой, существуют утилиты, позволяющие отправлять эту команду «вручную». Обычно такие программы с помощью ОС составляют список свободных блоков и передают его диску в виде последовательности команд TRIM. Такие продукты существуют как в виде универсальных утилит (hdparm версии 9.17 и выше), так и в виде ПО для отдельных дисков (Intel, G.Skill).

 

Как узнать включен ли TRIM на компьютере?

Убедиться, что ваша версия Windows 7 и Windows Server 2008 R2 корректно распознала SSD и включила поддержку TRIM можно следующим образом.

  1. В меню поиска «Start/Пуск» наберите «cmd» для поиска утилиты командной строки Windows;
  2. Нажмите на программу cmd правой клавишей мыши и выберите «Run as Administrator/Запуск от имени администратора»
  3. В командной строке наберите «fsutil behavior query DisableDeleteNotify»
  4. Если DisableDeleteNotify = 0, то функция TRIM активна. Если DisableDeleteNotify = 1, то функция TRIM выключена. При наборе команд не включайте кавычки.

 

Как включить TRIM?

Если команда TRIM выключена, то чтобы включить команду TRIM надо ввести команду fsutil behavior set disabledeletenotify 0

Вам может также понравиться...

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *


Срок проверки reCAPTCHA истек. Перезагрузите страницу.