Bestor's Logo
(812) 303-90-91, sales@bestor.spb.ru
[ Вход ]

Команда TRIM: Зачем нужна команда TRIM

Обзоры
Разделы
Команда TRIM
Зачем нужна команда TRIM

Все устройства хранения, основанные на использовании Flash памяти, включая и SSD, используют особенный способ удаления данных. После удаления файла в операционной системе он, по-прежнему, существует на устройстве хранения (это относится и к SSD и к традиционным HDD). Далее мы будем называть такие данные (удаленные в ОС, но все еще существующие на устройстве хранения) "мусором".

После удаления файла, ОС подразумевает, что адрес, по которому этот файл располагался, теперь свободен и может быть, в случае нужды, перезаписан новыми данными. Когда ОС применяет команду на запись новых данных по адресу, который ранее содержал другие данные, обычные HDD успешно с этим справляются, без необходимости в выполнении дополнительных операций. В случае же NAND Flash устройств (USB Flash дисков, SD карт, SSD и т.п.) все не так просто. Дело в том, что прежде чем что-то записать в ячейку памяти SSD должен сначала ее очистить (если она не пустая). Процесс очистки ячеек от ранее удаленных данных называется "сборка мусора" (Garbage Collection). Алгоритм сборки мусора записан в контроллере SSD и может сильно отличаться у различных производителей. Устройства с неудачным алгоритмом сборки мусора со временем (по мере заполнения ячеек памяти) начинают работать медленнее.

Когда Microsoft » выпустил Windows® 7 он заявил, что это первая ОС, которая оптимизирована для работы с SSD (“SSD–aware OS”) в том смысле, что когда ОС распознает установленный SSD, она отключает некоторые функции оптимизации предназначенные для работы с обычными HDD, но неприменимые для SSD. Так же ОС "включает" одну, специфичную для SSD, функцию оптимизации, а именно команду TRIM. Проще говоря, команда TRIM позволяет ОС сообщать SSD где расположен мусор и помечать его для удаления. Т.е., когда данные удалятся, ОС сообщает устройству хранения что ячейки по адресу удаленных данных могут быть очищены, когда устройство найдет для этого подходящее время (например, во время простоя). Естественно, чтобы этот механизм работал, устройство хранения должно поддерживать команду TRIM.

Ограничения TRIM

Команда TRIM является эффективным способом поддержания скорости работы устройства хранения, но имеет и свои ограничения. Дело в том, что TRIM зависим от возможности связи с устройством через SATA Интерфейс. Если, например, SSD сконфигурированы в RAID массив, подключенный через хост-контроллер, или находятся в NAS/SAN системе за пределами хоста, то команда TRIM просто не доберется до этих устройств.

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

Учитывая наличие этих ограничений, компания Kingston » провела ряд тестов эффективности "сборки мусора" (Garbage Collection) по сравнению с TRIM. Результаты этого тестирования приведены в следующем разделе.

*По материалам с сайта компании Kingston® ».


Дата публикации: 07.07.2015