- Trim SSD – что за функция и как это работает
- Ликбез по функции
- Как проверить включение Trim на операционных системах Windows 7, 8 и 10
- Включение TRIM в Linux
- Как выполнять TRIM на разделах NTFS
- Как выполнять Trim на Windows XP и Windows Vista
- Удаленные данные и их восстановление
- Видео по включению трим в Mac OS
- Как включить TRIM для SSD в Windows и проверить, включена ли поддержка TRIM
- Как проверить, включена ли команда TRIM
- Как включить TRIM в Windows 10, 8 и Windows 7
- Дополнительная информация
- Trim on windows 2012
- Вопрос
- Ответы
Trim SSD – что за функция и как это работает
Функция Trim SSD что это такое, для чего нужно, как включить. На все эти и многие другие вопросы, Вы найдете ответы в данной статье.
Современные операционные системы, как и файловые системы, пока еще рассчитаны в основном на работу с HDD (жесткий механический диск или винчестер) и при записи файла операционная система записывает их в специальную таблицу на жестком диске (MFT — Master File Table — Главная файловая таблица) — координату данного файла. Этим самым файловая таблица сообщает системе четкое и точное месторасположение кластеров с записанной информацией. Когда же файл удаляется с жесткого диска, система удаляет данные такого файла из этой таблицы MFT, сам файл не трогая. А при записи новых данных файлы просто пишутся поверх старых. Так работает перезапись на HDD. А вот для перезаписи данных на SSD требуется удаление не только координаты из MFT таблицы, но стирания самого ненужного более файла из ячеек flash-памяти. Здесь нам на помощь и придет Trim.
Ликбез по функции
При пользовании SSD дисками со временем возникает ситуация, когда производительность их значительно снижается. Когда вы только начали пользоваться диском и все блоки flash памяти новые и чистые, то и скорость записи на них довольно высокая, в соответствии с заявленной в документации. Когда же SSD диск будет полностью записан, а затем некоторые файлы будут удалены, перезапись станет происходить на них на гораздо более низких скоростях. Ведь контроллеру вашего диска придется перед записью очищать и ранее использованные блоки flash памяти перед тем, как записать туда новые данные.
Для того, чтобы скорости работы SSD не падали, в новые операционные системы добавляется команда ATA TRIM. Специальный драйвер файловой системы при стирании файла направляет команду Trim для контроллера SSD диска. Когда контроллер SSD диска воспринимает команду, он сразу же очищает более не используемые блоки flash памяти. Делается это в режиме фона, в перерывах между любыми операциями записи и чтения.
Использование команды Trim позволяет вернуть нам полную скорость записей для вторично используемых блоков flash памяти. К сожалению, далеко не все операционные системы работают с командой Trim. Поддерживают ее относительно новые версии систем:
Windows 7, 8, 10 и Server 2008 R2 с файловой системой NTFS.
Ядро Linux, с версии 2.6.33 и выше.
Mac OS X, с версии с 10.6.6 (и то, только после установки соответствующего обновления) и выше.
Так же функция Trim не будет работать если:
- Подключение SSD диска осуществляется через USB.
- Диск SSD размечен в файловой системе FAT32.
Как проверить включение Trim на операционных системах Windows 7, 8 и 10
Вначале откроем консоль Командной строки с правами администратора. Далее меню Пуск – Программы – Стандартные – Командная строка. Нажатие правой кнопки мышки — Запуск от имени Администратора.
Затем в командной строке вводится команда:
fsutil behavior query disabledeletenotify – Выполнить.
В том случае, если вывод команды покажет — disabledeletenotify=1, это значит, что команда TRIM выключена. Подключение делаем с помощью команды:
fsutil behavior set disabledeletenotify 0
Будьте внимательны: ноль – включенная команда, единица – выключенная команда.
Включение TRIM в Linux
Для того, чтобы использовать функцию 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 вручную:
В данном примере команда применяема к корневой файловой системе.
Как выполнять 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 года) версиях драйверов ntfs-3g (драйвера ntfs под Линукс) есть добавленная функция TRIM. Теперь мы можем «тримизировать» и раздел NTFS из Linux. Команда:
fstrim -v /media/ntfs/
где /media/ntfs/ — примонтированный раздел NTFS.
Как выполнять Trim на Windows XP и Windows Vista
Как уже говорилось выше, Windows XP и Windows Vista не поддерживают TRIM. Если необходимо «тримизировать» SSD диск, используемый в этих операционных системах, то есть такие варианты:
Программа от производителя SSD диска, при ее наличии.
Подключение этого диска на компьютер, с установленными Windows 8 или Windows 10. Через Оптимизатор дисков выполняется оптимизация NTFS разделов на нужном SSD диске. Помните, что SSD диск нужно подключать не через USB, а через SATA.
Загрузка компьютера с флешки с новым дистрибутивом Linux (начиная с 2015 года). Примонтируются разделы NTFS и выполняется команда fstrim.
Хотя можно и вообще не делать TRIM на этих операционных системах. Мы можем оставить неразмеченной 20-30% от дисковой емкости и этого будет хватать для поддержки нормальной скорости записи. Неразмеченной, то есть ни одному разделу не присвоенной.
Удаленные данные и их восстановление
Если использовать Trim, то о восстановлении удаленных данных можете забыть. Если удалить файл, то все его данные на SSD дисках будут полностью уничтожены.
Так как же влияет Trim на скорость записи?
Нужно понимать, что применение или отсутствие функции Trim напрямую не повлияет на скорости записей на SSD диски. Повлияет на это единственный фактор — присутствие достаточного количества пустых блоков flash памяти. То есть тех блоков, которые полностью очищены контроллером диска и приготовлены для записи на них новых данных.
Проще говоря, скорости записи зависят от количества свободного места на SSD диске. Если же ваш диск практически полностью занят, то и скорости записи упадут даже в том случае, если вы пользуетесь Trim. А в том случае, если у вас не менее 20-30% емкости SSD диска остаются без разметки (unallocated disk space), то можете обходиться и без использования функции Trim. Контроллер SSD диска будет применять неиспользуемое место под разделы для того, чтобы выровнять скорость записи.
Функция Trim имеет те полезные свойства, что действительно дает возможность поддержать максимально высокую скорость записи, но только при двух условиях:
- Под разделы размечена полная емкость SSD диска.
- Разделы с файловой системой заполнены не более чем на 70-80% от своей емкости.
Видео по включению трим в Mac OS
Как включить TRIM для SSD в Windows и проверить, включена ли поддержка TRIM
Команда TRIM является важной для поддержания производительности SSD накопителей на протяжении времени их эксплуатации. Суть команды сводится к очистке данных с неиспользуемых ячеек памяти с тем, чтобы дальнейшие операции записи производились с прежней скоростью без предварительного удаления уже имеющихся данных (при простом удалении данных пользователем ячейки просто помечаются как неиспользуемые, но остаются заполненными данными).
Поддержка TRIM для SSD включена по умолчанию в Windows 10, 8 и Windows 7 (как и многие другие функции оптимизации работы твердотельных накопителей, см. Настройка SSD для Windows 10), однако, в некоторых случаях это может оказаться не так. В этой инструкции подробно о том, как проверить, включена ли функция, а также о том, как включить TRIM в Windows, если поддержка команды отключена и дополнительная, касающаяся старых ОС и внешних SSD.
Примечание: некоторые материалы сообщают о том, что для работы TRIM SSD обязательно должен работать в режиме AHCI, а не IDE. В действительности, режим эмуляции IDE, включенный в BIOS/UEFI (а именно эмуляция IDE используется на современных материнских платах) не является помехой для работы TRIM, однако в некоторых случаях возможны ограничения (может не работать на отдельных драйверах IDE-контроллера), более того, в режиме AHCI ваш диск будет работать быстрее, так что на всякий случай убедитесь, что диск работает в режиме AHCI и, желательно, переключите его в этот режим, если это не так, см. Как включить режим AHCI в Windows 10.
Как проверить, включена ли команда TRIM
Для проверки состояния TRIM для вашего SSD накопителя можно использовать командную строку, запущенную от имени администратора.
- Запустите командную строку от имени администратора (для этого в Windows 10 можно начать вводить «Командная строка» в поиске на панели задач, затем нажать правой кнопкой мыши по найденному результату и выбрать нужный пункт контекстного меню).
- Введите команду fsutil behavior query disabledeletenotify и нажмите Enter.
В результате вы увидите отчет о том включена ли поддержка TRIM для разных файловых систем (NTFS и ReFS). При этом значение 0 (ноль) говорит о том, что команда TRIM включена и используется, значение 1 — отключена.
Состояние «не установлен», сообщает, что на данный момент поддержка TRIM не установлена для SSD с указанной файловой системой, но после подключении такого твердотельного накопителя будет включена.
Как включить TRIM в Windows 10, 8 и Windows 7
Как было отмечено в начале инструкции, по умолчанию поддержка TRIM должна включаться для SSD автоматически в современных ОС. Если у вас она отключена, то прежде, чем включать TRIM вручную, рекомендую проделать следующие действия (возможно, ваша система «не знает», что подключен SSD):
- В проводнике откройте свойства твердотельного накопителя (правый клик — свойства), и на вкладке «Сервис» нажмите кнопку «Оптимизировать».
- В следующем окне обратите внимание на столбец «Тип носителя». Если там не указан «твердотельный накопитель» (вместо этого — «Жесткий диск»), видимо, Windows пока не знает о том, что у вас SSD и именно по этой причине отключена поддержка TRIM.
- Чтобы система правильно определила тип диска и включила соответствующие функции оптимизации, запустите командную строку от имени администратора и введите команду winsat diskformal
- По окончании выполнения проверки скорости накопителя, можно снова заглянуть в окно оптимизации дисков и проверить поддержку TRIM — с большой вероятность, она будет включена.
Если же тип диска определен правильно, то задать опции TRIM можно вручную, с помощью командной строки, запущенной от имени администратора следующими командами
- fsutil behavior set disabledeletenotify NTFS 0 — включить TRIM для SSD с файловой системой NTFS.
- fsutil behavior set disabledeletenotify ReFS 0 — включить TRIM для ReFS.
Аналогичной командой, установив значение 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 (поищите в Интернете именно в контексте вашей версии ОС).
Trim on windows 2012
Вопрос
Sounds like a simple question but I can’t find a confirmation on google. Does Hyper-V 2012 support TRIM commands for VHDX files?
If I create data in a VM, the physical .vhdx file will expand to its max capacity. And if I then delete this data, the .vhdx file size will not reduce unless I compact it from the host. Assuming I don’t compact it, my intuition is that the SSD cannot be aware that this large .vhdx file contains lots of empty blocks that the drive could use to level the cells wearing.
Unless Hyper-V does something smart and that the VM actually passes on the TRIM command to the SSD so that these blocks get recycled.
Would anyone be able to confirm what actually happens?
Ответы
Sounds like a simple question but I can’t find a confirmation on google. Does Hyper-V 2012 support TRIM commands for VHDX files?
If I create data in a VM, the physical .vhdx file will expand to its max capacity. And if I then delete this data, the .vhdx file size will not reduce unless I compact it from the host. Assuming I don’t compact it, my intuition is that the SSD cannot be aware that this large .vhdx file contains lots of empty blocks that the drive could use to level the cells wearing.
Unless Hyper-V does something smart and that the VM actually passes on the TRIM command to the SSD so that these blocks get recycled.
Would anyone be able to confirm what actually happens?
This is a good article on how UNMAP/TRIM commands are implemented within Windows Server 2012:
. and how this things are related to thin provisioning implementation.