Что такое код trim


Содержание

Как проверить или включить SSD TRIM

Если вам оказалась полезна или просто понравилась эта статья, тогда не стесняйтесь — поддержите материально автора. Это легко сделать закинув денежек на Яндекс Кошелек № 410011416229354. Или на телефон +7 918-16-26-331.

Даже небольшая сумма может помочь написанию новых статей :)

Или поделитесь ссылкой на эту статью со своими друзьями.

Опубликовано: 01.03.2014 Последнее обновление этой статьи: 13.03.2020

В этой статье описание ATA команды TRIM, которая используется для повышения скорости записи на SSD диски.

Использование ATA команды TRIM, не во всех случаях происходит автоматически, в некоторых ситуациях выполнение этой команды со стороны ОС необходимо включать явным образом.

Для начала нужно убедиться в том, что ваш SSD диск поддерживает эту команду. Впрочем, все новые диски ее поддерживают. Сделать такую проверку можно любой современной программой по работе с дисками. Например в Linux это можно сделать при помощи консольной команды:

hdparm -I /dev/sda | grep -i trim

Где sda ваш SSD диск. Вывод команды должен содержать строку «TRIM supported».

Оглавление

Как работает TRIM

Одна из основных функций любой файловой системы это хранение списка секторов диска, в которых записан тот или иной файл. То есть, с каждым файлом связан список дисковых секторов.

Когда вы удаляете файл на SSD диске, операционная система отправляет контроллеру SSD диска команду TRIM и вместе с ней список секторов которые можно очистить. Контроллер записывает эти сектора в очередь своей подпрограммы, «сборщика мусора». А эта подпрограмма обрабатывает все сектора из списка.

Сборщик мусора работает в те моменты, когда диск простаивает. То есть, когда операционная система не присылает запросы на чтение или запись данных. Поэтому с момента получения команды TRIM, до фактического удаления этих секторов проходит некоторое время.

Если в очереди на тримеризацию много секторов, их очистка может занять продолжительное время. Например, если выполнить быстрое форматирование целого раздела, то TRIM такого объема может быть длительным.

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

Когда TRIM не работает!

  • Функция TRIM не работает если SSD диск подключен через USB.
  • Функция TRIM не работает для разделов c файловой системой FAT32.
  • Функция TRIM не работает еще для большого количества файловых систем (например Ext2).
  • Функция TRIM не работает, когда вы удаляете раздел целиком, даже если файловая система поддерживает TRIM, и эта опция включена.

Когда TRIM должен работать

  • Linux с ядром начиная от 2.6.33 и файловая система Ext4.
  • Windows 7, 8 и 10 и файловая система NTFS.
  • Mac OS X начиная с версии с 10.6.6 (но для этой версии нужно устанавливать обновление).

В любом из этих вариантов команда TRIM отправляется только после удаления файлов. Или отдельно, принудительно для всего свободного места, если ОС поддерживает такой вариант.

Включение TRIM в Linux

Примечание. В Ubuntu, начиная с версии 14.04, ничего дополнительно делать не нужно. Все работает из коробки.

Во-первых для использования TRIM, необходимо, чтобы файловая система была ext4.

Во-вторых включение команды TRIM указывается в опции монтирования для раздела ext4 в файле fstab. Конкретно это опция discard.

Кроме этого, для раздела на SSD диске можно добавить опции noatime (или realtime) и nodiratime — это снижение нагрузки по записи, не будут обновляться даты доступа к файлам и папкам.

Также можно добавить опцию commit и указать значение допустим 60 секунд — отложенные операции записи будут выполняться на раздел раз в 60 секунд. Но эту опцию можно добавлять только в том случае если у вас есть UPS (ИБП), или на ноутбуке!

Таким образом примерная строка fstab может выглядеть таким образом:


В Linux можно выполнить команду TRIM и вручную:

В этом примере команда применяется к корневой файловой системе. Если есть несколько разделов ext4, тогда такую команду нужно выполнить для каждого такого раздела.

Проверка и включение TRIM на Windows 7, 8 или 10

Сначала нужно открыть консоль («Командная строка») с правами администратора. Меню Пуск — Программы — Стандартные — Командная строка. Правая кнопка мыши — Запустить от имени Администратора.

Далее в консоли выполнить команду:

fsutil behavior query disabledeletenotify

Если вывод команды будет — disabledeletenotify=1, значит команда TRIM отключена. Включить ее можно командой:

fsutil behavior set disabledeletenotify 0

Не перепутайте! Ноль — TRIM включен, единица — TRIM выключен.

Как выполнить TRIM на разделе NTFS

Если у вас операционная система Windows 7, 8 или 10, тогда можно ничего не делать. Достаточно проверить включена для функция TRIM. Далее Windows будет автоматически отправлять команду TRIM при следующих операциях с диском:

  • Удаление файла(ов).
  • Быстрое форматирование раздела (диска) NTFS.

В Windows 8 и 10 можно вручную дать команду TRIM для целого раздела (диска) NTFS. В свойствах диска, на вкладке «Сервис» нужно открыть Оптимизатор дисков. Это новое название дефрагментатора Windows.

В Оптимизаторе дисков для разделов NTFS на SSD диске будет доступна команда «Оптимизировать диск». Выполнение этой команды приводит к тому, что Windows отправляет SSD диску команду TRIM для всех свободных блоков на этом диске. То есть выполняется «тримизация» всего свободного пространства на разделе (диске) NTFS.

В Windows 7, 8 и 10 можно сделать «тримизацию» всего раздела (диска) NTFS. Для этого нужно выполнить быстрое форматирование этого раздела (диска). Однако важно понимать, что это уничтожит все данные на разделе.

В последних (2015, 2020 годы) версиях драйвера ntfs-3g (драйвер ntfs для линукс) добавлена функция TRIM. Теперь можно «тримизировать» раздел NTFS из Linux. Команда в терминале:

fstrim -v /media/ntfs/

где /media/ntfs/ примонтированный раздел NTFS.

Как выполнить TRIM на Windows XP и Vista

