Trim ssd что это
Trim ssd что это
Когда вы удаляете с жёсткого диска какой-нибудь файл, операционная система очищает соответствующую ему запись в MFT и помечает файл как удалённый, тогда как физически же он, будучи последовательностью байтов, остаётся на месте, что даёт возможность его восстановления специальными программами. Окончательно такой файл будет удалён только тогда, когда поверх него будут записаны другие файлы либо вы воспользуетесь функцией шрединга — заполнения участков диска, в которых был записан файл, нулями. Такой принцип используется в обычных HDD-дисках. А вот с постепенно вытесняющими их твердотельными накопителями SSD всё немного иначе.
Как включить TRIM в Windows 10 и для чего он нужен
Что не так с SSD
Если в HDD новые файлы можно записывать в сектора, в которых уже имеются данные, то в современных SSD запись информации производится в пустые ячейки физической памяти, что обеспечивает более высокую скорость работы SSD-накопителей. Первые SSD работали по схожему принципу, но для очистки блоков памяти контроллеру диска приходилось выполнять двойную работу. Когда пользователь редактировал некий файл, то есть по сути перезаписывал его, контроллер сначала считывал блоки с этим файлом во внутренний буфер, вносил в последовательность байтов изменения, стирал блоки и записывал изменённые данные в найденные новые пустые ячейки.
Проблема только в том, что размер ячейки, в которую записываются данные занимает 4 Кб, а вот стирание данных происходит целыми блоками по 512 Кб (так уж организована у них память), поэтому дисковому контроллеру постоянно приходилось перегруппировывать и переносить данные для освобождения блоков, что, конечно, не могло не сказываться на производительности накопителя. С этим нужно было что-то делать, и умные головы инженеров вскоре нашли изящное решение.
Что такое TRIM и для чего он нужен
Примечание: просмотреть режим работы дискового контроллера можно в диспетчере устройств, развернув пункт «Контроллеры IDE ATA/АТАРI».
Как проверить, включён ли TRIM в Windows 10
Если у вас Windows 10 и в качестве системного диска используется SSD, функция TRIM, скорее всего, активна. Чтобы в этом убедиться, выполните в запущенной от имени администратора командной строке или PowerShell команду fsutil behavior query disabledeletenotify. Если команда вернёт значение 0, функция TRIM включена, если 1 — отключена. «Отключено» в скобках относится не к самой функции, а к параметру disabledeletenotify, пусть это вас не смущает, смотрите на числовые значения.
В последних сборках Windows 10 команда может вернуть два значения: одно для файловой системы NFTS, а другое для ReFS. Если вдруг TRIM у вас отключена, выполните тут же в консоли команду fsutil behavior set disabledeletenotify NTFS 0. Если файловая система вашего накопителя ReFS, то вместо NTFS указываем ReFS.
В очень редких случаях Windows по ошибке может принять SSD за HDD, и тогда fsutil может выдать неверный результат. Чтобы помочь операционной системе определить тип диска, выполните команду оценки winsat diskformal, а затем проверьте состояние TRIM повторно.
Примечание: если в свойствах у вас включено сжатие диска, TRIMcheck работать не будет.
И ещё один небольшой нюанс. Проводить проверку с помощью TRIMcheck лучше всего во время простоя компьютера, то есть когда на нём не производится активных действий, в частности, записи данных. В противном случае есть риск, что утилита с первого раза выдаст неверные результаты. В этом случае разработчик предлагает перезагрузить компьютер, выждать некоторое время и повторить тест.
Об этом полезно знать
Если вы подключили SSD по USB, функция TRIM для этого накопителя, скорее всего, работать не будет, так как контроллеры USB в своём большинстве не поддерживают команды SATA. А вообще, нужно пробовать, если у вас суперсовременный компьютер, почему бы и нет? Например, использование TRIM возможно на внешних SSD, подключённых по Thunderbolt, правда, тут ещё много зависит от самого накопителя. И, пожалуй, пару слов о возможности восстановления данных с SSD дисков с работающей функцией TRIM. Так как последняя полностью очищает ячейки памяти, восстановить удалённые данные с твердотельного внутреннего диска невозможно. Даже по сигнатурам.
Восстановить потерянные или случайно удалённые данные реально только если SSD-диск подключён к ПК по USB, вы используете RAID массив из SSD, носитель отформатирован в FAT32, exFAT или в другой ФС, отличающейся от NTFS. Также восстановление будет возможно в Windows Vista и более ранних версиях, древних SSD либо же TRIM отключён на уровне системы. Как видите, у TRIM есть своя тёмная сторона, но мы бы всё равно не рекомендовали отключать эту функцию, иначе падение скорости записи и ускоренный износ диска вам будут гарантированы.
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 не будет работать если:
Как проверить включение 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 при таких операциях с дисками, как:
В Windows 8 и 10 предусмотрено выполнение команды TRIM и для целого раздела NTFS. На вкладке «Сервис» в свойствах диска необходимо открыть Оптимизатор дисков. Так по-новому называется дефрагментатор в Windows.
Для разделов NTFS в Оптимизаторе на SSD диске нам будет доступна команда «Оптимизировать диск». Выполнение данной команды приведет к тому, что Windows отправит на SSD диск команду Trim для абсолютно всех свободных блоков на данном диске. То есть выполнится «тримизация» полностью всего свободного раздела диска, размеченного в NTFS.
Так же в Windows 7, 8, 10 мы можем сделать «тримизацию» всего раздела NTFS. Для того, чтобы это сделать необходимо выполнить быстрое форматирование этого раздела. Только нужно помнить и не забывать, что это действие уничтожает полностью все данные в разделе.
В последних (с 2015 года) версиях драйверов ntfs-3g (драйвера ntfs под Линукс) есть добавленная функция TRIM. Теперь мы можем «тримизировать» и раздел NTFS из Linux. Команда:
где /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 имеет те полезные свойства, что действительно дает возможность поддержать максимально высокую скорость записи, но только при двух условиях:
Видео по включению трим в Mac OS
Важность очистки памяти и процессов TRIM для производительности твердотельных накопителей
В мире технологий SSD часто используются термины «Очистка памяти» и «TRIM». Но что на самом деле они означают? В этой статье мы рассмотрим очистку памяти, как она выполняется и как связана с командой TRIM.
Что такое очистка памяти?
Целью очистки памяти является периодическая оптимизация накопителя, чтобы он работал эффективно и сохранял производительность на протяжении всего срока службы. В отличие от жестких диской (HDD) твердотельные накопители и другие накопители на основе флеш-памяти NAND не могут перезаписывать существующие данные. Для них требуется цикл программирования/стирания. Флеш-память разделена на блоки, которые далее делятся на страницы; данные записываются на уровне страниц, а стираются на уровне блоков. Прежде чем данные можно будет стереть, все действительные данные (страницы) из исходного блока должны быть скопированы и записаны в пустые страницы нового блока. Для записи в уже использованный блок данных контроллер SSD сначала должен скопировать все действительные данные (которые еще используются) и записать их в пустые страницы другого блока, очистить все страницы в текущем блоке (от действительных и недействительных данных), а затем начать запись новых данных в уже очищенный блок. Этот процесс называется очисткой памяти. Kingston® использует различные контроллеры с запатентованными технологиями для выполнения очистки памяти (GC). Их назначение состоит в том, чтобы сохранить как можно больше пустых блоков. Это позволяет существенно сократить время ожидания записи данных на SSD вследствие стирания данных из блока.
Процесс очистки памяти происходит автоматически, обычно во время простоя системы, и является жизненно важной частью функционирования накопителя. Твердотельные накопители создаются на базе современных контроллеров, управляющих флеш-накопителями NAND. При удалении файлов операционной системой (например Windows) ОС отмечает в своей внутренней таблице файлов, что файл удален. На жестких дисках (HDD) такие недействительные данные сохраняются и могут быть напрямую перезаписаны системой для хранения новых данных. Современные операционные системы также поддерживают команду TRIM, с помощью которой ОС сообщает SSD-накопителю об удалении файлов, чтобы он мог лучше управлять процессом очистки памяти и восстанавливать это пространство заранее без сохранения и перемещения недействительных данных.
Что такое TRIM?
TRIM — это команда интерфейса стандарта ATA (Advanced Technology Attachment). Когда операционной системе необходимо сообщить твердотельному накопителю о том, что она удаляет файлы и что эти файловые страницы должны быть доступны для новой информации, эту функциональность обеспечивает TRIM. В сочетании с очисткой памяти TRIM очищает и упорядочивает твердотельный накопитель, повышая эффективность его работы и продлевая срок службы.
До Windows 7 и появления TRIM не было способа указать, что данные, хранящиеся на твердотельных накопителях, очищены для удаления. С помощью TRIM страницы, относящиеся к удаленным файлам, могут быть обработаны функцией очистки памяти при следующем простое компьютера.
Не все операционные системы поддерживают TRIM. До Windows 7 твердотельные накопители сохраняли недействительную информацию до тех пор, пока не получали сообщение о необходимости записи новой информации в это место. Этот процесс был медленнее и отрицательно сказывался на сроке службы накопителя. Все последующие версии Windows (и OS X Lion или более поздние версии) автоматически запускают TRIM для твердотельных накопителей, поддерживающих эту функцию.
Как убедиться, что функция TRIM включена в Windows
Результат DisableDeleteNotify = 1 указывает, что функция TRIM отключена для вашего твердотельного накопителя, а результат DisableDeleteNotify = 0 означает, что функци TRIM включена.
Как включить TRIM в ОС Windows
Как проверить, включена ли функция TRIM, в MacOS 10.10.4 и более поздних версиях
Для OSX 10.10.3 и более поздних версий можно использовать инструмент Chameleon SSD Optimizer или Cindori Trim Enabler.
Заключение
Ваш твердотельный накопитель будет работать с максимальной производительностью только в том случае, если за ним правильно ухаживать. Поэтому очистка памяти и TRIM являются важными процессами для поддержания оптимального уровня производительности SSD-накопителя. Для накопителей Kingston очистка памяти и TRIM включаются автоматически, и вы можете отслеживать общее состояние вашего твердотельного накопителя с помощью приложения Kingston SSD Manager (KSM).
Поднимаем производительность SSD c колен, куда нажимать и зачем
Семь бед – один Deallocate
Многие слышали про команду TRIM. Те самые заветные четыре буквы, которые вызывают множество вопросов у рядового пользователя. TRIM – одна из команд ATA, отправляемая операционной системой с целью уведомления твердотельного накопителя о том, что данные с диска были удалены пользователем и занятые физические ячейки можно освободить. Стоит отдельно сказать про SSD с интерфейсом NVMe — эти диски обладают другим набором команд для работы, но аналог ATA команды TRIM там тоже существует — называется она Deallocate и, соответственно, является идентичной. Поэтому, далее при упоминании TRIM мы будем подразумевать и Deallocate тоже. К чему речь обо всём этом? Как раз именно проблемы с выполнением данных команд в подавляющем большинстве случаев и являются причиной низкой производительности накопителей. Конечно, другие проблемы мы тоже не оставим в стороне, но всему своё время.
В тот момент, когда вы удаляете данные с вашего накопителя, по факту удаляется запись в главной таблице файловой системы. То есть, сами данные остаются на месте, но область помечена на удаление. Сама «зачистка ячеек» происходит в определенное время, например, в момент простоя накопителя, пока вы отошли за чаем. Таким образом производители добиваются снижения износа памяти и увеличивают производительность своих накопителей в определённых сценариях. Именно очисткой этих ячеек и занимается контроллер, выполняя команду TRIM. К слову, после её выполнения, восстановление данных практически невозможно.
Совсем недавно мы рассказывали про технологию Secure Erase, которая схожа с TRIM, но затрагивает не только основные ячейки, но и служебные области, возвращая накопитель в полностью исходное состояние. Напомним, что Secure Erase можно выполнить на накопителе только без файловой системы и при определённых условиях. А технология TRIM как раз и требует наличие операционной системы со всеми вытекающими требованиями.
Объясним на пальцах, как раз их 20…
Когда вы создаёте файл, операционная система отправляет команду записи по адресу определенного логического блока. Когда вы удаляете данные с диска, эти блоки помечаются свободными.
При этом, данные останутся на диске пока контроллер не захочет их перезаписать.
Перед нами часть памяти, в которой находятся файлы А и В разных размеров, занимающих, соответственно, разное количество блоков. Сначала мы удаляем файл В, а затем записываем файл С на наш диск. Для наглядного представления ситуации, когда TRIM не работает, добавим простую иллюстрацию, в которой обозначены следующие состояния:
А теперь что происходит, если TRIM работает. Снова по этапам:
То есть, логика работы совсем другая. Повторим пройденное — в момент удаления нами файла B отправляется команда TRIM, и, поскольку в SSD достаточно часто простаивает, он с радостью удаляет ненужные блоки практически сразу. И в момент того, как мы хотим записать файл С, то он сразу же записывается на диск, а не ждёт пока для него очистят блоки с мусором.
TRIM, а есть ли ты вообще? И, если есть, то работаешь ли?
Узнать, поддерживает ли SSD команду TRIM можно при помощи достаточно большого количества свободно распространяемого программного обеспечения. Возьмём, к примеру, CrystalDiskInfo:
Но демонстрация поддержки – не есть работа. Для начала пройдёмся по ситуациям, когда 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), но рекомендовать их не стоит. Требуется изменение параметров реестра, добавление нужного драйвера и готовность к переустановке ОС в случае неудачи.
Вспомним ещё про Secure Erase. Восстановить производительность этой функцией можно. Только вот вряд ли надолго. Особенно, если вы быстро забиваете свой накопитель новыми данными. Так что как временное решение – пойдёт, но оно всегда будет оставаться временным.
Ещё добавим про SLC-кеширование, которое достаточно часто используется у многих SSD-накопителей без привязки к интерфейсу. Невысокая скорость записи большого количества файлов (или больших файлов) после определённого порога не проблема, а особенность работы. Суть кеширования состоит в том, что сначала записываемые данные попадают в специальную область памяти, а уже затем записываются в основную память в фоновом режиме. Когда выделенная высокоскоростная память заканчивается, то данные начинают записываться непосредственно в память на заметно сниженной скорости – от 50 до 150 МБ/с. Это совершенно нормальный режим работы накопителей с SLC-кешем, поэтому здесь ничего сделать невозможно от слова совсем.
Что хорошо, а что плохо?
Если функция TRIM работала с самого начала, то сама по себе никуда она деться не может. Но совсем другое дело, если вы увлекаетесь разного рода твикерами, сторонними драйверами или прошивками, а также сборками операционных систем, якобы улучшенных. Все эти программы и сборки могут только навредить, если речь идёт о Windows 8 и, тем более Windows 10 – в этих ОС всё продумано как надо. В «семёрке» они могут чем-то помочь, но это скорее исключение из множества проблем, которые они могут принести.
Отдельно надо сказать несколько слов про NVMe накопители и драйверы для них. Приобретая высокоскоростной SSD, в ваших глазах должны отражаться полученные в бенчмарках заявленные скоростные показатели. Часто это так и есть, например – с накопителями Kingston. Установил и забыл, как говорится, наслаждаясь его высокими скоростями. Но с SSD других производителей это может быть не всегда так, что, очевидно, расстроит любого. Тут уже не отсутствие Deallocate является причиной недостаточного быстродействия, а стандартный NVMe драйвер. Да-да, при покупке NVMe SSD некоторых производителей обязательно приходится отправляться на сайт его сайт и скачивать соответствующий драйвер – разница со стандартным может превышать двукратную!
Вот теперь, вроде, всё.
Как оказалось – не всё так страшно, как выглядело не первый взгляд. От пользователя требуется выполнение всего нескольких рекомендаций, чтобы система работала корректно и радовала производительностью твердотельного накопителя долгое время. Повторим их напоследок – чистый дистрибутив операционной системы, актуальные драйверы и прошивки от производителя, а также отсутствие сторонних «настройщиков» системы, которые, по заверению их разработчиков, увеличивают производительность на 146%. Если проблема не аппаратная, то никаких нареканий к диску у вас не будет в течение всего срока жизни вашей системы. Так что никакого длинного заключения-словоблудства не будет – всё, что надо было сказать, уже сказано. Ёмких вам SSD, их высоких скоростей и стабильной работы!
Для получения дополнительной информации о продуктах HyperX и Kingston обращайтесь на сайты компаний.
Концепция TRIM для SSD: зачем и как использовать?
Если очень коротко, то это набор функций и эффектов для ATA-шных дисков, с помощью которой операционная система сообщает SSD в каких блоках данных хранилища пользователь более не нуждается, и какие из них могут быть стёрты. Именно TRIM помечает их свободными для последующей перезаписи. Эта команда помогает ОС определить где находится информация, с которой сейчас будут проводиться манипуляции по удалению или перемещению. Таким образом, диски SSD имеют доступ к блокам (и только к тем), в которых хоть что-то хранится. Более того, как только инициализируется запрос на удаление данных (самой системой или юзером), команда TRIM немедленно «затирает» блоки или страницы данных. Таким образом, это делается не во время самой записи файла, а предварительно. А это уже означает, что при желании в следующий раз что-то в эту часть ПЗУ записать, Windows время на удаление данных тратить не будет.
А вот сейчас будет кусок теории, в которой я позволю себе утверждать, что TRIM не полезна… Она строго обязательна. SSD — это устройство, куда понапихана куча чипов памяти. Операционной системе необходимо иметь постоянный к ним доступ с целью читать, записывать и стирать данные с этих чипов. И самому диску это дело нужно как-то организовывать. И изначально вся попадающая на диск информация разбивается на блоки данных. Которые, в свою очередь, делятся на страницы или листы данных. Диск — это, по сути, привычная со школьной скамьи библиотека. Школьная, студенческая, городская, областная… И аналогия с объёмами данных здесь та же. Но смысл един — куча полок с кучей книг на каждой. Однако, в отличие от библиотечной, книги здесь на полке лежат стопками. Одну книгу не взять: диску SSD, чтобы страницу памяти удалить, приходится удалять сначала блок полностью, выбранное затирать, а оставшееся копировать и вставлять обратно. И не важно, толстая ли «книга» или их совсем немного: сначала диску нужно перелопатить весь блок памяти полностью, чтобы удалить (пусть даже крохи) информацию. И в качестве виртуального библиотекаря в нашем случае используется буфер памяти (временное хранилище). В общем, система далека от эффективности: ведь всякая операция по перемещению файлов на SSD диск моментально привязывается к производительности системы в части скорости записи на носитель. Ведь SSD, в отличие от HDD, НЕ ПОНИМАЕТ КАКИЕ СЕКТОРА ДИСКА ИСПОЛЬЗУЮТСЯ, и что такое «свободное пространство». И TRIM SSD нужна именно для этого. Как воздух. Кроме того, встаёт вопрос о физическом износе чипов памяти. Для некоторых этот вопрос почему-то всегда спорный, однако поверьте — подобные частые пертурбации по записи-удалению гарантийно снижают срок работы любого устройства. Именно TRIM и заставляет SSD работать с меньшими по объёму кластерами памяти. И даже более того, как только появляется команда на удаление файлов, SSD автоматически посылает trim-команду на освобождение необходимого дискового пространства. И здесь показатели записи на диск пользователя приятно удивляют.
Как узнать поддерживает ли диск TRIM?
Почему по мере заполнения SSD падает скорость записи в RAID, или зачем нужен TRIM
Эта проблема наиболее актуальна для аппаратных RAID или firmware RAID (таких как Intel RST RAID 1/10/5/6) с непромышленными SSD.
Особенность SSD
SSD пишут и читают данные страницами, записать можно только на очищенные страницы, а очистить страницы можно только большими блоками. Например, у диска размер страницы 8 КБ, в блоке находится 128 страниц, таким образом, размер блока — 1024 КБ (здесь и далее, если не указано иного, КБ и МБ двоичные).
Например, если изменить 40 КБ в одном файле, то на физическом уровне это будет выглядеть так:
На логическом уровне всё выглядит как обычно — данные будут перезаписаны поверх в соответствующих секторах. Как только в блоке 1 останутся исключительно пустые и готовые для очистки страницы, этот блок стирается и становится пустым целиком.
Чтобы скрыть физическую реализацию, диск поддерживает карту соответствия логических и физических номеров страниц (Flash Translation Layer).
Пока мы видим только один путь, которым физическая страница сможет стать снова очищенной — если на её логический адрес запишут новые данные. Дело в том, что контроллер диска работает на уровне страниц и не знает ничего о файловой системе, а операционная система никак не извещает диск об удалённых файлах, какие секторы могут быть очищены. Несложно видеть, что рано или поздно каждая страница диска будет занята и ему будет некуда писать данные.
Чтобы решить это проблему, была добавлена команда ATA TRIM (wiki). Операционная система посылает её диску с указанием секторов, которые могут быть очищены. Аналоги этой команды — SCSI UNMAP и CF ERASE. К сожалению, в некоторых случаях нет возможности послать её диску:
— если диск находится в RAID с аппаратным контроллером (LSI, Adaptec и т. п.),
— если диски находится в firmware-RAID, в частности, Intel RST RAID 1/10/5/6,
— если диск подключен по USB (ограничение протокола),
— если диск зашифрован программно через TrueCrypt, dm-crypt, GELI и т.п. (может поддерживаться, но обычно не включается по соображениям безопасности).
Если в результате тестирования выясняется, что диск не получает команду TRIM, то вскоре для записи может остаться совсем мало свободных страниц. Но они будут: каждый диск содержит некоторую зарезервированную область, которая служит как запас свободных страниц и запас блоков на замену полностью изношенным. Чтобы узнать размер этой области нужно посмотреть, какой физический объём памяти установлен на диске и сколько LBA указано в документации.
Например, Samsung SSD 840 Pro 512 GB имеет 512 ГБ памяти, при этом доступно 1000215216 LBA секторов. Резерв составляет: 512 × 1024 × 1024 × 1024 — 1000215216 × 512 = 35 ГБ или 6,85 %. Доступная ёмкость диска при этом составляет (512 — 35) × 1024 × 1024 × 1024 = 512 × 10^9 = 512 ГБ, уже десятичных. Samsung SSD 850 Pro 128 ГБ имеет на борту 129 ГБ, пользователю доступно 128 ГБ десятичных, резерв — 7,6 %.
Итак, если мы заполним весь диск, потом удалим все файлы, то без поддержки TRIM диск сможет писать только на какую-то часть от 6,85 % объёма диска. Часть, потому что этот резервный объём будет частично состоять из не полностью пустых блоков из-за фрагментации. Наличие этой области позволяет хоть как-то продолжать перезапись файлов на диске.
Пример худшей ситуации: писать некуда, хотя объём занятых страниц не превышает доступный пользователю без резерва.
В этом случае одновременно с записью работает сборщик мусора, который будет читать блок в оперативную память, стирать блок на диске (долгая операция, стирание занимает 3000 мкс в сравнении с 900 мкс записи в пустую страницу) и записывать блок из оперативной памяти. Задержка происходит также из-за роста Write Amplification — на одну логическую операцию записи приходится 5-10 физических операций записи.
Поэтому чем больше у диска есть свободного места для манёвров, тем выше скорость записи. Сборщик мусора в фоне занимается не только очисткой и дефрагментацией блоков, но и равномерным распределением циклов записи/очистки (P/E) по блокам, чтобы они изнашивались одинаково.
Есть популярный миф, что у современных дисков настолько хороший сборщик мусора, что им не нужен TRIM. Это совершенно не так, сборщик мусора и TRIM решают разные задачи.
Промышленные диски часто имеют 50% и больше резервной области, поэтому для них отсутствие TRIM не критично. Остальные диски чаще всего вообще не имеют явно заявленной резервной области, или она недостаточна. Тесты показывают, что хороший эффект имеет объём over-provisioning 25-29 % от общего объёма физической памяти (включая резервную область). Поэтому если у диска недостаточный объём резервной области, то нужно сделать over-provisioning самостоятельно.
Есть три способа:
— разметить диск таким образом, чтобы оставить некоторую часть неразмеченной области, после создания RAID,
— использовать команду ATA для создания Host protected area (howto), до создания RAID,
— настроить RAID контроллер, чтобы он использовал только часть объёма диска.
Прежде чем выделить свободную область, нужно дать знать диску, что эта область ничем не занята, одним из двух способов:
— подключить диск к другому контроллеру и послать команду ATA TRIM (или при помощи O&O Defrag — есть cli интерфейс, Windows 8 встроенный оптимизатор дисков или Anvil’s Storage Utilities),
— сделать полную очистку таблицы FTL, послав команду ATA Secure Erase.
Есть версия, что также можно заставить диск понять, что блоки не используются, если туда записать 0x00 или 0xFF (так называемый метод «Tony TRIM»). Возможно, для каких-то контроллеров это работает, но мои тесты не показали изменений.
На практике
У меня есть два диска Samsung SSD 540 Pro 512 GB в Intel RST RAID 1, на которых установлена Windows 8.1. После года работы я измерил производительность и был неприятно удивлён. После проверки TRIM я увидел, что он не работает.
— Проверка TRIM под Windows,
— Проверка TRIM под Linux:
Колонки DISC-GRAN и DISC-MAX обе должны быть больше 0 для всех участвующих компонентов.
Альтернативный вариант:
После удаления файла на диске должны быть 0x00 или 0xFF, но это недостоверный способ: разные диски ведут себя по-разному.
TRIM в реальном времени включается опцией «discard» при монтировании диска:
TRIM для файловых систем на одиночных дисках и LVM поддерживается с ядра Linux 2.6.33. TRIM для mdraid поддерживается с ядра Linux 3.7. Но может быть портирован и на старые версии ядра, например, поддерживается в CentOS 6.
По-умолчанию Ubuntu делает TRIM по расписанию раз в неделю при помощи fstrim, но только для одиночных дисков (не mdraid) следующих производителей: Intel, Samsung, OCZ, SanDisk и Patriot и если установлен «hdparm».
— Проверка TRIM в FreeBSD:
ZFS по-умолчанию поддерживает TRIM начиная с версии FreeBSD 9.2:
GEOM RAID gmirror поддерживает TRIM с FreeBSD 9.1:
колонка «d/s» — BIO_DELETE/second.
Intel RST RAID поддерживает TRIM только для типа RAID 1, как исключение: для включения нужно убедиться, что драйвер Intel RST версии 11 и выше, и прошивка OROM (Legacy boot) или SataDriver (UEFI boot) версии 11 и выше, или старая версия, но пропатченная. TRIM поддерживается в Intel RSTe RAID 0/1/10 начиная с версии 3.7.0.1093.
Я решил создать неразмеченный раздел диска для over-provisioning.
1. При помощи Acronis Backup я снял образ диска. Также сохранил таблицу разделов (важно иметь первый сектор, последний сектор, GPT тип раздела, GPT уникальный идентификатор, имя раздела).
2. Перезагрузился в BIOS и сделал SSD Secure Erase. Если этого пункта нет в BIOS, то можно выполнить команду при помощи hdparam (или здесь и здесь, есть под Windows), HDDErase или HDAT2.
3. Собрал RAID 1 на двух дисках.
Здесь нужно сделать важное замечание: при инициализации массива RAID-контроллер считывает каждый сектор с одного диска и записывает его на второй. Теоретически это должно помешать всей нашей затее, и на одном диске не будет over-provisioning. Но тесты показали, что этот метод почему-то работает. У меня этому нет объяснений.
4. Загрузился с LiveCD и при помощи GPT fdisk создал нужную таблицу разделов: последний раздел на 104 ГБ меньше, чем раньше. Разделы нужно выравнивать (partition align) по размеру страницы диска, а не по размеру блока.
5. Восстановил из резервной копии каждый раздел.
После этого я полностью заполнил диск и запустил тесты. Это должно показать худший случай. Кеш Windows включён, регулярная запись кеша выключена, Inter RST write-back выключен, все тесты используют область диска фиксированного размера в 40 ГБ. Тестировать диски непросто, поскольку показатели могут меняться во времени. Ниже сведены показатели установившегося состояния.
Я сравню три состояния:
— Один диск без RAID, полностью заполненный, стандартная скрытая резервная область 6,58 %.
— Один диск без RAID, после запуска на нём TRIM свободного места.
— Два диска в RAID 1, полностью заполненные, стандартная скрытая резервная область 6,58 %.
— Два диска в RAID 1, полностью заполненные, over-provisioning 27,24 % (включая скрытую резервную область).
Анализ результатов:
— чтение с RAID 1 оказывается быстрее, чем с одного диска, невзирая на то, что у нас всего лишь firmware RAID.
— запись тем быстрее, чем больше нераспределенного пространства: на первом месте TRIM, на втором — наш самодельный over-provisioning.
Установившееся состояние не всегда достигается быстро. Посмотрим тест последней конфигурации (over-provisioning 27,24 %) в динамике и увидим худший случай:
Любопытный процесс идёт первые 400 секунд, после чего производительность возрастает и стабилизируется. Я думаю, параллельно с записью работает сборщик мусора, который дефрагментирует блоки и подготавливает их для записи. Такое поведение наблюдается не каждый раз, а время от времени. Видно, что последовательная запись проседает до 70 МБ/с, случайная запись — до 18000 IOPS. Эти показатели всё равно в два раза лучше, чем без over-provisioning (32 МБ/с и 7139 IOPS соответственно). Чтобы убедиться, что установившееся состояние на самом деле имеет такую высокую производительность, я также выполнил тест в течении 30 минут, при этом было записано на диск 490 ГБ со средним 69721 IOPS.
Кратко
— Если диск получает ATA TRIM от ОС, то беспокоиться не о чем, достаточно оставлять часть места на диске свободным.
— Если используются дорогие промышленные диски, то проверьте объём встроенной резервной области, если он достаточен, то проблем с записью не будет.
— В остальных случаях нужно оставить не размеченную область, чем больше её размер, тем меньше будет стандартное отклонение латентности записи.
— Иногда сборщик мусора не успевает подготовить чистые блоки и скорость записи может просесть и быть непостоянной.
— После over-provisioning установившаяся максимальная скорость записи повысилась с 7000 до 68000 IOPS, а средняя минимальная — с 6000 IOPS до 19000 IOPS.
Что такое Trim в SSD: как работает и для чего существует?
Всем привет! Сегодня разберем функцию TRIM в SSD — что это за технология, нужно ли ее запускать принудительно, как включить и проверить, активен ли этот режим. О том, какое время эксплуатации у SSD, вы можете почитать в этом посте.
При записи любого файла на винчестер операционная система вносит его координаты в специальную таблицу. Называется она MFT (аббревиатура от Master File Table — Основная таблица файлов). При поиске данных Винда первым делом обращается к MFT, чтобы быстро определить их местоположение.
При удалении любых данных ОС попросту удаляет их координаты и затем считает, что место на диске очищено. На самом деле информация никуда не делась — просто Виндовс «забыла» туда дорогу.
Благодаря этой особенности возможно восстановление данных с винчестера или твердотельного накопителя: ОС восстанавливает пути к файлам и снова может их читать, с одним маленьким «Но». Новые данные записываются поверх старых, и если файл потерял целостность, восстановить его может быть невозможно.
Именно по этой причине с течением времени вероятность восстановления данных снижается — новая информация может стереть часть файла или его весь, и он не будет читаться и расшифровываться.
Для SSD с целью оптимизации работы процесс чуть сложнее. Windows чистит не только MFT, но и удаляет все данные из ячеек памяти — такова особенность их работы. Фактически, на твердотельный накопитель все данные записывают подряд, без разрывов и поиска свободного места, поэтому и дефрагментация им не требуется.
ТРИМ — это и есть функция очистки ячеек хранилища ССД. Для ее корректной работы нужно выполнить несколько условий:
Начиная с версии Виндовс 7 эта опция активирована по умолчанию. Она включается, если перевести девайс в режим AHCI. А так как все современные контроллеры поддерживают эту опцию, то ТРИМ в вашем компе с огромной вероятностью работает.
Как проверить, активирована ли TRIM
Нужно сделать следующее:
Если в ответ вы увидите ноль, значит ТРИМ активна, если единица, то нет.
Как включить TRIM в Windows 10
Действовать нужно как и в предыдущем случае. Отличается только команда, которую нужно ввести. Это будет fsutil behavior query|set DisableDeleteNotify = 0. Соответственно, если функцию нужно отключить, вместо нуля поставьте единицу.
Активная TRIM — лучшая настройка для оптимальной работы твердотельного накопителя. Замечено, что если отключить эту опцию, со временем быстродействие диска снижается, так как он не может без дополнительной очистки самостоятельно разобраться с накопившимся хламом, то есть обрезками данных. Рекомендую не отключать.
Также для вас будут полезны инструкции «Проверка скорости ССД диска» и «Что такое SSD m2». Не забывайте делиться постами из моего блога в социальных сетях — так вы помогаете его продвижению. До скорой встречи!
Что такое TRIM в SSD, почему он может не работать «из коробки» и как включить
Опция TRIM необходима для очистки от “мусора” ячеек памяти. Подробнее о данном функционале рассмотрим в рамках статьи.
Прежде чем описывать назначение TRIM, разберемся в способах хранения информации на разных носителях. Когда происходит запись данных на стандартный HDD, система заносит координаты документа в специальную таблицу. При удалении такого файла ОС убирает только его адрес из таблицы. Соответственно, при записи новых данных происходит их помещение поверх старых данных.
Команда TRIM в операционной системе выполняет функцию уведомителя. То есть сообщает накопителю о том, какие блоки являются ненужными и доступными к удалению, не дожидаясь актуальных записей. Если такой процесс не выполнять, то по истечении времени твердый накопитель будет терять скоростные параметры. На практике это очевидно и давно выявлено IT-специалистами.
Особенности работы TRIM
Функционирование команды TRIM имеет некоторые особенности. Его работа выполняется в следующих случаях:
Команда TRIM не работает в таких ситуациях:
Эти моменты рекомендуется учитывать при работе, во избежание неблагоприятных ситуаций.
Включение TRIM
Если вы используете Ubuntu версии 14.04 и выше, то включать функцию TRIM дополнительно не требуется. В данной системе она работает по умолчанию.
В ОС Windows изначально можно проверить функционирование TRIM. Для этого необходимо:
Далее в консоли требуется выполнить команду:
fsutil behavior query disabledeletenotify
Если появится значение disabledeletenotify = 1, то это означает отключение опции TRIM.
Включается она командой:
fsutil behavior set disabledeletenotify 0
В рабочем состоянии TRIM в Windows выполняет функцию удаления ненужных файлов и осуществляет быстрое форматирование раздела NTFS. В системе дать команду TRIM можно ручным способом для всего раздела. В этом случае нужно сделать следующее:
Такое действие позволяет Windows отправить команду TRIM SSD диску для всех его свободных блоков. Иными словами, произойдет процесс “тримизации” свободного пространства полностью на разделе NTFS.
Системы Windows XP и Vista функцию TRIM не поддерживают. Выполнить тримимзацию SSD в этой ситуации можно следующими способами:
Зависит ли скорость записи от TRIM
Если требуется загрузить свободное пространство на полностью размеченном SSD, то надо выполнить команду принудительной тримизации для всего раздела. Только после данной процедуры появится возможность удаления или сокращения его размера.
Функция TRIM дает реальную возможность выполнения высокой скорости записи только в двух сценариях:
При соблюдении данных условий SSD будет оперативнее справляться со своими задачами.
Заключение
Функцию TRIM можно отключить, но в этом нет никакого смысла. Тримизация продлевает срок службы накопителя, так как flash-память ограничена по числу циклов записи и при постоянной очистке многократное использование одних и тех же блоков невозможно. Кроме того, сам SSD будет работать гораздо быстрее.
Как включить поддержку SSD TRIM
За последние пару лет твердотельные накопители стали все более популярными. Также вероятно, что вы прочитали или, по крайней мере, слышали, как кто-то говорил о том, насколько быстро SSD (твердотельный накопитель) сравнивается с традиционными жесткими дисками. Если вы уже используете один или хотите купить SSD для повышения производительности вашего компьютера, вы должны знать, что поддержка TRIM имеет важное значение. Что такое SSD TRIM, почему это важно для SSD, и как вы проверяете, включено ли оно в Windows? Вы можете найти ответы на эти вопросы в этом руководстве.
Что такое TRIM для накопителей SSD?
TRIM — это команда, с помощью которой операционная система может сообщить твердотельному диску (SSD), какие блоки данных больше не нужны и могут быть удалены, или отмечены как свободные для перезаписи. Другими словами, TRIM — это команда, которая помогает операционной системе точно знать, где хранятся данные, которые вы хотите переместить или удалить. Таким образом, твердотельный диск может получить доступ только к блокам, содержащим данные. Кроме того, всякий раз, когда команда удаления выдается пользователем или операционной системой, команда TRIM немедленно уничтожает страницы или блоки, где хранятся файлы. Это означает, что в следующий раз, когда операционная система попытается записать новые данные в этой области, она не должна ждать сначала, чтобы удалить ее.
Давайте углубимся в это понятие: понять, что такое TRIM, и что он вам сначала нужно знать, как работают SSD и как они обрабатывают информацию, хранящуюся на них.
Твердотельный накопитель — это не что иное, как устройство, полное чипов флэш-памяти. Операционная система должна иметь возможность читать и обрабатывать данные об этих чипах. Для этого SSD должен иметь способ организовать эти данные. Информация, хранящаяся на SSD, делится на блоки данных. Эти блоки, в свою очередь, делятся на страницы данных. Чтобы лучше продемонстрировать, представьте, что SSD является библиотекой. В библиотеке много полки, и эти полки заполнены книгами.
Однако что происходит, когда вы больше не хотите хранить одну из этих книг? Скажите, что вы хотите продать его или одолжить другу. Казалось бы, вам нужно только снять книгу с этой полки. Ну, если ваша библиотека — твердотельный диск, все будет работать не так. На SSD, если вы решите удалить некоторые данные, не имеет значения, занимает ли он только страницу из блока. Весь блок нужно будет удалить! Вся информация на других страницах переместилась во временную буферную память, а затем вернется в исходный блок. Это похоже на освобождение целой полки из вашей библиотеки, когда вы хотите взять книгу или заменить ее на новую. Тогда вам нужно будет вернуть все остальные книги на свои места. Это не эффективно!
В заключение, для твердотельного диска для записи новых данных в ранее занятом пространстве сначала необходимо полностью стереть его. Выполнение этого при каждом перемещении или удалении данных на вашем SSD приводит к снижению производительности для скорости записи данных.
Почему TRIM полезен для накопителей SSD?
Вы уже знаете, что при удалении и перезаписи данных твердотельный диск, который не использует TRIM, должен частично перемещать значительную часть информации, уничтожать все блоки, содержащие ее, и, наконец, записывать новые данные на эти блоки. С одной стороны, это означает, что производительность устройства низка. С другой стороны, это означает, что SSD делает много стирания и перезаписи. Все они накапливаются и вызывают быстрый износ чипов флэш-памяти, которые находятся внутри SSD.
TRIM гарантирует, что обе эти проблемы будут предотвращены, устраняя необходимость постоянно стирать и переписывать большие куски памяти. Вместо управления целыми блоками SSD с поддержкой TRIM может работать с меньшими кластерами памяти, называемыми страницами. Более того, всякий раз, когда команда удаления выдается операционной системой или пользователем, SSD автоматически отправляет команду TRIM, чтобы стереть стертое пространство. Это обеспечивает более быструю скорость записи при сохранении новых данных в этой области.
Как проверить, включена ли Windows TRIM для вашего SSD
Если вы хотите проверить, включен ли TRIM или отключен на вашем твердотельном диске, вы должны использовать командную строку. Быстрый способ запустить его — использовать поиск.
Нажмите Enter на клавиатуре и через короткое время в командной строке появится сообщение, содержащее один из этих двух параметров:
Как включить SSD TRIM в Windows
Если вы получите сообщение «NTFS DisableDeleteNotify = 0», это означает, что TRIM был включен на вашем SSD.
Как отключить SSD TRIM в Windows
Записки IT специалиста
Технический блог специалистов ООО»Интерфейс»
Можно ли эффективно использовать SSD без поддержки TRIM?
Вынесенный нами в заголовок вопрос довольно часто занимает умы системных администраторов. Действительно, что лучше, собрать из твердотельных дисков RAID массив, но потерять поддержку TRIM, или отказаться от отказоустойчивости в пользу высокой производительности? Ситуация усугубляется еще и тем, что немногие реально представляют себе механизмы внутренней работы SSD и ориентируются более на маркетинговые материалы, чем на реальную техническую необходимость.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Основной миф касательно SSD таков: на системах без поддержки TRIM производительность SSD будет стремительно деградировать. Почему и как это происходит обычно не сообщается, без TRIM будет плохо и точка. В тоже время большинство серверных конфигураций дисковой подсистемы TRIM не поддерживают, либо поддерживают, но в очень ограниченном объеме. При этом некоторую странность вызывает то, что ни производители железа, ни производители софта не спешат с этой «проблемой» что-либо делать.
Чтобы понять, для чего нужен TRIM и что это, раздутый маркетологами термин или насущная необходимость, разберемся как работает SSD. Мы не будем вдаваться в технические подробности и сознательно упростим модель до уровня достаточного для понимания происходящих процессов.
Первоначально вспомним, как воспринимают диск разные подсистемы ПК, участвующие в работе с ним. Приложения и ОС взаимодействуют с файловой системой, работая на уровне кластеров и таблицы файлов. О том, что находится ниже ОС не имеет никакого представления. Файловая система воспринимает диск как некоторое блочное устройство стандартного формата, также не сильно вникая в его внутреннюю суть, отдавая все вопросы на откуп драйверу контроллера запоминающих устройств. Тот, в свою очередь, воспринимает диск как некоторое LBA-устройство, не зная его внутренней структуры. О том, как именно конфигурация LBA соответствует физической конфигурации устройства знает только контроллер диска, который в свою очередь не имеет ни малейшего представления о файлах, разделах, кластерах и т.п.
Физически пространство SSD делится на страницы, которые являются минимально адресуемым участком памяти, для того, чтобы изменить ячейку памяти, необходимо считать страницу, изменить в ней необходимые данные и записать ее на прежнее место. Здесь возникает первая сложность, в отличие от HDD, в SSD писать можно только в заранее очищенные ячейки. При этом технически очистить отдельную страницу нельзя, очистке подвергаются только группы страниц, объединяемые в блоки.
Размеры страниц и блоков зависят от конфигурации памяти конкретного SSD, но, как типичное, можно принять значение 4 КБ для страницы и 512 КБ для блока. А теперь представим, что мы открыли файл и изменили в нем 100 байт данных. Для HDD проблемы нет, он считает нужный сектор (512 байт), изменит данные и перезапишет его. В реальности будет все немного по-другому, так как минимально адресуемым пространством ФС является кластер, то HDD перезапишет соответствующее количество секторов, но никаких дополнительных накладных расходов это не вызовет.
А вот SSD не может взять и просто так записать измененные данные. Для этого ему потребуется считать куда-то весь блок, очистить его и вернуть все данные назад. Поэтому вместо изменения и записи 4 КБ данных SSD придется записать 512 КБ данных, что не самым лучшим образом скажется на ресурсе ячеек. Кроме того, операция стирания ячеек достаточно медленная, по сравнению с записью в чистые ячейки и именно необходимостью стирания перед записью объясняется деградация производительности SSD.
Чтобы решить эту проблему в SSD применяется алгоритм «копирование при записи». Суть его заключается в следующем: при необходимости записи уже существующей страницы, она копируется в свободные ячейки, а сама помечается как доступная к очистке.
Это позволяет SSD сразу записывать измененные данные, не вызывая каждый раз процедуру очистки и не перезаписывая остальные данные блока. Это будет продолжаться до тех пор, пока не кончатся свободные ячейки.
Несложно заметить, что через некоторое время на диске вперемешку окажутся свободные, занятые и доступные к очистке страницы. Здесь вступает в действие алгоритм внутренней оптимизации, именуемый «сборкой мусора». Он перемещает данные на SSD таким образом, чтобы сгруппировать доступные к очистке страницы в отдельные блоки и очистить их.
Из-за чего наступает деградация? От того, что свободные ячейки кончаются, например, мы полностью заполнили пространство диска. В этом случае у SSD все равно остается пространство для маневра в виде резервной области, которая предназначена для замены вышедших из строя ячеек, но достаточного количества свободных страниц может не оказаться и там. Вопреки еще одному расхожему мнению, резервная область SSD используется всегда, это делается в целях выравнивания нагрузки, просто она недоступна для размещения пользовательских данных.
Если размер резервной области небольшой, а интенсивность записи высокая, то сборщик мусора будет не успевать эффективно очищать блоки, и мы получим деградацию производительности диска.
Снова самое время вспомнить, что файловая система не имеет не малейшего представления о физическом размещении данных на носителе, это прерогатива контроллера диска. Поэтому удаление файла в современных файловых системах физически не происходит, удаляется только запись в таблице файлов, после чего данное место считается свободным. При этом сами данные будут находится на диске до тех пор, пока не будут перезаписаны. При этом файловая система никак не сообщает контроллеру о таких данных, и он продолжает считать эти ячейки занятыми. У SSD это приведет к ситуации аналогичной тому, когда диск полностью заполнен, хотя с точки зрения ФС там много свободного места и она будет пытаться писать туда.
В этом случае SSD будет полностью считывать блок в память, очищать его и заново записывать измененные данные.
А как же технология сборки мусора? А никак, потому что убирать ей нечего. Эти ячейки свободны только с точки зрения файловой системы, с точки зрения контроллера диска в них записаны данные. Понять, что эту страницу можно очищать диск сможет только тогда, когда система попытается туда что-либо записать, а для того, чтобы быстро выполнить запись нужны свободные ячейки.
Команда TRIM, в первую очередь, предназначена для настольных систем и системных разделов, где файлы активно создаются и удаляются, в большинстве серверных сценариев, где идет изменение уже записанных данных, необходимости в ней нет.
Здесь самое время вспомнить про корпоративные серии SSD, которые зачастую не блещут производительностью, но зато предлагают высокую надежность и поддерживают эффективную работу даже без поддержки TRIM. За счет чего это происходит? За счет большего размера резервной области. Это позволяет всегда иметь достаточный запас свободных ячеек и благотворно сказывается на эффективности работы сборщика мусора. Так как пользователь не может непосредственно писать в резервную область, то в ней могут быть страницы только трех видов: свободные, занятые и доступные к очистке. Занятых страниц, которые ФС считает свободными, там быть не может.
Обычные SSD имеют размер резервной области в 6-7% от емкости диска, этого размера явно недостаточно для поддержания высокой производительности, корпоративные диски имеют гораздо больший объем резервной области, что напрямую сказывается на их стоимости. Это позволяет им уменьшить износ каждой доступной пользователю ячейки и эффективно работать в RAID-массивах без поддержки TRIM. Хотя если вы заполните твердотельный накопитель «под завязку», то никакой TRIM вам не поможет.
Итак, диск очищен при помощи команды Secure Erase фирменной утилитой и все его ячейки являются свободными. Снимаем показатели быстродействия при помощи AS SSD Benchmark.
Сценарии реального использования:
Производительность данного SSD, по современным меркам, конечно невелика, но нас интересуют не абсолютные числа, а сохранение производительности при работе в тяжелых условиях, в этом случае использование старой модели даже интереснее, если справится она, то современные диски, с более совершенными алгоритмами уборки мусора, справятся тем более.
Деградация производительности на лицо:
Проседание производительности от 20 до 50% в синтетике и 30-35% в сценариях:
Теперь снова выполним Secure Erase и разметим не все пространство диска, выделив под резерв 25%:
Важно! Перед тем как переразметить твердотельный диск его следует полностью очистить от данных при помощи фирменной утилиты для того, чтобы в резервную область попали только свободные ячейки. Если просто удалить разметку и выполнить ее заново или изменить границы разделов, то это не даст желаемого эффекта.
Затем снова заполним диск в среде Windows Server 2003 и удалим данные, после чего еще раз выполним тест:
Диск уверенно держит производительность, так как свободных ячеек для записи достаточно, несмотря на то, что был заполнен полностью и с точки зрения контроллера SSD свободных ячеек в доступной пользователю части диска нет.
Какие выводы следует сделать из этого материала? Несмотря на то, что в сознании многих TRIM является чуть ли не панацеей и обязателен к применению, на производительность диска он не влияет. Это всего лишь способ сделать работу уборщика мусора более эффективной. На производительность диска влияет только то, какое количество свободных ячеек есть в наличии и их достаточности для обслуживания текущих операций записи.
За то, с какой скоростью диск и как эффективно диск способен очищать блоки, отвечает уборщик мусора. Более эффективный алгоритм уборщика позволяет использовать меньший размер резервной области.
Также следует помнить, что в большинстве серверных сценариев команда TRIM просто не требуется, поэтому если выбирать приходится между RAID без TRIM или одиночный диск с TRIM, выбирать следует первое. Тем более, что обеспечить высокую производительность диска несложно самостоятельно.
Использование одиночного диска с более частым бекапом также допустимо, но такое решение принимается, как правило, по экономическим соображениям.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Помогла статья? Поддержи автора и новые статьи будут выходить чаще:
Или подпишись на наш Телеграм-канал:
Все о SSD TRIM
Оглавление
Что такое TRIM
У электронных (SSD) дисков есть отличие от магнитно-механических (HDD) которое влияет на скорость записи. В HDD дисках запись выполняется «поверх» старых данных. Блоки диска, которые ранее содержали данные, а затем эти данные были удалены, просто помечаются как свободные. И когда нужно выполнять запись, контроллер HDD сразу записывает новые данные в эти свободные блоки.
Но при использовании флэш-памяти, блоки которые ранее содержали какую-то информацию, перед записью должны быть очищены. Это приводит к тому, что при записи в ранее использованные блоки скорость записи сильно падает, ведь контроллеру нужно их подготовить для записи (очистить).
Проблема в том, что операционные системы традиционно не работают с файловой системой таким образом, что при удалении файлов очищается содержание блоков на диске. Ведь на дисках HDD в этом не было необходимости.
Поэтому при использовании SSD дисков возникает эффект «деградации производительности». Когда диск новый и все блоки флэш-памяти чистые тогда скорость записи очень высокая, паспортная. Но после того как диск будет полностью заполнен и после этого часть файлов будет удалена, повторная запись будет происходить на более низкой скорости. Из-за того, что контроллеру диска придется очищать ранее использованные блоки флэш-памяти, перед записью туда новых данных.
Падение скорости записи в повторно используемые блоки флэш-памяти может быть очень высоким. До значений близких к скорости записи HDD дисков. При тестировании SSD дисков часто даже проводят отдельную проверку на снижение скорости записи в повторно используемые блоки.
Для борьбы с этим явлением, в новые ОС добавлена дисковая команда ATA TRIM. Драйвер файловой системы при удалении файла отправляет контроллеру SSD диска команду TRIM. По этой команде контроллер SSD диска очищает освобожденные блоки флэш-памяти, но делает это в фоновом режиме, в перерывах между операциями чтения и записи.
Использование этой команды позволяет вернуть полную скорость записи для повторно используемых блоков флэш-памяти. Однако не все ОС поддерживают эту команду. А только относительно свежие версии:
До сих пор популярная 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 это можно сделать при помощи консольной команды:
Где sda ваш SSD диск. Вывод команды должен содержать строку «TRIM supported».
В Windows это можно сделать при помощи программы производителя вашего SSD диска, обычно такие служебные программы есть у всех производителей. Или через тестовую программу для дисков, например HD Tune или SSD Life.
Когда TRIM не работает!
Когда TRIM должен работать
Важно понимать, что функционал TRIM связан не только с версией ОС, но и с файловой системой. Например Windows 7, 8 и 10 поддерживают TRIM, но только для файловой системы NTFS, а на разделах FAT32 эта функция недоступна.
Включение TRIM в Linux
Примечание. В Ubuntu, начиная с версии 14.04, TRIM включать вручную уже не нужно!
Во-первых для использования TRIM, необходимо, чтобы файловая система была ext4.
Во-вторых включение команды TRIM указывается в опции монтирования для раздела ext4 в файле fstab. Конкретно это опция discard.
Таким образом примерная строка fstab может выглядеть таким образом:
UUID=aeade6fd-2b24-4e59-bc8c / ext4 noatime,discard,errors=remount-ro,commit=60 0 1
В Linux можно выполнить команду TRIM и вручную:
В этом примере команда применяется к корневой файловой системе.
Проверка и включение TRIM на Windows 7, 8 или 10
Далее в консоли выполнить команду:
fsutil behavior query disabledeletenotify
fsutil behavior set disabledeletenotify 0
Как выполнить TRIM на разделе NTFS
Если у вас операционная система Windows 7, 8 или 10, тогда можно ничего не делать. Достаточно проверить включена для функция TRIM. Далее Windows будет автоматически отправлять команду TRIM при следующих операциях с диском:
В 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. Команда в терминале:
где /media/ntfs/ примонтированный раздел NTFS.
Как выполнить TRIM на Windows XP и Vista
Ни Windows XP, ни Vista не поддерживают функцию TRIM. Если нужно «тримизировать» SSD диск, который используется в этих ОС, тогда есть следующие варианты:
Но можно и вообще не «заморачиваться» по поводу TRIM на этих ОС. Можно оставить неразмеченой 20-30% от емкости диска и этого будет достаточно для поддержания нормальной скорости записи. Неразмеченой это значит не присвоенной ни одному разделу.
Восстановление удаленных данных
Если вы используете TRIM, о восстановлении удаленных файлов можно забыть. Если вы удалите файл, то его данные на SSD диске будут уничтожены.
Влияние TRIM на скорость записи
Иначе говоря, скорость записи зависит от количества свободного места на диске. Если у вас диск почти полностью заполнен, то скорость записи упадет даже если вы используете TRIM. И наоборот, если у вас 20-30% емкости диска оставлены без разметки (unallocated disk space), тогда можно обойтись и без использования TRIM. Контроллер диска будет использовать неиспользуемую под разделы емкость для выравнивания скорости записи.
Функция TRIM действительно даст возможность поддерживать высокую скорость записи только при двух условиях:
Федеральная сеть магазинов Юлмарт это хорошее место для покупки компьютерной и бытовой техники. Невысокие цены, удобный процесс покупки.
Регистрация в Юлмарт
Если вы, при регистрации, укажете промо-код 6023036, тогда за покупки можно будет получать бонусные баллы, которые вы сможете потратить в Юлмарт.
Помощник.ru, 2016
Что такое функция TRIM и как ее включить?
Сегодня пойдет разговор о так называемой функции TRIM и ее связи с твердотельными накопителями SSD.
Функция TRIM нужна во избежание падения производительности в SSD дисках, и появилась, начиная с версии ОС Windows 7. Сейчас я объясню более подробно о принципе работы TRIM и как проверить, включен ли он на компьютере.
Что такое TRIM?
Для начала разберемся с HDD (обычный жесткий диск с движущимися частями). Большинство файловых систем сейчас разработаны конкретно под HDD и есть следующий вид обработки данных: у нас есть файл, который мы решили записать на жесткий диск, система записывает данные о файле в кластер, хранящемся на диске, а координаты этого файла записываются таблицу адресов под названием MFT (Master File Table). Чтобы получить доступ к этим данным система берет координаты из MFT. Когда мы удаляем файл, то данные из MFT удаляются, но не стираются из ячейки (кластера). После того, как мы решили записать на диск другие файлы, может быть новые, то данные записываются в ячейки поверх удаленных.
Этот вид записи на накопитель никак не подходит для SSD, так как они разработаны по другой технологии. Накопители используют flash-память и запись данных поверх удаленных данных здесь недопустима. Другими словами, исполнялись бы лишние действия, нагружавшие SSD-накопитель: сначала происходит копирование данных из кластера в кэш, потом кластер очищается, начинается запись новой информации, поверх старой. Если в ячейке ничего нет, то есть она пуста, то происходит только запись. Понятное дело, что при записи информации в пустую ячейку, это происходит во много раз быстрее, чем лишние действия, типа перезаписи и замены старых данных. При таких обстоятельствах, SSD диск бы утратил свою изначальную скорость.
К счастью у нас есть технология TRIM, которая решает эту проблему. Простыми словами, как только данные из MFT сотрутся, они удалятся и из ячеек, а потом произойдет запись новых данных.
Кстати говоря, существуют еще и старые SSD накопители, которые не поддерживают TRIM, просто они были созданы под старые операционные системы, где не было этой функции.
Для работы TRIM нужны следующие условия:
А еще нужно, чтобы был установлен драйвер Microsoft Storage, но обычно он устанавливается автоматически, если, конечно, контроллер SATA поддерживает режим AHCI. Еще TRIM не будет работать, если активна функция восстановления системы и, если вы используете RAID-массивы.
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
За последние несколько лет твердотельные накопители (SSD) стали золотым стандартом для современных компьютеров. ПК без SSD со стандартным жестким диском уже воспринимается как представитель самых низких ценовых категорий, где ради экономии отказываются от быстрого накопителя и его преимуществ, вроде быстрой производительности системы. Если в вашем компьютере еще нет SSD, советуем вам как можно скорее раздобыть себе один такой (прирост скорости работы системы гарантирован). Те, кто уже купил себе SSD, наверняка хотят максимально продлить его срок службы и поддерживать накопитель в хорошем состоянии с заявленными производителем скоростями. Функция TRIM – один из методов обслуживания SSD, который является крайне важным инструментом для поддержания максимальной скорости накопителя. В этой статье вы узнаете все о том, что такое TRIM для SSD и как проверить, включен ли TRIM для SSD.
Что это за функция TRIM для SSD
Твердотельные накопители предлагают существенный прирост скорости чтения и записи по сравнению с традиционными жесткими дисками, на которых для поиска информации надо вращать физический диск и перемещать считывающую головку. Но особенности работы SSD требуют наличия дополнительных команд, чтобы предотвратить чрезмерно быстрый износ и деградацию скорости. Здесь в игру вступает команда TRIM.
TRIM – это специальная команда, с помощью которой операционная система сообщает контроллеру SSD (TRIM не распространяется на обычные жесткие диски), какие блоки информации больше не нужны и которые можно соответственно очистить. Это обусловлено принципом строения SSD. Информация на диске разделена на блоки, а блоки на «страницы». Чтобы записать новую информацию в ранее используемое место, диск сначала должен полностью очистить страницу, а затем поместить в нее новую. Это негативно сказывается на производительности и скорости вашего диска, а также ускоряет его износ. После использования команды TRIM сведения будут записываться в ячейки памяти сразу и без просадок производительности, поскольку операционная система знает точно, где расположена информация, которую вы удаляете или перемещаете.
Стоит отметить, что для максимальной производительности вашего диска рекомендуется использовать режим AHCI. TRIM для SSD может работать и с IDE, но при этом возможны некоторые ограничения, плюс диск работает медленнее. Если ваш SATA-контроллер работает в режиме IDE, советуем вам при первой же возможности включить AHCI в Windows 10.
Также имейте в виду, что команда TRIM недоступна для внешних SSD, поскольку она связана со стандартом SATA. Так как внешний SSD подключается по USB, а не SATA, TRIM недоступна для съемных носителей. Исключение составляют лишь SSD с интерфейсом Thunderbolt 3.
Как проверить состояние TRIM для SSD
Команда TRIM для твердотельных накопителей поддерживается в актуальных операционных системах Windows, а именно Windows 7, Windows 8.1 и Windows 10. В Windows XP и Vista нет поддержки TRIM, поэтому она реализуется путем сторонних приложений, вроде Intel SSD Toolbox или Samsung Magician. Лишь имейте в виду, что вам надо будет искать старые версии для Windows XP / Vista, поскольку их основная и расширенная поддержка уже давным-давно прекращена и подавляющее большинство разработчиков больше не предлагают свой софт для этих версий операционной системы.
По умолчанию система держит механизм TRIM включенным, но все же бывают случаи, когда TRIM для SSD отключен по каким-то странным и неизвестным причинам. Именно поэтому есть смысл проверить, включена ли в вашей системе данная функция. Проверка состояния TRIM для SSD осуществляется через командную строку.
Как включить TRIM для SSD в Windows 10
Если командная строка показала, что TRIM для SSD у вас отключена, значит ее надо бы включить. Причины для включения этой функции описаны выше. Если говорить проще, то с TRIM для SSD диск работает дольше, диск работает быстрее. Прежде чем включать TRIM, проверьте, правильно ли определяется ваш SSD в системе.
Для справки: шаги, описанные в инструкции ниже, требуют наличия прав Администратора. Если таковых у вашей учетной записи нет, придется ввести пароль от профиля с правами Администратора.
Теперь надо запустить командную строку с правами Администратора.
Как отключить TRIM для SSD
Надо сказать, что нет смысла отключать TRIM для SSD. Все же, если вам так уж надо отключить TRIM для SSD в Windows 10 (попутно можете рассказать в комментариях, для чего вы это делаете), выполнить это можно следующим образом:
Несколько других советов по оптимизации дисков вы можете найти в статье «Как сделать дефрагментацию диска в Windows 10». Если же вы только планируете приобрести себе SSD, советуем вам почитать статью «Как выбрать SSD для компьютера» там вы найдете много информации о типах SSD-дисков, ячейках памяти и различиях между ними.
Как включить TRIM SSD диска на Windows 10 и других версиях ОС
Версии ОС Виндовс 7 и выше оснащены функцией TRIM, то есть, начиная с седьмой версии, включить ТРИМ Windows 7, 8, 10 стало обязательным условием. Она имеет важное значение для сохранения исходной скорости записи. Роль ТРИМ – освобождение твердотельных накопителей от ненужных записей. Неиспользуемые участки памяти стираются начисто, со всей информацией. Если со временем производительность снижается, значит SSD-диск без поддержки TRIM. К счастью, функцию возможно подключать самостоятельно.
Что такое TRIM в твердотельных накопителях
TRIM — команда, которая дает возможность ОС предупреждать накопитель ССД о том, где хранятся неактуальные записи. Рекомендует накопителю подчистить их для повторного использования. Таким образом ТРИМ-поддержка способствует тому, что носитель меньше зависит от захламленности. Поддержка ТРИМ удержит скорость записи, перезаписи от снижения.
ТРИМ ССД необходим для нормальной скорости записи
SSD (Solid State Drive) – это устройство для накопления и хранения информации. В нем используется твердотельная флэш-память. SSD может полностью заменять HDD (жесткий диск)
Важно! Главное его достоинство – скорость доступа к данным, потому что нет необходимости переходить из ячейки в ячейку. Повышается скорость загрузки приложений, так как облегчается и ускоряется поиск нужной информации на диске.
Недостатком можно считать ограничение кратности повторной записи. SSD на базе флэш-памяти допускает до 500000 повторных стираний и записей. Некоторые типы флэш-памяти имеют возможность выдерживать до 1,5 миллионов операций для каждой ячейки памяти. Немного увеличить данный параметр позволяет выравнивание износа, то есть равномерное распределение часто используемых блоков.
В самом начале использования SSD дисков ячейки flash совершенно пустые, что позволяет производить запись на тех скоростях, которые указаны в техдокументации. Со временем блоки ССД диска заполняются и, наконец, он заполнен. Чтобы дальше работать придется удалить ненужные файлы. Но это не значит, что информация будет удалена полностью. Она остается во flash памяти. Контроллер ССД будет стирать данные прямо перед следующей записью. Поэтому запись будет притормаживать.
Чтобы поддержать скорость на уровне, новые ОС стали дополнять функцией ATA TRIM. Ее задача – счищать неактуальные блоки памяти непрерывно. То есть контроллер диска получит команду от TRIM и начнет чистку независимо от выполняемой в текущий момент операции. Таким образом производительность работы компьютера на старом носителе не будет отличаться от возможностей нового диска.
Как проверить включена ли функция TRIM
Проверить подключена ли услуга TRIM SSD накопителя отдельно взятого компьютера можно. В начале следует выяснить имеются ли права администратора. Если с этим порядок, то наличие услуги выясняют посредством командной строки.
Проверка включения функции
Процесс по шагам:
Следствием действий будет отчет со списком подключенных к услуге файлов. Когда в конце надписи, после знака равенства, стоит цифра 1, значит ТРИМ-поддержки нет. Если же «disabledeletenotify=о», то услуга подключена.
Внимание! Об отсутствии услуги ТРИМ для какого-то файла говорит надпись «не установлен»,
Как включить TRIM SSD диска на Windows 10
Во всех современных ОС Виндовс команда ТРИМ подключена изначально. Если таковая отсутствует, то включить ТРИМ Windows 10, 7, 8 можно самостоятельно. Редко, но бывает, что операционка не признает состояние ССД вследствие непредвиденного сбоя работы ОС. Чтобы выяснить причину, рекомендуется провести такую процедуру:
Включение SSD диска
В появившемся окошке следует найти столбик «Тип носителя». Когда он обозначен как «Твердотельный накопитель», а не «Жесткий диск», значит ATA TRIM подключен. Обратная ситуация означает, что Виндовс не обнаружил SSD и поэтому ТРИМ отключен.
Чтобы выправить ситуацию, то есть оптимизировать функции ОС, нужно и дать ей соответствующую команду. Порядок действий:
Почти 100% услуга окажется активной. Впоследствии следует заняться ее функционалом вручную.
Как включить TRIM SSD диска на Windows 10?
Включение функции на Windows 10 происходит в той же командной строке:
Особенности включения функции Трим на Windows XP. 7
Подходящие для ОС Виндовс 7, 8, 10 методы подключения и отключения услуги поддержки SSD старыми версиями, к примеру, XP, не поддерживаются. Там нет возможностей для правильного подключения накопителя ССД. То есть команда ТРИМ вообще отсутствует. Операционка не предупреждает диск-накопитель о наличии неиспользуемых ячеек, которые нужно удалять. Но выход есть – это использование соответствующих сторонних утилит. Пользователи рекомендуют софт Intel SSD Toolbox.
Intel SSD Toolbox
Насколько критично для Виндовс ХР отсутствие функции TRIM? Все зависит от того, на каком контроллере SSD-накопитель. Отлично, если это:
Хоть и с течением времени (с заполнением ячеек памяти) производительность диска будет снижаться, но такой носитель будет иметь скорость выше, чем у жесткого диска.
Их преимущество в том, что они аккумулируют все незанятые места памяти и держат в резерве. Тем более, собирая активный мусор, утилита пополняет эти резервы. В отличие от TRIM, который чистит память диска постоянно, перечисленные внешние софты дают время на хранение даже давно неиспользуемых файлов, в расчете на спрос на них. Удаляют лишь гарантированно ненужную информацию.
У всех этих программ отличный алгоритм внутренней работы. Они не нуждаются в функции ТРИМ. Между тем есть утилиты для подключения АТА TRIM к операционке Windows XP. На официальном сайте производителя OCZ можно купить утилиту O&O Defrag. Данный дефрагментатор делает возможным совмещение диска с каким угодно контроллером и SSD TRIM.
Предназначение TRIM – это подавать сведения о неиспользуемых данных контроллеру ССД-накопителя. Работа контроллера будут зависеть от технических характеристик носителя.
Если подвести итог, то для Виндовс ХР желателен диск SSD с командой TRIM, то есть с внутренней самоочисткой.
Рекомендация! Для работы на Виндовс ХР желательно приобретать более дорогие и качественные SSD носители и оставлять в резерве около 20% свободной памяти.
Устройство SSD диска
Windows 7 на SSD TRIM изначально обеспечен твердотельным накопителем. В ОС дефрагментация для SSD отключена. Именно этот накопитель показывает оптимальные результаты при общем сканировании пространства памяти. Поочередное считывание по отдельным кускам влияет на скорость действий (записи, чтения). На SSD TRIM Windows 7 неактивны функции для загрузки утилит, типа:
Технологии больше рассчитаны для обычных НЖМД (накопитель на жестких магнитных дисках). При произвольном режиме чтения могут задерживать рабочий процесс.
Отключение TRIM на SSD
Отключение ATA ТРИМ не очень отличается от подключения. Там также задействована «Командная строка» и необходимы права администратора. Для отказа от услуги следует:
Важно знать! Функция ТРИМ будет неактивна если в конце записи проставить «1» вместо «0».
Редко встречается ситуация, при которой требовалось бы отключение поддержки ATA TRIM. Наоборот, возникает необходимость его включать. Функция увеличивает время службы накопителя. Она непрерывно очищает ячейки памяти, что ведет к увеличению производительности работы ПК. При отключенной услуге рабочие качества компьютера существенно снижаются. Накопитель гораздо быстрее изнашивается и выходит из строя.
Как проверить или включить SSD TRIM
Даже небольшая сумма может помочь написанию новых статей 🙂
Или поделитесь ссылкой на эту статью со своими друзьями.
Опубликовано: 01.03.2014 Последнее обновление этой статьи: 13.03.2019
В этой статье описание ATA команды TRIM, которая используется для повышения скорости записи на SSD диски.
Использование ATA команды TRIM, не во всех случаях происходит автоматически, в некоторых ситуациях выполнение этой команды со стороны ОС необходимо включать явным образом.
Для начала нужно убедиться в том, что ваш SSD диск поддерживает эту команду. Впрочем, все новые диски ее поддерживают. Сделать такую проверку можно любой современной программой по работе с дисками. Например в Linux это можно сделать при помощи консольной команды:
Где sda ваш SSD диск. Вывод команды должен содержать строку «TRIM supported».
Оглавление
Как работает TRIM
Одна из основных функций любой файловой системы это хранение списка секторов диска, в которых записан тот или иной файл. То есть, с каждым файлом связан список дисковых секторов.
Когда вы удаляете файл на SSD диске, операционная система отправляет контроллеру SSD диска команду TRIM и вместе с ней список секторов которые можно очистить. Контроллер записывает эти сектора в очередь своей подпрограммы, «сборщика мусора». А эта подпрограмма обрабатывает все сектора из списка.
Сборщик мусора работает в те моменты, когда диск простаивает. То есть, когда операционная система не присылает запросы на чтение или запись данных. Поэтому с момента получения команды TRIM, до фактического удаления этих секторов проходит некоторое время.
Если в очереди на тримеризацию много секторов, их очистка может занять продолжительное время. Например, если выполнить быстрое форматирование целого раздела, то TRIM такого объема может быть длительным.
Однако нет необходимости сидеть и ждать когда процесс закончится. Даже если диск будет выключен, то обработка очереди возобновится после его включения.
Когда TRIM не работает!
Когда TRIM должен работать
В любом из этих вариантов команда TRIM отправляется только после удаления файлов. Или отдельно, принудительно для всего свободного места, если ОС поддерживает такой вариант.
Включение TRIM в Linux
Примечание. В Ubuntu, начиная с версии 14.04, ничего дополнительно делать не нужно. Все работает из коробки.
Во-первых для использования TRIM, необходимо, чтобы файловая система была ext4.
Во-вторых включение команды TRIM указывается в опции монтирования для раздела ext4 в файле fstab. Конкретно это опция discard.
Таким образом примерная строка fstab может выглядеть таким образом:
UUID=aeade6fd-2b24-4e59-bc8c / ext4 noatime,discard,errors=remount-ro,commit=60 0 1
В Linux можно выполнить команду TRIM и вручную:
В этом примере команда применяется к корневой файловой системе. Если есть несколько разделов ext4, тогда такую команду нужно выполнить для каждого такого раздела.
Проверка и включение TRIM на Windows 7, 8 или 10
Далее в консоли выполнить команду:
fsutil behavior query disabledeletenotify
fsutil behavior set disabledeletenotify 0
Как выполнить TRIM на разделе NTFS
Если у вас операционная система Windows 7, 8 или 10, тогда можно ничего не делать. Достаточно проверить включена для функция TRIM. Далее Windows будет автоматически отправлять команду TRIM при следующих операциях с диском:
В 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. Команда в терминале:
где /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 диска очищает освобожденные блоки флэш-памяти, но делает это в фоновом режиме, в перерывах между операциями чтения и записи.
Использование этой команды позволяет вернуть полную скорость записи для повторно используемых блоков флэш-памяти. Однако не все ОС поддерживают эту команду. А только относительно свежие версии:
До сих пор популярная WIndows XP (как и Vista) не поддерживают эту команду.
Обходной вариант для старых ОС, заключается в использовании, сторонних программ. Например это может быть программа hdparm (версии 9.17 и выше) или фирменные программы производителя SSD диска, например Intel SSD Toolbox.
Есть две модели SSD дисков у которых деградация скорости повторно используемых блоков выражена слабее чем у других:
Прошивки (микропрограмма, firmware) таких дисков умеют частично очищать неиспользуемые блоки без команды TRIM. Восстанавливая скорость записи до полной паспортной скорости записи.
В 2019 многие модели SSD дисков умеют самостоятельно «собирать мусор». Точнее по конкретной модели можно узнать почитав обзоры тестов. В серьезных Интернет-изданиях, среди прочих тестов, делают и тест на способность диска самостоятельно выполнять очистку блоков.
Команда TRIM может не работать если SATA контроллер материнской платы был установлен в режим IDE (для совместимости со старой ОС или программой).
Команда TRIM чаще всего отключается при использовании RAID массива.
Восстановление удаленных данных
Если вы используете TRIM, о восстановлении удаленных файлов можно забыть. Если вы удалите файл, то его данные на SSD диске будут уничтожены.
Влияние TRIM на скорость записи
Иначе говоря, скорость записи зависит от количества свободного места на диске. Если у вас диск почти полностью заполнен, то скорость записи упадет даже если вы используете TRIM. И наоборот, если у вас 20-30% емкости диска оставлены без разметки (unallocated disk space), тогда можно обойтись и без использования TRIM. Контроллер диска будет использовать неиспользуемую под разделы емкость для выравнивания скорости записи.
Но резервируя свободное место важно понимать, что это нужно делать на новом SSD диске, до начала его использования. Если вы удалите уже существующий раздел. Или уменьшите размер существующего размера, блоки флеш-памяти, занятые этим разделом не будут очищены. Они останутся занятыми до тех пор, пока вы снова не используете это свободное место.
Если вы хотите зарезервировать свободное место на полностью размеченном SSD диске, тогда нужно выполнить принудительную команду ТРИМ для всего раздела и только после этого удалять раздел (или уменьшать его размер).
Функция TRIM действительно даст возможность поддерживать высокую скорость записи только при двух условиях:
Иван Сухов, 2014, 2016, 2019 гг.
Даже небольшая сумма может помочь написанию новых статей 🙂
Или поделитесь ссылкой на эту статью со своими друзьями.