Работает ли trim. Что такое функция TRIM и как ее включить? Что такое TRIM для SSD

Возможности 02.07.2020
Возможности

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

Семь бед – один Deallocate

Многие слышали про команду TRIM. Те самые заветные четыре буквы, которые вызывают множество вопросов у рядового пользователя. TRIM – одна из команд ATA, отправляемая операционной системой с целью уведомления твердотельного накопителя о том, что данные с диска были удалены пользователем и занятые физические ячейки можно освободить. Стоит отдельно сказать про SSD с интерфейсом NVMe - эти диски обладают другим набором команд для работы, но аналог ATA команды TRIM там тоже существует - называется она Deallocate и, соответственно, является идентичной. Поэтому, далее при упоминании TRIM мы будем подразумевать и Deallocate тоже. К чему речь обо всём этом? Как раз именно проблемы с выполнением данных команд в подавляющем большинстве случаев и являются причиной низкой производительности накопителей. Конечно, другие проблемы мы тоже не оставим в стороне, но всему своё время.

В тот момент, когда вы удаляете данные с вашего накопителя, по факту удаляется запись в главной таблице файловой системы. То есть, сами данные остаются на месте, но область помечена на удаление. Сама «зачистка ячеек» происходит в определенное время, например, в момент простоя накопителя, пока вы отошли за чаем. Таким образом производители добиваются снижения износа памяти и увеличивают производительность своих накопителей в определённых сценариях. Именно очисткой этих ячеек и занимается контроллер, выполняя команду TRIM. К слову, после её выполнения, восстановление данных практически невозможно.

Совсем недавно мы , которая схожа с TRIM, но затрагивает не только основные ячейки, но и служебные области, возвращая накопитель в полностью исходное состояние. Напомним, что Secure Erase можно выполнить на накопителе только без файловой системы и при определённых условиях. А технология TRIM как раз и требует наличие операционной системы со всеми вытекающими требованиями.

Объясним на пальцах, как раз их 20…

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

Перед нами часть памяти, в которой находятся файлы А и В разных размеров, занимающих, соответственно, разное количество блоков. Сначала мы удаляем файл В, а затем записываем файл С на наш диск. Для наглядного представления ситуации, когда TRIM не работает, добавим простую иллюстрацию, в которой обозначены следующие состояния:

  1. Наличие файлов А и В.
  2. Определённое время бездействия. Заметим, что помеченные на очистку блоки данных так и остались с данными в них.
  3. Запись файла С, но сначала – удаление файла В из ячеек.
К примеру, если представить (просто представить, да), что блок данных в виде квадратика составляет 1 МБ, то на этапе 4 контроллер сначала зачищает помеченные на удаление два блока данных с файлом В и только потом записывает файл С. Если пара мегабайт места – ещё мелочи, но при активной работе с накопителем таких блоков в сумме может быть гигабайты, что уже заметно повлияет на время выполнения операций записи.

А теперь что происходит, если TRIM работает. Снова по этапам:

  1. Наличие файлов А и В.
  2. Удаление нашими руками файла В.
  3. Определённое время бездействия, в которое помеченные на удаление блоки с файлом В очищаются.
  4. Запись файла С без каких-либо задержек в область, где был файл В.

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

TRIM, а есть ли ты вообще? И, если есть, то работаешь ли?

Узнать, поддерживает ли SSD команду TRIM можно при помощи достаточно большого количества свободно распространяемого программного обеспечения. Возьмём, к примеру, CrystalDiskInfo:

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

  1. Стандартные драйверы Windows не могут выполнять TRIM на RAID массивах. В зависимости от системы и типа RAID массива, проблему может решить драйвер от Intel под названием Rapid Storage. Поддерживаются массивы 0 и 1 с драйвером версии Enterprise.
  2. Поддержка TRIM в Windows начинается с версии операционной системы с цифрой 7. Vista и, тем более, XP не поддерживают TRIM на уровне ОС. Конечно, эта проблема решается сторонним программным обеспечением, но тут всё на ваш страх и риск – рекомендовать это мы не можем и не будем.
  3. Команда Deallocate (TRIM для NVMe SSD) поддерживается только с Windows 8 и новее.
  4. TRIM не работает на виртуальных дисках.
  5. TRIM работает только в режиме AHCI.
  6. TRIM не работает при подключении накопителя через USB переходники.
  7. TRIM не работает в с файловой системой FAT32 (и более «лохматых»).
Теперь проверим – а работает ли TRIM в системе?

Для начала – попробуем это узнать прямо у операционной системы. В запущенной от имени Администратора командной строке или PowerShell вводим команду «fsutil behavior query disabledeletenotify» без кавычек и смотрим на результат. Если в выводе значатся «0», то это хорошо – TRIM работает. Если «1», то функционал TRIM недоступен. Всё верно: ноль – включённая команда, 1 – выключенная команда.

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

В противном случае надпись будет гласить TRIM appears to be NOT WORKING . Собственно, если вы получили сообщение о неработоспособности, то выполните в запущенной от имени Администратора командной строке или PowerShell команду «fsutil behavior set disabledeletenotify 0» без кавычек. Функция TRIM, если соблюдены все условия (поддерживаемая ОС, реализация в SSD и т.д.), должна включиться и работать. Если этого не произошло, а все требования выполнены, то придётся подумать о замене накопителя.

Проблемы, проблемы вместо обеда

Самая распространённая проблема – наследование. Само собой, речь идёт про Windows до версии 8. Например, когда пользователь ставит в старые системы SSD или переходят с HDD на SSD без изменения настроек BIOS (если это необходимо) или вообще путём клонирования разделов или диска целиком. Напоминаем, что TRIM доступен только в режиме AHCI. К примеру, у многих материнские платы могут работать в двух режимах AHCI и IDE. Соответственно, если SSD подключён к такой плате именно в режиме IDE, то TRIM работать не будет. Просто наличие режима AHCI не решает проблему – Windows установит драйверы согласно выбранному IDE. Казалось бы, ситуация может встречаться редко, но на самом деле – нет. Если с настройками BIOS вы не дружите, то хотя бы проверить режим работы надо. Сделать это можно в диспетчере устройств в разделе «Контроллеры IDE ATA/ATAPI»:

Помните, что просто так после установки Windows переключить режим работы с IDE на AHCI (и обратно) без дополнительных манипуляций не выйдет – операционная система попросту не загрузится. Решения этой проблемы существуют (даже от самой Microsoft), но рекомендовать их не стоит. Требуется изменение параметров реестра, добавление нужного драйвера и готовность к переустановке ОС в случае неудачи.

Что касается Linux-систем, то обязательным условием, помимо аппаратной составляющей, является файловая система ext4. Включение TRIM указывается опцией discard в файле fstab. Дополнительными полезными опциями для раздела станут noatime (realtime или nodiratime), которые снизят запись путём отключения обновления времени последнего доступа к файлам и директориям. Сама же команда TRIM запускается при помощи программы fstrim – «fstrim / -v» без кавычек и с правами рута.

Вспомним ещё про Secure Erase. Восстановить производительность этой функцией можно. Только вот вряд ли надолго. Особенно, если вы быстро забиваете свой накопитель новыми данными. Так что как временное решение – пойдёт, но оно всегда будет оставаться временным.

Ещё добавим про SLC-кеширование, которое достаточно часто используется у многих SSD-накопителей без привязки к интерфейсу. Невысокая скорость записи большого количества файлов (или больших файлов) после определённого порога не проблема, а особенность работы. Суть кеширования состоит в том, что сначала записываемые данные попадают в специальную область памяти, а уже затем записываются в основную память в фоновом режиме. Когда выделенная высокоскоростная память заканчивается, то данные начинают записываться непосредственно в память на заметно сниженной скорости – от 50 до 150 МБ/с. Это совершенно нормальный режим работы накопителей с SLC-кешем, поэтому здесь ничего сделать невозможно от слова совсем.

Что хорошо, а что плохо?

Если функция TRIM работала с самого начала, то сама по себе никуда она деться не может. Но совсем другое дело, если вы увлекаетесь разного рода твикерами, сторонними драйверами или прошивками, а также сборками операционных систем, якобы улучшенных. Все эти программы и сборки могут только навредить, если речь идёт о Windows 8 и, тем более Windows 10 – в этих ОС всё продумано как надо. В «семёрке» они могут чем-то помочь, но это скорее исключение из множества проблем, которые они могут принести.

Отдельно надо сказать несколько слов про NVMe накопители и драйверы для них. Приобретая высокоскоростной SSD, в ваших глазах должны отражаться полученные в бенчмарках заявленные скоростные показатели. Часто это так и есть, например – с накопителями Kingston. Установил и забыл, как говорится, наслаждаясь его высокими скоростями. Но с SSD других производителей это может быть не всегда так, что, очевидно, расстроит любого. Тут уже не отсутствие Deallocate является причиной недостаточного быстродействия, а стандартный NVMe драйвер. Да-да, при покупке NVMe SSD некоторых производителей обязательно приходится отправляться на сайт его сайт и скачивать соответствующий драйвер – разница со стандартным может превышать двукратную!