Ни Windows XP, ни Vista не поддерживают функцию TRIM. Если нужно «тримизировать» SSD диск, который используется в этих ОС, тогда есть следующие варианты:

  • Программа производителя SSD диска. Если такая есть.
  • Подключить этот диск на другой компьютер, где установлена Windows 8 или 10. И через Оптимизатор дисков выполнить оптимизацию NTFS разделов на этом диске. Важно! Диск нужно подключать через SATA, а не через USB. Подробно об этом в разделе «TRIM на NTFS».
  • Загрузить компьютер с флешки со свежим дистрибутивом Linux (2020 года или позднее). Примонтировать разделы NTFS и выполнить команду fstrim. Подробно об этом в разделе «TRIM на NTFS».

Что такое TRIM (сбор мусора)

У SSD дисков есть важное отличие от HDD которое влияет на скорость записи. В HDD запись выполняется «поверх» старых данных. Блоки диска, которые ранее содержали данные, а затем эти данные были удалены, просто помечаются как свободные. И когда нужно выполнять запись, контроллер HDD сразу пишет в эти свободные блоки.

При использовании флэш-памяти, блоки которые ранее содержали какую-то информацию перед записью должны быть очищены. Это приводит к тому, что при записи в ранее использованные блоки скорость записи сильно падает, ведь контроллеру нужно их подготовить для записи (очистить).

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

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

Падение скорости записи в повторно используемые блоки флэш-памяти может быть очень высоким. До значений близких к скорости записи HDD дисков. При тестировании SSD дисков часто даже проводят специальный тест на снижение скорости записи в повторно используемые блоки.

Для борьбы с этим явлением в новые ОС добавлена дисковая ATA команда TRIM. Драйвер файловой системы, при удалении файла, отправляет контроллеру SSD диска команду TRIM. По этой команде контроллер SSD диска очищает освобожденные блоки флэш-памяти, но делает это в фоновом режиме, в перерывах между операциями чтения и записи.

Использование этой команды позволяет вернуть полную скорость записи для повторно используемых блоков флэш-памяти. Однако не все ОС поддерживают эту команду. А только относительно свежие версии:

  • Ядро Linux начиная с версии 2.6.33.
  • Windows 7, 8 и 10
  • Mac OS X начиная с версии с 10.6.6 (но для этой версии нужно устанавливать обновление).

До сих пор популярная WIndows XP (как и Vista) не поддерживают эту команду.

Обходной вариант для старых ОС, заключается в использовании, сторонних программ. Например это может быть программа hdparm (версии 9.17 и выше) или фирменные программы производителя SSD диска, например Intel SSD Toolbox.

Есть две модели SSD дисков у которых деградация скорости повторно используемых блоков выражена слабее чем у других:

  • Plextor M5 pro (снята с производства).
  • Plextor M5S (снята с производства).
  • Intel 545s
  • Samsung 860 EVO


Прошивки (микропрограмма, firmware) таких дисков умеют частично очищать неиспользуемые блоки без команды TRIM. Восстанавливая скорость записи до полной паспортной скорости записи.

В 2020 многие модели SSD дисков умеют самостоятельно «собирать мусор». Точнее по конкретной модели можно узнать почитав обзоры тестов. В серьезных Интернет-изданиях, среди прочих тестов, делают и тест на способность диска самостоятельно выполнять очистку блоков.

Команда TRIM может не работать если SATA контроллер материнской платы был установлен в режим IDE (для совместимости со старой ОС или программой).

Команда TRIM чаще всего отключается при использовании RAID массива.

Восстановление удаленных данных

Если вы используете TRIM, о восстановлении удаленных файлов можно забыть. Если вы удалите файл, то его данные на SSD диске будут уничтожены.

Влияние TRIM на скорость записи

Важно понимать, что использование или не использование функции TRIM прямо не влияет на скорость записи SSD диска. Влияет на эту скорость только один фактор — наличие достаточного количества свободных блоков флеш-памяти. То есть таких блоков, которые очищены контроллером диска и готовы к записи в них новых данных.

Иначе говоря, скорость записи зависит от количества свободного места на диске. Если у вас диск почти полностью заполнен, то скорость записи упадет даже если вы используете TRIM. И наоборот, если у вас 20-30% емкости диска оставлены без разметки (unallocated disk space), тогда можно обойтись и без использования TRIM. Контроллер диска будет использовать неиспользуемую под разделы емкость для выравнивания скорости записи.

Но резервируя свободное место важно понимать, что это нужно делать на новом SSD диске, до начала его использования. Если вы удалите уже существующий раздел. Или уменьшите размер существующего размера, блоки флеш-памяти, занятые этим разделом не будут очищены. Они останутся занятыми до тех пор, пока вы снова не используете это свободное место.

Если вы хотите зарезервировать свободное место на полностью размеченном SSD диске, тогда нужно выполнить принудительную команду ТРИМ для всего раздела и только после этого удалять раздел (или уменьшать его размер).

Служебные программы некоторых производителей, например программа Samsung Magician, позволяют выделить часть емкости SSD диска, для ее использования контроллером диска (кеш записи и выравнивание износа). В этом случае такое выделенное место будет недоступно для операционных систем — они будут «видеть» меньшую емкость диска.

Илон Маск рекомендует:  CmdLine - Переменная Delphi

Функция TRIM действительно даст возможность поддерживать высокую скорость записи только при двух условиях:

  1. Под разделы выделена вся емкость SSD диска.
  2. Радел(ы) с файловой системой не заполнены более чем на 70-80% от своего размера.

Иван Сухов, 2014, 2020, 2020 гг.

Если вам оказалась полезна или просто понравилась эта статья, тогда не стесняйтесь — поддержите материально автора. Это легко сделать закинув денежек на Яндекс Кошелек № 410011416229354. Или на телефон +7 918-16-26-331.

Даже небольшая сумма может помочь написанию новых статей :)

Или поделитесь ссылкой на эту статью со своими друзьями.

Описать процедуру Trim(S), удаляющую в строке S начальные и конечные пробелы

12.11.2012, 12:47

Описать процедуру TrimL(S), удаляющую в строке S лишние пробелы
Помогите пожалуйста человеку который нифига не разбирается в Паскали. Плииииизззззззз .

Написать процедуру, которая удаляет из строки все конечные пробелы
2. Написать процедуру, которая удаляет из строки все конечные пробелы.

Написать процедуру, которая удаляет из строки все конечные пробелы
2) Написать процедуру, которая удаляет из строки все конечные пробелы

Описать процедуру, удаляющую в строке начальные пробелы
Описать процедуру TrimL(S)1, удаляющую в строке S начальные пробелы. Используя эту процедуру.

Что такое функция TRIM, её самостоятельное включение/выключение

При использовании дисков SSD функция TRIM имеет особое значение. Для обычных винчестеров она не нужна, поэтому о её наличии многие даже не догадываются. Связано это с различным устройством этих накопителей. Когда обычный винчестер удаляет какой-либо файл, то на самом деле всего лишь удаляются данные из таблицы MFT о местонахождении этого файла. Сами же байты этого файла продолжают оставаться на диске. Лишь в таблице эта область переходит в разряд незанятых, куда можно снова записывать информацию. Именно поэтому возможно восстановление удаленных файлов, ведь физически они не удалены. Винчестер с одинаковой легкостью запишет информацию как в совершенно чистые сектора, так и в те, где уже что-то записано. При записи новых данных старые просто стираются. Но устройство SSD-дисков основано на флеш-памяти, а не магнитной записи. Быстрая запись информации в них возможна только в пустые ячейки памяти. Конечно, такой накопитель может сначала стереть старую информацию, а потом туда же записать новую, но затратит на это гораздо больше времени, а значит, потеряется главное преимущество SSD-дисков – скорость. Вот здесь и выручает особая функция, которая обеспечивает производительность SSD-накопителей на должном уровне.

Настройка функции TRIM.

Что такое TRIM

Функция TRIM предназначена для простой, но важной для твердотельного накопителя работы – очищения байтов, помеченных как свободные. Это обеспечивает в них максимально быструю запись новой информации, так как флеш-память оказывается заранее подготовлена к этому процессу. Происходит эта работа средствами операционной системы и поддерживается в Windows, начиная с 7-й версии. Программа запускается в фоновом режиме и по умолчанию всегда включена, благодаря чему подключение и распознавание твердотельных дисков обычно не вызывает проблем.

Как работает TRIM

Устройство накопителей SSD кардинально отличается от привычных винчестеров. Память у них организована страницами, которые можно стирать только целиком. Но накопитель SSD сам не может распределять информацию наиболее эффективно, потому что операционная система не даёт ему информацию о том, какие именно страницы нужно физически очистить. Поэтому накопитель работает с максимальной производительностью, пока у него имеются свободные страницы, на которые он может записывать. Как только пустые страницы закончатся, накопитель будет вынужден перед записью выполнять операцию очистки, что сильно снизит его скорость. Функция TRIM для SSD была добавлена в операционную систему, чтобы обеспечить взаимодействие с накопителем, сообщая ему, какие страницы можно очистить. Это происходит в фоновом режиме, и производительность компьютера в целом долгое время остаётся высокой. Кроме того, флеш-память имеет ограниченное число циклов записи, и это также учитывается. Поэтому не происходит многократная эксплуатация одних ячеек при простое других, отчего срок службы накопителя и его надёжность существенно повышаются.

Как проверить, включена ли команда TRIM

Для корректной работы TRIM обычно ничего делать не требуется. Однако производителей накопителей много, и система может быть настроена тоже по-разному, поэтому не мешает посмотреть, включен ли TRIM. Надо помнить, что поддержка функции TRIM для SSD будет отключена, если накопитель используется в RAID–массиве или в системе включено восстановление. В таком случае включить её не получится. Проверить, работает ли TRIM в Windows 10, 8 или 7, довольно просто. Для этого достаточно запустить командную строку от имени администратора и ввести такую команду:

fsutil behavior query DisableDeleteNotify

Если результат будет 0, то функция работает, а если результат 1, то отключена. Проверить работу TRIM всегда полезно, так как эта функция может не работать при некоторых настройках в БИОС. Указанным способом можно узнать, включена ли она на запущенной системе. Если она не работает, восстановление системы отключено и накопитель не входит в RAID – массив, то полезно заглянуть в BIOS, и посмотреть режим работы диска – должен быть выбран режим AHCI.


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

Если проверка говорит, что TRIM не работает, то можно попробовать включить эту функцию вручную. Однако это не сработает для SSD-дисков, подключаемых через USB. Для всех прочих моделей включить функцию TRIM в Windows 10 и более ранних версиях очень просто. Для этого в командной строке нужно ввести одну из команд:

fsutil behavior set disabledeletenotify NTFS 0 – если используется файловая система NTFS.

fsutil behavior set disabledeletenotify ReFS 0 – если используется файловая система ReFS.

Перед тем, как вводить их, полезно посмотреть в свойства диска и убедиться, что там он отображается именно как «твердотельный накопитель», а не просто «жесткий диск». В случае проблем в этом месте в командной строке нужно ввести команду winsat diskformal – это поможет системе верно определить тип диска. Также перед процедурой включения полезно провести дефрагментацию, особенно, если диск уже некоторое время используется и на нем накопилось много файлов.

Как отключить TRIM

Отключается TRIM также просто, как и включается. Делается это также через командную строку – нужно ввести команду disabledeletenotify 1. Должно появиться сообщение NTFS DisableDeleteNotify = 1, которое означает, что функция выключена.

Однако трудно представить ситуацию, когда требовалось бы проводить такую операцию. Ведь эта функция предназначена для оптимизации и ускорения работы SSD-диска. Кроме того, она намного продлевает ему жизнь. Поэтому, отключая её, будьте готовы, что производительность компьютера заметно снизится, а срок работы накопителя сильно сократится.

Указанные здесь способы включения и отключения TRIM работают в системах Windows версий 7, 8, и 10. Однако немало компьютеров используют более старые XP и Vista. В них нет встроенных инструментов для корректного подключения SSD, однако ситуация не безвыходная. Просто придётся найти и установить дополнительное ПО, например, Intel SSD Toolbox. Делитесь в комментариях, были ли у вас проблемы с определением SSD-диска, включилась ли функция TRIM сразу после подключения. Указывайте версию Windows и модель диска – эта информация наверняка будет интересна и полезна многим читателям.

Функции LTrim, RTrim и Trim LTrim, RTrim, and Trim functions

Возвращает переменную типа Variant (String), содержащую копию заданной строки без начальных пробелов (LTrim), без конечных пробелов (RTrim) или без начальных и конечных пробелов (Trim). Returns a Variant (String) containing a copy of a specified string without leading spaces (LTrim), trailing spaces (RTrim), or both leading and trailing spaces (Trim).

Синтаксис Syntax

LTRIM (строка) LTrim(string)
RTRIM (строка) RTrim(string)
Trim (строка) Trim(string)

Обязательный строковый аргумент — любое допустимое строковое выражение. The required string argument is any valid string expression. Если строка содержит значение Null, возвращается Null. If string contains Null, Null is returned.

Пример Example

В этом примере функция LTRIM используется для удаления начальных пробелов, а функция RTRIM используется для удаления конечных пробелов из строковой переменной. This example uses the LTrim function to strip leading spaces, and the RTrim function to strip trailing spaces from a string variable. Также используется функция Trim для удаления обоих типов пробелов. It uses the Trim function to strip both types of spaces.

См. также See also

Поддержка и обратная связь Support and feedback

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Have questions or feedback about Office VBA or this documentation? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь. Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.

Как включить TRIM для SSD в Windows

TRIM – это важная функция (команда), позволяющая значительно продлить срок службы твердотельного накопителя SSD. Если функция TRIM задействована и работает, то при удалении файлов с SSD происходит полная очистка данных с неиспользуемых ячеек памяти. При простом же удалении данных пользователем ячейки просто помечаются как неиспользуемые, но фактически остаются заполненными.

Как правило, поддержка TRIM для SSD задействована в операционных системах Windows (включая Windows 7 / 8 / 10) по умолчанию. Но иногда случается так, что по тем или иным причинам эта опция может быть и не активирована. Поэтому для поддержания производительности и продления срока службы вашего SSD-накопителя всё же лучше проверить, работает ли функция TRIM.

Как это сделать, а также о том, как включить TRIM в Windows, если функция не работает, читайте в этой краткой инструкции.

Как проверить, включена команда TRIM (на примере Windows 10)

  • Запустить командную строку Windows от имени администратора (все способы), например, так: в поиске на панели задач набирать латиницей «cmd» или просто начать вводить «коман…»;
  • Нажать правой кнопкой мыши по «Командная строка (Классическое приложение)» → Запустить от имени администратора;
  • Далее ввести команду: fsutilbehaviorquerydisabledeletenotify → нажать Enter на клавиатуре. В результате получим отчёт о состоянии TRIM.

В нашем примере (смотрите скриншот выше) из полученного отчёта следует, что команда TRIM включена и используется – значение 0 напротив NTFS DisableDeleteNotify.

Если бы стояла цифра «1», то это означало бы, что команда TRIM отключена.

Как включить TRIM в ОС Windows 10, 8 и Windows 7

Если функция TRIM отключена, то при использовании SSD накопителя, крайне рекомендуется её активировать.

Способ первый:

  • В проводнике откройте свойства своего SSD накопителя (обычно это локальный диск (:C)), кликнув правой кнопкой мыши → Свойства;
  • Перейдите к вкладке «Сервис» → нажмите «Оптимизировать»;

  • Откроется окно «Оптимизация дисков», где следует обратить внимание на столбец «Тип носителя». Если вместо SSD указано «Жёсткий диск», то это значит, что, по тем или иным причинам, система не смогла правильно определить тип носителя, поэтому и отключена поддержка TRIM;
  • Чтобы это исправить, запускаем командную строку от имени администратора и вводим команду: winsat diskformal ;
  • Данная команда инициирует процедуру проверки скорости дисков, установленных на компьютере. Это поможет операционной системе определить, какой из накопителей является жёстким диском, а какой SSD. В результате выполнения данной операции функция TRIM должна быть автоматически задействована.

Второй способ:

Если в «Оптимизации дисков» тип носителя определяется правильно, но по факту поддержка TRIM отключена, то команду TRIM можно включить и в ручном режиме:

  • Запустить командную строку Windows от имени администратора;
  • Выполнить команду – fsutil behavior set disabledeletenotify NTFS 0 .

Как отключить TRIM

Если вы хотите отключить поддержку TRIM, то:

  • Запустите командную строку Windows от имени администратора;
  • Выполните команду – fsutil behavior set disabledeletenotify NTFS 1 .

Заключение

Всё вышеописанное относится к операционным системам Windows 10, 8 и Windows 7, где поддержка TRIM, как правило, работает по умолчанию, однако в некоторых случаях всё же требуется вмешательство пользователя для включения этой опции. Что же касаемо старых операционных систем от Microsoft (Windows XP и Vista), то здесь нет встроенной поддержки TRIM, однако она может быть задействована с помощью различных программ, например, старых версий Samsung Magician, Intel SSD Toolbox и др.

Что такое код trim

На подкапотной табличке есть запись о внутренней отделке – TRIM. На моей машине там написано «TRIM FC17», но символ «C» в надписи очень похож на цифру «0» или букву «O», так как разрыв линии контура у него по правой стороне заметно меньше, чем обычно бывает у буквы «C», к тому же по контуру он полностью совпадает с символами «0» и «O», также имеющимися на табличке. Конечно, еще можно было бы сравнить этот символ «C» с его написанием в слове «COLOR», где сомневаться не приходится, но слово это написано другим шрифтом и другого размера, и больше «C» на табличке не встречается. Интересно все-таки с этим разобраться. Может кто-то знает, какой у меня TRIM: «FC17», «F017» или «FO17»? Вот на всякий случай данные по машине:
• Toyota Corona Premio
• Год выпуска: 1999
• Марка кузова: AT211
• Номер кузова: AT2110095400
• MODEL: GF-AT211-AEPEK
• COLOR: 040
• АКПП
• Правый руль
• ABS

И интересно также, какие свойства внутренней отделки подразумевает мой TRIM?

Что такое код trim

ВНИМАНИЕ. ЭТО ВАЖНО.
Наши реквизиты на оплату:
карта сбербанка 4276 **** **** 9442 карта альфабанка 5486 **** **** 0685 владелец Андреевский Антон Олегович.
ДРУГИХ РЕКВИЗИТОВ И ВЛАДЕЛЬЦЕВ КАРТ У НАС НЕТ.
Eсли вы получили иные данные, то срочно сообщите нам об этом по телефону 8 914 704 24 54

Илон Маск рекомендует:  Что такое код lcg_value

Спецпредложения

Курсы валют на 14.11.2020

Вход через социальные сети

Поделиться ссылкой

Сейчас 15 гостей и ни одного зарегистрированного пользователя на сайте

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

Наличие и цену товаров уточняйте у нашего менеджера.

Created Vertyshev 2014. All rights reserved.

Все о SSD TRIM

В этой статье полное описание функционала TRIM SSD. Она дает ответы на вопросы — Как это работает. Как выполнить TRIM на разделе NTFS. Включение TRIM на Windows и Linux. TRIM на Windows XP и Vista.

Оглавление

Что такое TRIM

У электронных (SSD) дисков есть отличие от магнитно-механических (HDD) которое влияет на скорость записи. В HDD дисках запись выполняется «поверх» старых данных. Блоки диска, которые ранее содержали данные, а затем эти данные были удалены, просто помечаются как свободные. И когда нужно выполнять запись, контроллер HDD сразу записывает новые данные в эти свободные блоки.

Но при использовании флэш-памяти, блоки которые ранее содержали какую-то информацию, перед записью должны быть очищены. Это приводит к тому, что при записи в ранее использованные блоки скорость записи сильно падает, ведь контроллеру нужно их подготовить для записи (очистить).

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

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

Падение скорости записи в повторно используемые блоки флэш-памяти может быть очень высоким. До значений близких к скорости записи HDD дисков. При тестировании SSD дисков часто даже проводят отдельную проверку на снижение скорости записи в повторно используемые блоки.

Для борьбы с этим явлением, в новые ОС добавлена дисковая команда ATA TRIM. Драйвер файловой системы при удалении файла отправляет контроллеру SSD диска команду TRIM. По этой команде контроллер SSD диска очищает освобожденные блоки флэш-памяти, но делает это в фоновом режиме, в перерывах между операциями чтения и записи.


Использование этой команды позволяет вернуть полную скорость записи для повторно используемых блоков флэш-памяти. Однако не все ОС поддерживают эту команду. А только относительно свежие версии:

  • Ядро Linux начиная с версии 2.6.33.
  • Windows 7, 8 и 10
  • Mac OS X начиная с версии с 10.6.6 (но для этой версии нужно устанавливать обновление).

До сих пор популярная WIndows XP (как и Vista) не поддерживают эту команду.

Обходной вариант для старых ОС, заключается в использовании, сторонних программ. Например это может быть программа hdparm (версии 9.17 и выше) или фирменные программы производителя SSD диска, например Intel SSD Toolbox.

Есть две модели SSD дисков у которых деградация скорости повторно используемых блоков выражена слабее чем у других:

Прошивки этих дисков умеют частично очищать неиспользуемые блоки без команды TRIM. Восстанавливая скорость записи до более высоких значений, но не до полной паспортной скорости записи.

Есть модели дисков, которые даже после выполнения команды TRIM не возвращаются к полной паспортной скорости записи.

Команда TRIM может не работать если SATA контроллер материнской платы был установлен в режим IDE (для совместимости со старой ОС или программой).

Команда TRIM чаще всего отключается при использовании RAID массива.

Как работает TRIM

Одна из основных функций любой файловой системы это хранение списка секторов диска, в которых записан тот или иной файл. То есть, с каждым файлом связан список дисковых секторов.

Когда вы удаляете файл на SSD диске, операционная система отправляет контроллеру SSD диска команду TRIM и вместе с ней список секторов которые можно очистить. Контроллер записывает эти сектора в очередь своей подпрограммы, «сборщика мусора». А эта подпрограмма обрабатывает все сектора из списка.

Сборщик мусора работает в те моменты, когда диск простаивает. То есть, когда операционная система не присылает запросы на чтение или запись данных. Поэтому с момента получения команды TRIM, до фактического удаления этих секторов проходит некоторое время.

Если в очереди на тримеризацию много секторов, их очистка может занять продолжительное время. Например, если выполнить быстрое форматирование целого раздела, то TRIM такого объема может быть длительным.

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

Как проверить ваш SSD диск на поддержку команды TRIM

Использование ATA команды TRIM, не во всех случаях происходит автоматически, в некоторых ситуациях выполнение этой команды со стороны ОС необходимо включать явным образом.

Для начала нужно убедиться в том, что ваш SSD диск поддерживает эту команду. Впрочем, все новые диски ее поддерживают. Сделать такую проверку можно любой современной программой по работе с дисками. Например в Linux это можно сделать при помощи консольной команды:

hdparm -I /dev/sda | grep -i trim

Где sda ваш SSD диск. Вывод команды должен содержать строку «TRIM supported».

В Windows это можно сделать при помощи программы производителя вашего SSD диска, обычно такие служебные программы есть у всех производителей. Или через тестовую программу для дисков, например HD Tune или SSD Life.

Когда TRIM не работает!

  • Функция TRIM не работает если SSD диск подключен через USB.
  • Функция TRIM не работает для разделов c файловой системой FAT32.
  • Функция TRIM не работает еще для большого количества файловых систем (например Ext2).

Когда TRIM должен работать

  • Linux с ядром начиная от 2.6.33 и файловая система Ext4.
  • Windows 7, 8 и 10 и файловая система NTFS.
  • Mac OS X начиная с версии с 10.6.6 (но для этой версии нужно устанавливать обновление).
  • FreeBSD начиная с версии 8.3 — для файловых систем UFS и ZFS.

Важно понимать, что функционал TRIM связан не только с версией ОС, но и с файловой системой. Например Windows 7, 8 и 10 поддерживают TRIM, но только для файловой системы NTFS, а на разделах FAT32 эта функция недоступна.

Включение TRIM в Linux


Примечание. В Ubuntu, начиная с версии 14.04, TRIM включать вручную уже не нужно!

Во-первых для использования TRIM, необходимо, чтобы файловая система была ext4.

Во-вторых включение команды TRIM указывается в опции монтирования для раздела ext4 в файле fstab. Конкретно это опция discard.

Кроме этого, для раздела на SSD диске можно добавить опции noatime (или realtime) и nodiratime — это снижение нагрузки по записи, не будут обновляться даты доступа к файлам и папкам.

Также можно добавить опцию commit и указать значение допустим 60 секунд — отложенные операции записи будут выполняться на раздел раз в 60 секунд. Но эту опцию можно добавлять только в том случае если у вас есть UPS (ИБП), или на ноутбуке!

Таким образом примерная строка fstab может выглядеть таким образом:

В Linux можно выполнить команду TRIM и вручную:

В этом примере команда применяется к корневой файловой системе.

Проверка и включение TRIM на Windows 7, 8 или 10

Сначала нужно открыть консоль («Командная строка») с правами администратора. Меню Пуск — Программы — Стандартные — Командная строка. Правая кнопка мыши — Запустить от имени Администратора.

Далее в консоли выполнить команду:

fsutil behavior query disabledeletenotify

Если вывод команды будет — disabledeletenotify=1, значит команда TRIM отключена. Включить ее можно командой:

fsutil behavior set disabledeletenotify 0

Не перепутайте! Ноль — команда включена, единица — команда выключена.

Как выполнить TRIM на разделе NTFS

Если у вас операционная система Windows 7, 8 или 10, тогда можно ничего не делать. Достаточно проверить включена для функция TRIM. Далее Windows будет автоматически отправлять команду TRIM при следующих операциях с диском:

  • Удаление файла(ов).
  • Быстрое форматирование раздела (диска) NTFS.
  • Удаление раздела NTFS.

В Windows 8 и 10 можно вручную дать команду TRIM для целого раздела (диска) NTFS. В свойствах диска, на вкладке «Сервис» нужно открыть Оптимизатор дисков. Это новое название дефрагментатора Windows.

В Оптимизаторе дисков для разделов NTFS на SSD диске будет доступна команда «Оптимизировать диск». Выполнение этой команды приводит к тому, что Windows отправляет SSD диску команду TRIM для всех свободных блоков на этом диске. То есть выполняется «тримизация» всего свободного пространства на разделе (диске) NTFS.

В Windows 7, 8 и 10 можно сделать «тримизацию» всего раздела (диска) NTFS. Для этого нужно выполнить быстрое форматирование этого раздела (диска). Однако важно понимать, что это уничтожит все данные на разделе.

В последних (2015, 2020 годы) версиях драйвера ntfs-3g (драйвер ntfs для линукс) добавлена функция TRIM. Теперь можно «тримизировать» раздел NTFS из Linux. Команда в терминале:

fstrim -v /media/ntfs/

где /media/ntfs/ примонтированный раздел NTFS.

Как выполнить TRIM на Windows XP и Vista

Ни Windows XP, ни Vista не поддерживают функцию TRIM. Если нужно «тримизировать» SSD диск, который используется в этих ОС, тогда есть следующие варианты:

  • Программа производителя SSD диска. Если такая есть.
  • Подключить этот диск на другой компьютер, где установлена Windows 8 или 10. И через Оптимизатор дисков выполнить оптимизацию NTFS разделов на этом диске. Важно! Диск нужно подключать через SATA, а не через USB. Подробно об этом в разделе «TRIM на NTFS».
  • Загрузить компьютер с флешки со свежим дистрибутивом Linux (2015 или 2020 года). Примонтировать разделы NTFS и выполнить команду fstrim. Подробно об этом в разделе «TRIM на NTFS».

Но можно и вообще не «заморачиваться» по поводу TRIM на этих ОС. Можно оставить неразмеченой 20-30% от емкости диска и этого будет достаточно для поддержания нормальной скорости записи. Неразмеченой это значит не присвоенной ни одному разделу.

Восстановление удаленных данных

Если вы используете TRIM, о восстановлении удаленных файлов можно забыть. Если вы удалите файл, то его данные на SSD диске будут уничтожены.

Влияние TRIM на скорость записи

Важно понимать, что использование или не использование функции TRIM прямо не влияет на скорость записи SSD диска. Влияет на эту скорость только один фактор — наличие достаточного количества свободных блоков флеш-памяти. То есть таких блоков, которые очищены контроллером диска и готовы к записи в них новых данных.

Иначе говоря, скорость записи зависит от количества свободного места на диске. Если у вас диск почти полностью заполнен, то скорость записи упадет даже если вы используете TRIM. И наоборот, если у вас 20-30% емкости диска оставлены без разметки (unallocated disk space), тогда можно обойтись и без использования TRIM. Контроллер диска будет использовать неиспользуемую под разделы емкость для выравнивания скорости записи.

Функция TRIM действительно даст возможность поддерживать высокую скорость записи только при двух условиях:

  1. Под разделы выделена вся емкость SSD диска.
  2. Радел(ы) с файловой системой не заполнены более чем на 70-80% от своего размера.


Федеральная сеть магазинов Юлмарт это хорошее место для покупки компьютерной и бытовой техники. Невысокие цены, удобный процесс покупки.
Регистрация в Юлмарт
Если вы, при регистрации, укажете промо-код 6023036, тогда за покупки можно будет получать бонусные баллы, которые вы сможете потратить в Юлмарт.

Помощник.ru, 2020

Как проверить или включить SSD TRIM

Если вам оказалась полезна или просто понравилась эта статья, тогда не стесняйтесь — поддержите материально автора. Это легко сделать закинув денежек на Яндекс Кошелек № 410011416229354. Или на телефон +7 918-16-26-331.

Даже небольшая сумма может помочь написанию новых статей :)

Или поделитесь ссылкой на эту статью со своими друзьями.

Опубликовано: 01.03.2014 Последнее обновление этой статьи: 13.03.2020

В этой статье описание ATA команды TRIM, которая используется для повышения скорости записи на SSD диски.

Использование ATA команды TRIM, не во всех случаях происходит автоматически, в некоторых ситуациях выполнение этой команды со стороны ОС необходимо включать явным образом.

Для начала нужно убедиться в том, что ваш SSD диск поддерживает эту команду. Впрочем, все новые диски ее поддерживают. Сделать такую проверку можно любой современной программой по работе с дисками. Например в Linux это можно сделать при помощи консольной команды:

hdparm -I /dev/sda | grep -i trim

Где sda ваш SSD диск. Вывод команды должен содержать строку «TRIM supported».

Оглавление

Как работает TRIM

Одна из основных функций любой файловой системы это хранение списка секторов диска, в которых записан тот или иной файл. То есть, с каждым файлом связан список дисковых секторов.

Когда вы удаляете файл на SSD диске, операционная система отправляет контроллеру SSD диска команду TRIM и вместе с ней список секторов которые можно очистить. Контроллер записывает эти сектора в очередь своей подпрограммы, «сборщика мусора». А эта подпрограмма обрабатывает все сектора из списка.

Сборщик мусора работает в те моменты, когда диск простаивает. То есть, когда операционная система не присылает запросы на чтение или запись данных. Поэтому с момента получения команды TRIM, до фактического удаления этих секторов проходит некоторое время.

Илон Маск рекомендует:  applet в HTML

Если в очереди на тримеризацию много секторов, их очистка может занять продолжительное время. Например, если выполнить быстрое форматирование целого раздела, то TRIM такого объема может быть длительным.

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

Когда TRIM не работает!

  • Функция TRIM не работает если SSD диск подключен через USB.
  • Функция TRIM не работает для разделов c файловой системой FAT32.
  • Функция TRIM не работает еще для большого количества файловых систем (например Ext2).
  • Функция TRIM не работает, когда вы удаляете раздел целиком, даже если файловая система поддерживает TRIM, и эта опция включена.

Когда TRIM должен работать

  • Linux с ядром начиная от 2.6.33 и файловая система Ext4.
  • Windows 7, 8 и 10 и файловая система NTFS.
  • Mac OS X начиная с версии с 10.6.6 (но для этой версии нужно устанавливать обновление).

В любом из этих вариантов команда TRIM отправляется только после удаления файлов. Или отдельно, принудительно для всего свободного места, если ОС поддерживает такой вариант.

Включение TRIM в Linux

Примечание. В Ubuntu, начиная с версии 14.04, ничего дополнительно делать не нужно. Все работает из коробки.

Во-первых для использования TRIM, необходимо, чтобы файловая система была ext4.


Во-вторых включение команды TRIM указывается в опции монтирования для раздела ext4 в файле fstab. Конкретно это опция discard.

Кроме этого, для раздела на SSD диске можно добавить опции noatime (или realtime) и nodiratime — это снижение нагрузки по записи, не будут обновляться даты доступа к файлам и папкам.

Также можно добавить опцию commit и указать значение допустим 60 секунд — отложенные операции записи будут выполняться на раздел раз в 60 секунд. Но эту опцию можно добавлять только в том случае если у вас есть UPS (ИБП), или на ноутбуке!

Таким образом примерная строка fstab может выглядеть таким образом:

В Linux можно выполнить команду TRIM и вручную:

В этом примере команда применяется к корневой файловой системе. Если есть несколько разделов ext4, тогда такую команду нужно выполнить для каждого такого раздела.

Проверка и включение TRIM на Windows 7, 8 или 10

Сначала нужно открыть консоль («Командная строка») с правами администратора. Меню Пуск — Программы — Стандартные — Командная строка. Правая кнопка мыши — Запустить от имени Администратора.

Далее в консоли выполнить команду:

fsutil behavior query disabledeletenotify

Если вывод команды будет — disabledeletenotify=1, значит команда TRIM отключена. Включить ее можно командой:

fsutil behavior set disabledeletenotify 0

Не перепутайте! Ноль — TRIM включен, единица — TRIM выключен.

Как выполнить TRIM на разделе NTFS

Если у вас операционная система Windows 7, 8 или 10, тогда можно ничего не делать. Достаточно проверить включена для функция TRIM. Далее Windows будет автоматически отправлять команду TRIM при следующих операциях с диском:

  • Удаление файла(ов).
  • Быстрое форматирование раздела (диска) NTFS.

В Windows 8 и 10 можно вручную дать команду TRIM для целого раздела (диска) NTFS. В свойствах диска, на вкладке «Сервис» нужно открыть Оптимизатор дисков. Это новое название дефрагментатора Windows.

В Оптимизаторе дисков для разделов NTFS на SSD диске будет доступна команда «Оптимизировать диск». Выполнение этой команды приводит к тому, что Windows отправляет SSD диску команду TRIM для всех свободных блоков на этом диске. То есть выполняется «тримизация» всего свободного пространства на разделе (диске) NTFS.

В Windows 7, 8 и 10 можно сделать «тримизацию» всего раздела (диска) NTFS. Для этого нужно выполнить быстрое форматирование этого раздела (диска). Однако важно понимать, что это уничтожит все данные на разделе.

В последних (2015, 2020 годы) версиях драйвера ntfs-3g (драйвер ntfs для линукс) добавлена функция TRIM. Теперь можно «тримизировать» раздел NTFS из Linux. Команда в терминале:

fstrim -v /media/ntfs/

где /media/ntfs/ примонтированный раздел NTFS.

Как выполнить TRIM на Windows XP и Vista

