Что такое trim ssd
Что такое 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». Не забывайте делиться постами из моего блога в социальных сетях — так вы помогаете его продвижению. До скорой встречи!
Поднимаем производительность 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 обращайтесь на сайты компаний.
Как включить поддержку 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
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 имеет те полезные свойства, что действительно дает возможность поддержать максимально высокую скорость записи, но только при двух условиях: