Поднимаем производительность SSD c колен, куда нажимать и зачем. Работает ли TRIM или Deallocate в вашем SSD? Файловая система refs для windows 10

Сегодня пойдет разговор о так называемой функции TRIM и ее связи с твердотельными накопителями SSD.

Функция TRIM нужна во избежание падения производительности в , и появилась, начиная с версии ОС Windows 7. Сейчас я объясню более подробно о принципе работы TRIM и как проверить, включен ли он на компьютере.

Что такое TRIM?

Для начала разберемся с HDD (обычный жесткий диск с движущимися частями). Большинство файловых систем сейчас разработаны конкретно под HDD и есть следующий вид обработки данных: у нас есть файл, который мы решили записать на жесткий диск, система записывает данные о файле в кластер, хранящемся на диске, а координаты этого файла записываются таблицу адресов под названием MFT (Master File Table). Чтобы получить доступ к этим данным система берет координаты из MFT. Когда мы удаляем файл, то данные из MFT удаляются, но не стираются из ячейки (кластера). После того, как мы решили записать на диск другие файлы, может быть новые, то данные записываются в ячейки поверх удаленных.

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

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

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

Для работы TRIM нужны следующие условия:

  • Наличие накопителя, которые поддерживают TRIM;
  • ОС, которая поддерживает TRIM. Это есть в Windows 7;

А еще нужно, чтобы был установлен драйвер Microsoft Storage, но обычно он устанавливается автоматически, если, конечно, контроллер SATA поддерживает режим AHCI. Еще TRIM не будет работать, если активна функция и, если вы используете .

TRIM работает не только на Windows, но и на Linux. Необходимо наличие ядра версии 2.6.33 и выше.

Чтобы проверить активность режима AHCI для контролера SATA, нужно зайти в диспетчер устройств и раскрыть вкладку «Контроллеры IDE ATA/ATAPI» , либо что-то похожее.

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

Для начала мы проверим активность этой функции. Открываем командную строку от имени администратора и вводим туда команду:

fsutil behavior query DisableDeleteNotify


Если значение равняется 0, то функция TRIM включена, а если 1, то выключена.

Включаем функцию TRIM?

Да тут все очень просто, мы снова открываем командную строку от имени администратора и вводим вот такую команду:

fsutil behavior query|set DisableDeleteNotify = 0

Теперь можете заново проверить активность функции.

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

Команда 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 (поищите в Интернете именно в контексте вашей версии ОС).

В этой статье описание 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 диска, для ее использования контроллером диска (кеш записи и выравнивание износа). В этом случае такое выделенное место будет недоступно для операционных систем - они будут "видеть" меньшую емкость диска.

Сначала в Windows Server, а теперь и в Windows 10 появилась современная файловая система REFS (Resilient File System), в которой вы можете отформатировать жесткие диски компьютера или созданные системными средствами дисковые пространства.

В этой статье - о том, что представляет собой файловая система REFS, о её отличиях от NTFS и возможных применениях для обычного домашнего пользователя.

Помимо функций, связанных с поддержкой целостности данных на дисках, REFS имеет следующие основные отличия от файловой системы NTFS:

  • Обычно более высокая производительность, особенно в случае использования дисковых пространств.
  • Теоретический размер тома 262144 экзабайта (против 16 у NTFS).
  • Отсутствие ограничения пути к файлу в 255 символов (в REFS - 32768 символов).
  • В REFS не поддерживаются имена файлов DOS (т.е. получить доступ к папке C:\Program Files\ по пути C:\progra~1\ в ней не получится). В NTFS эта возможность сохранялась в целях совместимости со старым ПО.
  • В REFS не поддерживается сжатие, дополнительные атрибуты, шифрование средствами файловой системы (в NTFS такое есть, для REFS работает ).

В настоящий момент времени нельзя отформатировать системный диск в REFS, функция доступна только для не системных дисков (для съемных дисков не поддерживается), а также для дисковых пространств, и, пожалуй, только последний вариант может быть действительно полезным для обычного пользователя, которого беспокоит сохранность данных.

Обратите внимание, что после форматирования диска в файловой системе REFS, часть места на нем сразу будет занято контрольными данными: например, для пустого диска 10 Гб это около 700 Мб.

Возможно, в будущем REFS может стать основной файловой системой в Windows, однако на данный момент этого не произошло. Официальная информация по файловой системе на сайте Майкрософт:

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

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

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

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


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

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

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

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

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


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

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


Как отключить 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 и др.