Ни Windows XP, ни Vista не поддерживают функцию TRIM. Если нужно «тримизировать» SSD диск, который используется в этих ОС, тогда есть следующие варианты:

  • Программа производителя SSD диска. Если такая есть.
  • Подключить этот диск на другой компьютер, где установлена Windows 8 или 10. И через Оптимизатор дисков выполнить оптимизацию NTFS разделов на этом диске. Важно! Диск нужно подключать через SATA, а не через USB. Подробно об этом в разделе «TRIM на NTFS».
  • Загрузить компьютер с флешки со свежим дистрибутивом Linux (2020 года или позднее). Примонтировать разделы NTFS и выполнить команду fstrim. Подробно об этом в разделе «TRIM на NTFS».

Что такое TRIM (сбор мусора)

У SSD дисков есть важное отличие от HDD которое влияет на скорость записи. В HDD запись выполняется «поверх» старых данных. Блоки диска, которые ранее содержали данные, а затем эти данные были удалены, просто помечаются как свободные. И когда нужно выполнять запись, контроллер HDD сразу пишет в эти свободные блоки.

При использовании флэш-памяти, блоки которые ранее содержали какую-то информацию перед записью должны быть очищены. Это приводит к тому, что при записи в ранее использованные блоки скорость записи сильно падает, ведь контроллеру нужно их подготовить для записи (очистить).

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

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

Падение скорости записи в повторно используемые блоки флэш-памяти может быть очень высоким. До значений близких к скорости записи HDD дисков. При тестировании SSD дисков часто даже проводят специальный тест на снижение скорости записи в повторно используемые блоки.

Для борьбы с этим явлением в новые ОС добавлена дисковая ATA команда TRIM. Драйвер файловой системы, при удалении файла, отправляет контроллеру SSD диска команду TRIM. По этой команде контроллер SSD диска очищает освобожденные блоки флэш-памяти, но делает это в фоновом режиме, в перерывах между операциями чтения и записи.

Использование этой команды позволяет вернуть полную скорость записи для повторно используемых блоков флэш-памяти. Однако не все ОС поддерживают эту команду. А только относительно свежие версии:

  • Ядро Linux начиная с версии 2.6.33.
  • Windows 7, 8 и 10
  • Mac OS X начиная с версии с 10.6.6 (но для этой версии нужно устанавливать обновление).

До сих пор популярная WIndows XP (как и Vista) не поддерживают эту команду.

Обходной вариант для старых ОС, заключается в использовании, сторонних программ. Например это может быть программа hdparm (версии 9.17 и выше) или фирменные программы производителя SSD диска, например Intel SSD Toolbox.

Есть две модели SSD дисков у которых деградация скорости повторно используемых блоков выражена слабее чем у других:

  • Plextor M5 pro (снята с производства).
  • Plextor M5S (снята с производства).
  • Intel 545s
  • Samsung 860 EVO

Прошивки (микропрограмма, firmware) таких дисков умеют частично очищать неиспользуемые блоки без команды TRIM. Восстанавливая скорость записи до полной паспортной скорости записи.

В 2020 многие модели SSD дисков умеют самостоятельно «собирать мусор». Точнее по конкретной модели можно узнать почитав обзоры тестов. В серьезных Интернет-изданиях, среди прочих тестов, делают и тест на способность диска самостоятельно выполнять очистку блоков.

Команда TRIM может не работать если SATA контроллер материнской платы был установлен в режим IDE (для совместимости со старой ОС или программой).

Команда TRIM чаще всего отключается при использовании RAID массива.

Восстановление удаленных данных

Если вы используете TRIM, о восстановлении удаленных файлов можно забыть. Если вы удалите файл, то его данные на SSD диске будут уничтожены.

Влияние TRIM на скорость записи

Важно понимать, что использование или не использование функции TRIM прямо не влияет на скорость записи SSD диска. Влияет на эту скорость только один фактор — наличие достаточного количества свободных блоков флеш-памяти. То есть таких блоков, которые очищены контроллером диска и готовы к записи в них новых данных.

Иначе говоря, скорость записи зависит от количества свободного места на диске. Если у вас диск почти полностью заполнен, то скорость записи упадет даже если вы используете TRIM. И наоборот, если у вас 20-30% емкости диска оставлены без разметки (unallocated disk space), тогда можно обойтись и без использования TRIM. Контроллер диска будет использовать неиспользуемую под разделы емкость для выравнивания скорости записи.

Но резервируя свободное место важно понимать, что это нужно делать на новом SSD диске, до начала его использования. Если вы удалите уже существующий раздел. Или уменьшите размер существующего размера, блоки флеш-памяти, занятые этим разделом не будут очищены. Они останутся занятыми до тех пор, пока вы снова не используете это свободное место.

Если вы хотите зарезервировать свободное место на полностью размеченном SSD диске, тогда нужно выполнить принудительную команду ТРИМ для всего раздела и только после этого удалять раздел (или уменьшать его размер).

Служебные программы некоторых производителей, например программа Samsung Magician, позволяют выделить часть емкости SSD диска, для ее использования контроллером диска (кеш записи и выравнивание износа). В этом случае такое выделенное место будет недоступно для операционных систем — они будут «видеть» меньшую емкость диска.

Функция TRIM действительно даст возможность поддерживать высокую скорость записи только при двух условиях:

  1. Под разделы выделена вся емкость SSD диска.
  2. Радел(ы) с файловой системой не заполнены более чем на 70-80% от своего размера.

Иван Сухов, 2014, 2020, 2020 гг.

Если вам оказалась полезна или просто понравилась эта статья, тогда не стесняйтесь — поддержите материально автора. Это легко сделать закинув денежек на Яндекс Кошелек № 410011416229354. Или на телефон +7 918-16-26-331.

Даже небольшая сумма может помочь написанию новых статей :)

Или поделитесь ссылкой на эту статью со своими друзьями.

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

  • Что такое TRIM
  • Зачем нужна команда TRIM
  • Сборка мусора (Garbage Collection) по сравнению с 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® » .

Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL