Приветствую вас, дорогие читатели моего блога. Выбирая темы для очередной статьи, я перебирал часто задаваемые вопросы. Среди которых отдельно выделяется тема оптимизации работы дисков основной памяти.
По этой причине я решил рассказать о такой опции как Trim SSD, позволяющей оптимизировать работу твердотельного накопителя.
Слабое место SSD дисков
О преимуществах ССД дисков перед HDD наслышаны многие. И я уверен, что каждый из владельцев ПК был бы не прочь поменять в своей машине медленные жужжащие винчестеры на тихую и быструю память. Однако не все знают о таком малоприятном свойстве твердотельных дисков, как ощутимое подтормаживание, обнаруживаемое после многочисленных циклов стирания-записи очередной информации.
Дело в том, что в HDD этот процесс происходит «безболезненно». Получив уведомление о удалении файла, система отмечает адреса кластеров, которые он занимает. И новые данные при сохранении просто записываются поверх старых в это зарезервированное место.
К сожалению, в твердотельных накопителях все происходит совершенно по-другому. Для хранения информации в них используются MLC и TLC флеш-память (в недорогих), разбитая на «страницы» размером в 4 Кбайта. Группа из 128 страниц образует блок, объемом 512 Кбайт. При этом система управления информацией на MLC SSD имеет такие особенности:
- Запись производится только в предварительно очищенные ячейки;
- Данные могут сохраняться в отдельные «страницы»;
- Удаление информации выполняется только для всего блока;
Абсурд!
Логически мыслящие читатели сразу увидят в этом абсурдность ситуации. И спросят: «Как быть, если часть «страниц» в блоке занято нужными файлами, а в остальные нужно произвести запись?». Технологический секрет состоит в использовании кэш-памяти твердотельного диска, где вышеперечисленные ограничения не действуют. Система в этом случае работает по такому алгоритму:
- Имеется информация о блоке, в котором часть страниц не используется (там физически хранятся данные с логически удаленного файла);
- Для записи в это место новой информации данный блок полностью копируется в кэш, после чего удаляется с флеш памяти диска;
- В кэше ненужные страницы стираются (здесь это уже можно осуществлять);
- Подчищенный блок записывается назад, на свое место;
- Теперь в свободные страницы блока можно сохранить новую информацию.
Как вы понимаете, такой процесс занимает определенное время. Это выражается в заметном торможении при сохранении объемных файлов на SSD. На который уже многократно что-то записывалось и стиралось.
С целью сохранения высокой скорости записи твердотельных накопителей, разработчики предусмотрели в системе функцию Trim SSD. Что с английского означает «подрезать». Суть ее заключается в том, чтобы заранее постирать ненужную информацию с предназначенных для записи страниц флеш-памяти.
Способ очистки, такой же как и описанный выше. Но происходит он в фоновом, режиме, не создавая дополнительной нагрузи на работу процессора, диска, ОС и не влияя на запущенные приложения.
Такая возможность предусмотрена во многих современных операционных системах, работающих на ПК, серверах, смартфонах и других устройствах.
Трим не работает с виртуальными дисками, образами и с большинством RAID-массивов. Поскольку Trim является частью интерфейса ATA, то внешние накопители, подключаемые через USB, так же не поддерживают данную опцию. Исключение составляют некоторые «эсэсдэшники» работающие через Thunderbolt.
Проверяем и подключаем Трим
Я уверен, что обладатели компьютеров и ноутбуков с SSD, наверняка задумались над тем, а поддерживает ли их устройство Trim? В Windows 7, 8, 10 это можно легко проверить. Как? Отправив от имени администратора запрос в командной строке (быстро найти ее можно в «Поиске»). Итак, запустили нужный режим и вводим следующий текст:
fsutil behavior query disabledeletenotify
Поскольку скопировать и вставить команду у вас не получиться. Рекомендую заранее внимательно записать ее на бумагу или открыть данную инструкцию в расположенном рядом окне.
Вводим, проверяем, смотрим на экран. В зависимости от типа форматирования диска вы получите сообщение типа:
NTFS DisableDeleteNotify = 0
Цифра после знака равно как раз и показывает состояние Trim SSD: «ноль» — включено; «единица» — не работает.
В большинстве случаев вы получите положительный ответ на подобный запрос. Поскольку данная функция активирована в системе по умолчанию. Но может быть, что этого по определенным причинам не произошло. Включить «Трим» вручную одной командой можно также быстро, как и проверить его:
fsutil behavior set disabledeletenotify NTFS 0 — для файловой системой NTFS;
или
fsutil behavior set disabledeletenotify ReFS 0 —для ReFS.
Но я все-таки рекомендую выполнить ряд действий, позволяющих выявить причину, по которой функция Trim не сработала. Для начала выясним, распознала ли система ваш ССД должным образом. Находим его в проводнике, жмем правой кнопочкой мышки, выбираем «Свойства» и вкладку «Сервис». Здесь нас интересует кнопка «Оптимизировать» (сопровождаемая привычным значком, обозначающим «дефрагментацию»). Она открывает таблицу с томами диска. Изучаем ее на предмет соответствия информации.
Если вместо «твердотельный накопитель» будет указан «жесткий диск», то нам придется указать системе истинный тип диска. Уже привычным действием открываем командную строку и от имени администратора запускаем «анализ производительности диска» набрав:
winsat diskformal + Enter.
После этого ОС должна сама активировать Trim.
TrimSSD для прочих разных ОС
Включить «Трим» можно также Windows XP или Vista, но для этого потребуется специализированное ПО: Intel SSD Toolbox, Samsung Magician или 0&0 Defrag, где нужная опция активируется вручную.
Обладатели компьютеров от Apple, обычно не переживают за работу Trim с родными SSD. Но если вы решите поставить сторонне устройство, то могут возникнуть проблемы. Особенно со старыми версиями ОС.
Но с появлением Mac OS X 10.11 El Capitan появилась возможность подключения Трима. Необходимо запустить «Терминал» и активировать команду
sudo trimforce enable
с помощью пароля администратора. Здесь главное бать настойчивым до конца, несмотря на предупреждение системы.
В Linux версиях 2.6.33 и выше поддержка trim автоматическая. Но если вы захотите управлять этим процессом вручную, то проверьте соответствие файловых систем (необходимы Ext4 или Btrfs). Дальше потребуется внесение изменений через fstab gksudo gedit /etc/fstab. Просто в строке параметров для каждого раздела Ext4 необходимо вписать команду discard:
UUID=[NUMS-AND-LETTERS] / ext4 discard, errors=remount-ro 0 1.
После чего сохраняемся и перегружаем ПК. Честно говоря, данный метод подразумевает внесение корректировок в работу системы и связан с определенными рисками.
Я все-таки надеюсь, мои дорогие читатели, что для на ваших ssd система будет выполнять trim-обработку без дополнительных настроек.
На этом прощаюсь с вами, всем удачи.