Вот теперь, вроде, всё.

Как оказалось – не всё так страшно, как выглядело не первый взгляд. От пользователя требуется выполнение всего нескольких рекомендаций, чтобы система работала корректно и радовала производительностью твердотельного накопителя долгое время. Повторим их напоследок – чистый дистрибутив операционной системы, актуальные драйверы и прошивки от производителя, а также отсутствие сторонних «настройщиков» системы, которые, по заверению их разработчиков, увеличивают производительность на 146%. Если проблема не аппаратная, то никаких нареканий к диску у вас не будет в течение всего срока жизни вашей системы. Так что никакого длинного заключения-словоблудства не будет – всё, что надо было сказать, уже сказано. Ёмких вам SSD, их высоких скоростей и стабильной работы!

Для получения дополнительной информации о продуктах

В этой статье описание 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.

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

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

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

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

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

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

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

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

UUID=aeade6fd-2b24-4e59-bc8c / ext4 noatime,discard,errors=remount-ro,commit=60 0 1

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

sudo fstrim / -v

В этом примере команда применяется к корневой файловой системе. Если есть несколько разделов 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, 2016 годы) версиях драйвера ntfs-3g (драйвер ntfs для линукс) добавлена функция TRIM. Теперь можно "тримизировать" раздел NTFS из Linux. Команда в терминале:

fstrim -v /media/ntfs/

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

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

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

Что такое 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. Восстанавливая скорость записи до полной паспортной скорости записи.

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

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

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

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

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

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

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

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

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

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

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

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

Настройка функции 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 и модель диска – эта информация наверняка будет интересна и полезна многим читателям.

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

Что такое TRIM и зачем его включать?

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

Когда информация пишется на винчестер, операционка записывает его в размещенную на таблицу. Благодаря этому ОС знает, где находятся кластеры, в которых хранится информация.

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

Информация записывается в ячейки памяти, т.н. страницы. Каждая из них занимает 4 Кб. Но стираются данные целыми блоками по 512 Кб. Если пользователь вносит хоть какие-то изменения в файл, то контроллер считывает блок во внутренний буфер, модифицирует нужные байты, стирает блок в ячейке, находит место для новой страницы и записывает ее туда.

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

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

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

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

Совет : если накопитель нужен под ОС, то подойдет. Он довольно быстро пишет и читает данные, а еще обладает металлическим корпусом, так что не боится механических повреждений.

Как проверить, включена ли функция TRIM?

Проверить, задействована ли эта функция на ПК с установленным SSD, можно с помощью строки команд. Сделать это нужно от имени админа.

Примечание : проверка рассматривается на примере устройств с . Но и в Линуксе все выглядит похоже.

Как делать:

  1. Активировать строку через Пуск, войдя в стандартные программы. Кликнуть на вызов команды, задействовав правую клавишу компьютерной мышки или тачпада (ПКМ) и запустить командную строчку с правами админа, выбрав соответствующий пункт.
  2. Когда откроется нужное пользователю поле, понадобится ввести: fsutil behavior query disabledeletenotify и кликом подтвердить выполнение.

Если отобразится:

  • disabledeletenotify=1 - TRIM не активирована;
  • fsutil behavior set disabledeletenotify 0 - задействована.

Как включить функцию TRIM в Windows 7, 8, 10?

Чтобы активировать команду, нужно убедиться, что дисковый контроллер работает в режиме AHCI. Он позволяет использовать все достоинства SATA-подключения. Проверить, активен ли этот режим можно через БИОС и «Диспетчер устройств».

Обычно она уже активирована. Но если пользователь увидел, что нет, он может задействовать опцию вручную. Однако бывает так, что операционка просто не видит SSD. Чтобы узнать, в этом ли дело и, если нужно, «раскрыть ей глаза», понадобится совершить несколько несложных действий, описанных в таблице.

1. Зайти в свойства установленного твердотельного носителя через клик ПКМ по нему.
2. Войти в Сервис.
3. Включить оптимизацию.
4. Перейти в следующее окно и посмотреть, что показывает Тип носителя. Если там не твердотельный накопитель, а обычный винчестер, значит система не знает, что в компьютере стоит SSD. Поэтому и TRIM выключена.
Как помочь операционной системе правильно распознать тип диска 1. От имени администратора запустить командную строку.
2. Ввести: winsat diskformal.
Система запустит проверку скорости. После того как она закончит, можно снова проверить, видит ли она SSD. Если да - можно проверить, активирована ли поддержка TRIM, выполнив шаги, описанные в предыдущем разделе. Скорее всего, поддержка будет включена.
Если система правильно определяет диск как SSD, но TRIM не работает 1. Запустить от имени администратора строку команд.
2. Ввести: fsutil behavior set disabledeletenotify ReFS 0. Это активирует TRIM для ReFS.

Как включить функцию TRIM в Linux?

Чтобы функция работала в Линуксе, необходима такая система файлов, как ext4. Так, для активации ТРИМ для SSD на с Linux, необходимо:

  • Отметить в discard - опции, которая предназначена для монтирования разделов, - ext4 в fstab.
  • Также для раздела на твердотельнике необходимо включить еще и noatime или realtime и nodiratime: они нужны, чтобы снизить нагрузку на запись. Следует обратить внимание, что тогда не будут обновляться даты доступа ко всевозможным папкам и файлам.

  • Для владельцев ПК, которые подключаются через ИБП, или же хозяев пригодится функция commit с определенным временным значением, например, в 1 минуту: все процессы записи такая функция отложит. Операции будут осуществляться один раз в минуту на один раздел.

Получится, что строка fstab будет выглядеть таким образом: UUID=aeade6fd-2b24-4e59-bc8c / ext4 noatime,discard,errors=remount-ro,commit=60 0 1.

Также можно запускать TRIM вручную, применив ее к корневой системе файлов, введя sudo fstrim / -v.

Как включить TRIM на разделе NTFS?

Тем, кто работает с ПК и лэптопами на майкрософтовских ОС, ничего делать не нужно: максимум - узнать, активна ли TRIM. Если да, то команда будет автоматически отправляться при таких действиях с SSD, как:

  • файловая очистка;
  • удаление, а также полное форматирование разделов, которые относятся к NTFS - более современной, чем FAT32, файловой системе.

Важно! Команда работает только с системой файлов NTFS.

TRIM на Windows XP и Vista

Жаль, но отнюдь не все ОС совместимы с этой опцией: ХР и Виста в этот список не входят. Тогда, когда эти операционки были более распространены, SSD практически не использовались. Однако решить задачу можно.

Самый легкий способ - переустановить систему, приобретя более новый вариант. Если же хочется чуть заморочиться, можно поставить специальную программу-активатор. Это может быть SSD Toolbox от Intel, Magician, выпущенная Samsung, или аналоги. Главное - установить ПО под конкретную версию системы.

Интересно : - очень долгоиграющий носитель, который к тому же способен работать в экстремальных условиях.

Также стоит отметить, что команда, независимо от операционки, не функционирует, если диск:

  • подсоединен по USB;
  • размечен в FAT32.

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

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

Как было отмечено в начале инструкции, по умолчанию поддержка TRIM должна включаться для SSD автоматически в современных ОС. Если у вас она отключена, то прежде, чем включать TRIM вручную, рекомендую проделать следующие действия (возможно, ваша система «не знает», что подключен SSD):

Если же тип диска определен правильно, то задать опции TRIM можно вручную, с помощью командной строки, запущенной от имени администратора следующими командами


Аналогичной командой, установив значение 1 вместо 0 можно отключить поддержку TRIM.

Дополнительная информация

В завершение, некоторые дополнительные сведения, которые могут оказаться полезными.

  • На сегодняшний день появились внешние твердотельные накопители и вопрос о включении TRIM, бывает, касается и их. В большинстве случаев для внешних SSD подключаемых по USB включить TRIM нельзя, т.к. это команда SATA, которая не передаётся по USB (но в сети есть информация об отдельных контроллерах USB для внешних накопителей с поддержкой TRIM). Для SSD, подключаемых по Thunderbolt поддержка TRIM возможна (зависит от конкретного накопителя).
  • В Windows XP и Windows Vista нет встроенной поддержки TRIM, но её можно включить с помощью Intel SSD Toolbox (старых версий, специально для указанных ОС), старых версий Samsung Magician (нужно вручную включить оптимизацию производительности в программе) с поддержкой XP/Vista, также существует способ включения TRIM с помощью программы 0&0 Defrag (поищите в Интернете именно в контексте вашей версии ОС).


Рекомендуем почитать

Наверх