Как посмотреть включен ли trim

Как проверить, включён ли TRIM для вашего SSD (и как включить TRIM)

Windows 7 и более поздние версии настроены на автоматическое включение TRIM на твердотельных накопителях. Вам не нужно беспокоиться о включении TRIM самостоятельно. Но если вы хотите ещё раз проверить, включена ли функция TRIM в Windows, вы можете это сделать.

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

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

Вам нужно будет проверить это в окне командной строки администратора. Чтобы открыть окно командной строки администратора в Windows 10 или 8.1, нажмите Win+x (или щёлкните правой кнопкой мыши кнопку «Пуск») и выберите «Windows PowerShell (администратор)».

В Windows 7 откройте меню «Пуск», найдите «Командная строка», щёлкните правой кнопкой мыши ярлык «Командная строка» и выберите «Запуск от имени администратора».

Выполните следующую команду в окне командной строки:

Вы увидите один из двух результатов. Если вы видите DisableDeleteNotify = 0, TRIM включён. Все хорошо, и вам не о чем беспокоиться. (На первый взгляд это немного сбивает с толку — при значении 0 параметр DisableDeleteNotify отключён. Это двойное отрицание, что означает, что функция «DeleteNotify», также известная как TRIM, включена.)

Если вы видите DisableDeleteNotify = 1, TRIM отключён. Это проблема, если у вас SSD.

Как включить TRIM

Windows должна автоматически включать TRIM, если у вас установлена современная версия Windows с современным твердотельным накопителем. Если TRIM отключён, возможно, Windows знает что-то, чего не знаете вы, и TRIM не следует включать для диска. Возможно, это очень старый твердотельный накопитель. Однако также возможно, что TRIM действительно должен быть включён, но что-то пошло не так в процессе автоматического обнаружения.

Если TRIM не включён, и вы хотите его включить, вы можете сделать это принудительно, выполнив следующую команду в окне командной строки с правами администратора:

(Если вы по какой-то причине захотите впоследствии отключить TRIM, запустите указанную выше команду с 1 вместо 0.)

Как проверить, запускается ли Windows Retrim по расписанию

В Windows 8 и 10 Windows автоматически оптимизирует твердотельные накопители по расписанию, выполняя операцию «retrim». Это необходимо, потому что, если к диску отправляется сразу много запросов TRIM, запросы могут накапливаться в очереди, а затем отбрасываться. Windows регулярно выполняет оптимизацию «retrim», которая гарантирует, что все запросы TRIM, отправленные на диск, действительно обрабатываются.

Функция «retrim» включена только в Windows 8 и 10, поэтому пользователям Windows 7 не нужно об этом беспокоиться.

Чтобы проверить, выполняет ли Windows оптимизацию повторной обрезки по расписанию, откройте приложение Оптимизация дисков, для этого введите в системный поиск «Оптимизация дисков» и запустите предложенное приложение.

Нажмите кнопку «Изменить параметры» и убедитесь, что «Выполнять по расписанию (рекомендуется)» включён. По умолчанию Windows будет запускать оптимизацию ретримма по еженедельному расписанию.

Опять же, вам не о чем беспокоиться. Если на вашем компьютере есть SSD, Windows должна автоматически включать TRIM и включать оптимизацию диска с перезагрузкой по расписанию. Эти параметры должны быть включены по умолчанию. Но стоит взглянуть на них, чтобы убедиться, что все работает правильно.

Источник

Поднимаем производительность 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 некоторых производителей обязательно приходится отправляться на сайт его сайт и скачивать соответствующий драйвер – разница со стандартным может превышать двукратную!

Читайте также:  медицинский пост в поликлинике что это в москве в 2021

Вот теперь, вроде, всё.

Как оказалось – не всё так страшно, как выглядело не первый взгляд. От пользователя требуется выполнение всего нескольких рекомендаций, чтобы система работала корректно и радовала производительностью твердотельного накопителя долгое время. Повторим их напоследок – чистый дистрибутив операционной системы, актуальные драйверы и прошивки от производителя, а также отсутствие сторонних «настройщиков» системы, которые, по заверению их разработчиков, увеличивают производительность на 146%. Если проблема не аппаратная, то никаких нареканий к диску у вас не будет в течение всего срока жизни вашей системы. Так что никакого длинного заключения-словоблудства не будет – всё, что надо было сказать, уже сказано. Ёмких вам SSD, их высоких скоростей и стабильной работы!

Для получения дополнительной информации о продуктах HyperX и Kingston обращайтесь на сайты компаний.

Источник

Когда вы удаляете с жёсткого диска какой-нибудь файл, операционная система очищает соответствующую ему запись в MFT и помечает файл как удалённый, тогда как физически же он, будучи последовательностью байтов, остаётся на месте, что даёт возможность его восстановления специальными программами. Окончательно такой файл будет удалён только тогда, когда поверх него будут записаны другие файлы либо вы воспользуетесь функцией шрединга — заполнения участков диска, в которых был записан файл, нулями. Такой принцип используется в обычных HDD-дисках. А вот с постепенно вытесняющими их твердотельными накопителями SSD всё немного иначе.

Как включить TRIM в Windows 10 и для чего он нужен

Если в 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 и включить при необходимости

Всем доброго времени суток и всяческих других разностей.

Проверяем, включаем и взаимодействуем с TRIM под Windows

Дабы проверить включен ТРИМ в системе или нет, собственно, нам потребуется консоль, она же командная строка.

В появившейся консоли необходимо ввести команду:

fsutil behavior query DisableDeleteNotify

Ответом будет одна или две строки со значением 0 / 1 в качестве результирующего параметра.

fsutil behavior set disabledeletenotify NTFS 0

fsutil behavior set disabledeletenotify ReFS 0

Соответственно, для той или иной файловой системой (ну вдруг Вы правда за сервером сидите или каким-то волшебным образом зачем-то отформатировали диск в этом формате?).

Если получите ошибку » Отказано в доступе «, то повторите процедуру, запустив консоль от имени администратора (выше написано как это делается). После включения или выключения лучше сделать перезагрузку.

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

Пожалуй, на этом всё. Можно переходить к послесловию.

Послесловие

Такие вот пироги. Надеюсь, что это поможет Вам в решении проблем или просто убедит в том, что с накопителем всё впорядке и он работает на полную мощность (кстати о проверке диска на скорость работы мы уже писали где-то вот тут).

Как и всегда, если есть какие-то мысли, дополнения и всё такое прочее, то добро пожаловать в комментарии к этой статье.

Источник

Вадим Стеркин

Коллега по работе упомянул, что посоветовал купить SSD своему знакомому, хотевшему ускорить работу ноутбука с Windows XP. Я отметил, что тому понадобится стороннее ПО для TRIM. «А что будет с диском без TRIM?», — спросил коллега. Ограничившись кратким ответом, я пообещал ему подробно осветить этот вопрос в блоге. Тем более, что тут есть возможность показать все очень наглядно.

Чтобы понять, в чем заключается смысл TRIM, нужно разобраться, как работает запись данных на диск.

[+] Сегодня в программе

Примечание о Deallocate

Статья была написана до появления на рынке накопителей с интерфейсом NVMe. В нем команда Deallocate является аналогом команды TRIM для ATA. Все написанное в статье в равной степени применимо к TRIM и Deallocate, но я не стал добавлять вторую команду в каждое предложение, чтобы не перегружать текст.

Как данные записываются и стираются с диска

Операционная система общается с жестким диском с помощью механизма адресации логических блоков (Logical Block Addressing, LBA). Например, когда вы сохраняете файл, ОС отправляет команду записи по адресу определенного логического блока. Когда вы удаляете данные с диска, их LBA помечаются свободными.

При этом данные никуда не пропадают до тех пор, пока они не будут перезаписаны новыми.

Этот же принцип работает и в твердотельных накопителях, с той разницей, что в них контроллер сопоставляет LBA со страницами во флэш-памяти. Однако есть одна проблема…

Как работает SSD без TRIM

Представьте гипотетический SSD, состоящий из одного блока в пять страниц по 8KB. Сначала вы создали два файла: книгу Excel и документ Word размерами соответственно 8KB и 16KB. Потом вы удалили первый файл и решили сохранить на диск картинку в формате JPEG размером 24KB.

При отсутствии TRIM весь процесс выглядит так.

Давайте разберем этапы процесса, держа в уме, что контроллер записывает данные в отдельные страницы памяти, но стирать может только целые блоки.

Вы просто сохранили изображение объемом 24KB, но при этом в рамках цикла «чтение — изменение — запись» контроллер прочел 24KB (этап 2) и записал 40KB (этап 5).

Получается, что в самый ответственный момент чип выполнял фактически двойную работу!

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

Как работает SSD с TRIM

Заметьте, основная проблема в том, что контроллер заранее не в курсе, что файл уже не нужен, а точнее, что LBA уже свободен. Смысл команд TRIM и заключается в том, чтобы сообщить об этом контроллеру сразу по факту удаления файла.

Давайте рассмотрим тот же пример, но на сей раз с поправкой на TRIM.

Похоже на игру «найди в картинках N отличий»? Следите за руками контроллера, ибо тут он действует иначе:

Да, чипу пришлось проделать лишнюю работу по считыванию 24KB в кэш (шаг 2), но это он делал в «свободное» время», равно как и запись нужного вам документа Word в очищенный блок.

Но когда поступил сигнал на сохранение картинки, контроллер записал ровно 24KB (шаг 5), поскольку ему уже не нужно было гонять килобайты между кэшем и NAND.

Однако TRIM не решает одну проблему SSD, у которых одно из основных отличий от HDD заключается в перезаписи файлов.

В описанном выше примере с единственным блоком памяти производительность все равно будет страдать при перезаписи файлов. Но когда есть свободная память, твердотельный накопитель выделяет другую страницу в NAND и помечает особым образом страницу с ненужными данными. Она очищается при стирании блока в рамках сбора мусора.

Читайте также:  двери в каменске уральском

Сбор мусора и TRIM

На рисунке ниже представлен процесс записи и удаления файлов с точки зрения ОС и твердотельного накопителя на логическом и физическом уровне. Вы любите большие картинки? 🙂

Из диаграммы видно, что логически ОС и SSD смотрят на ситуацию одинаково — с точки зрения LBA. Но на физическом уровне TRIM играет большую роль. Получив команду об удалении файла, контроллер SSD исключает из рутинных операций страницы NAND, содержащие ненужные данные.

Благодаря TRIM, ненужные данные не считываются и не записываются в другие блоки памяти, поэтому производительность твердотельного накопителя не страдает во время операций записи. С другой стороны, снижается мультипликатор WA, т.е. продлевается срок службы SSD.

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

Подход к сбору мусора определяется прошивкой контроллера, но реальная разница между стратегиями проявляется, пожалуй, лишь под непрерывной и агрессивной нагрузкой.

В этом случае активный сбор мусора помогает поддерживать пусть и не столь высокую, но зато стабильную производительность. Фоновый же сбор мусора может обеспечивать более высокую пиковую производительность, но обратной стороной медали будет существенное снижение скорости в худших сценариях.

Нужна ли SSD дефрагментация

Наверное, вы слышали, что она не нужна. Но ведь SSD фрагментируются! Представьте диск объемом 128GiB, на котором занято 100GiB. Оставшееся свободное пространство состоит из блоков, в каждом из которых есть занятые страницы памяти. Это называется фрагментация флэш-памяти.

Вы начали активно записывать данные, заполняя диск. Контроллер, который не убирался в своей квартире, столкнется с необходимостью перемещать данные туда-сюда, выполняя операции «чтение – изменение – запись».

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

Заметьте, это задача контроллера, а операционная система тут вообще ни при чем! На диаграмме выше сопоставьте логический вид ОС и физический вид SSD. Операционная система видит логические блоки LBA, но при этом понятия не имеет, в каких блоках и страницах NAND хранятся данные!

Хотя контроллер оптимально разложил данные во флэш-памяти, с точки зрения ОС файлы могут быть разбросаны по диску. Это называется фрагментация файловой системы, но она не имеет значения для SSD.

Поэтому твердотельным накопителям не нужна дефрагментация средствами ОС или сторонних программ. Она вынуждает контроллер перемещать данные по диску без насущной необходимости. Теоретически ненужные операции записи снижают срок службы накопителя. Но на практике дефраг делается не так уж и часто, чтобы «убить SSD».

Поддержка TRIM и Deallocate в Windows

TRIM — это команда ATA, которая может передаваться в режимах AHCI и IDE.1 В дисках NVMe команда Deallocate является эквивалентом TRIM в ATA, поэтому на практике разницы нет.

В ОС Microsoft TRIM поддерживается начиная с Windows 7. В Windows Vista и XP нужны костыли в виде стороннего ПО (читатель блога Виталий К. © так и не прислал обещанную инструкцию, но поисковики никто не отменял). Deallocate поддерживается в Windows 8 и новее.

Обычно, работу TRIM проверяют командой fsutil. На самом деле она показывает лишь то, что TRIM включен, т.е. ОС посылает команды контроллеру. Но утилита fsutil понятия не имеет, что происходит с ними потом.

Как проверить, работает ли TRIM в Windows

Вопрос, доходят ли команды TRIM до контроллера SSD, вовсе не такой праздный, как может показаться на первый взгляд. С одной стороны, обмен данными между ОС и чипом твердотельного накопителя ведется через контроллер SATA с помощью драйвера, а с другой – нельзя исключать дефект прошивки контроллера SSD.

Утилита TRIMcheck

Недавно волны Интернета вынесли к берегу маленькую утилиту TRIMcheck, с помощью которой проверить работу TRIM очень просто. (Примечание. По сообщениям читателей, утилита не сработает, если диск сжат (флажок в свойствах диска.)

На рисунке показано сообщение, подтверждающее работу TRIM.

Вкратце, принцип работы утилиты при этих запусках таков:

Что будет при следующем запуске? Пока файл JSON лежит рядом с утилитой, она сверяется с ним. Удаление файла возвращает вас к шагу 1, а чтение сообщений утилиты снимает лишние вопросы.

Что делать, если TRIM «не работает»

Надо понимать, что контроллер SSD вовсе не обязательно бросится удалять данные по факту получения команды, особенно если он склонен к сбору мусора при бездействии. У меня в ноутбуке накопитель на SandForce прибрался сразу, а в планшете SanDisk на собственном контроллере отреагировал с солидной задержкой по времени.

Если утилита указывает на неработающий TRIM, перед следующим ее запуском:

Допустим, и на следующий день вы обнаружили, что данные до сих пор не удалены. Либо контроллер до сих пор не выполнил сбор мусора, либо у него проблема с TRIM.

1. Установите драйвер SATA последней версии

В свойствах контроллера вы можете посмотреть, используется стандартный драйвер (msahci.sys) или сторонний, как показано на рисунке ниже.

Обновление стороннего драйвера до последней версии – хорошая идея! Если вы не можете найти ее на сайте поставщика, нажмите здесь. После установки драйвера перезагрузитесь и заново выполните тест TRIMcheck.

2. Переключитесь на стандартный драйвер от Microsoft

Если у вас самый свежий сторонний драйвер, переход на msahci — это хороший способ исключить переменную драйверов из уравнения.

После перезагрузки будет использоваться драйвер msahci.sys.

3. Обновите прошивку SSD

Если пляски с драйверами не помогают, можно попробовать обновить прошивку накопителя. Вы найдете ее в разделе поддержки (Support) на сайте производителя.

А у вас все нормально с TRIM?

Напишите в комментариях, работает ли TRIM в вашем SSD, указав модель. Быстро ли выполняет уборку контроллер вашего SSD или ждет значительное время?

Следующая запись блога выйдет после майских «каникул».

Подборка ссылок, развенчивающих миф о том, что TRIM работает только в AHCI.↩

Метки: NTFS, оптимизация Информация в статье применима к Windows 7 и новее

Об авторе

Вас также может заинтересовать:

Я в Telegram

Подпишитесь на канал и читайте интересные записи чаще! Есть вопросы? Задайте их в чате.

комментариев 286

Работает.
Быстро работает.

Программа сообщает, что не работает. Может конечно же время нужно. Не самый навороченный у меня SSD — OCZ-Vertex3

А вот ниже у Юрия такой же накопитель без проблем. Ищите причину.

OCZ-VERTEX3 (80 GB)
Работает.
Быстро.

На рисунке ниже представлен процесса записи и удаления файлов с точки зрения ОС и твердотельного накопителя на логическом и физическом уровне.

Недавно приобрел себе SSD Plextor M5S 128Gb, установил Windows 8 и забыл про его обслуживание, даже тесты скоростей не проверял — работает шустро, а это все, что мне надо. Знаю, что система сама делает то, что правильно (правда, не смотрел, дефрагментирует ли его система, но заполнен накопитель пока мало, так что рассмотрю этот вопрос позже), знаю, что у контроллера моего SSD все в порядке с TRIM (по обзорам), но после этой записи все равно это проверю :).

Михаил, опечатку поправил, спасибо.

Недавно приобрел себе SSD Plextor M5S 128Gb, установил Windows 8 […] (правда, не смотрел, дефрагментирует ли его система

Не забудьте убедиться в этом через месяц-полтора после покупки.

OCZ-VERTEX4 128Gb
Работает
запустил через рекомендуемые 20 секунд — уже прибрался

Trim работает.
В середине прошлого года была проблема, машина ребутилась каждые полчаса, пока прошивку диску не сменил.
Какая была взаимосвязь так и не понял, но по логам винт просто уходил в сон и не просыпался.

у меня OCZ-Vertex3 120 Г с виндой 8. Работает ок. Быстро все летает. Я даже наклейку наклеил из его комплекта: «Мой SSD быстрее твоего HDD» ))))) теперь стало еще быстрее летать все! :))))

Здравствуйте, отвечая на вопрос в конце статьи:
OCZ Vertex 4 60 Гб, TRIM выполнил при повторном запуске утилиты, через

Agility3 в ноутбуке под win7 — trim исправно работает. Потребовалось меньше 20сек.

С данным устройством уже возникали проблемы ранее, под win8 ноут начал бросаться синими окнами без причины по несколько раз на день.
Обновление прошивки исправило ситуацию. Видимо OCZ сделало именное такое оповещение для потребителей о выходе новой прошивки 🙂

Алексей, у OCZ есть возможность подписаться на уведомления о выходе новых прошивок. Иногда полезно следить за историей изменений.

Да, действительно с помощьую trimcheck очень удобно проверять, работает ли TRIM.
Как сказано в статье, можно принудительно TRIM’мить SSD диск в Win8, запустив dfrgui/defrag и сделав «оптимизацию» SSD-дисков.

У меня на пятилетней плате ASUS P5KC (ICH9) с модиф. BIOS для включения AHCI и Win8 команда TRIM отрабатывается успешно, 2 SSD-диска в системе, все летает. 🙂
Kingston SSDNow V200 128Gb и Verbatim SATAIII 120Gb.

Накопитель Corsair FORCE 180 GB Sata 3.

TRIM работает и очень быстро. Практически моментально.
Спасибо за статью!

Михаил, да, SandForce очень активно прибирается.

Проверил утилитой.TRIM не работает.При поиске драйвера обнаружил,что есть только для xp и windows 8.какой-нибудь из них на windows 7 пойдет?

На основе предоставленной информации можно посоветовать лишь пробовать драйвер для 8. Но со стандартным должно работать вообще-то.

samsung ssd 840. Срабатывает сразу. секунд 15

Да, лентяй я))
Для более лёгкого гуглинга намекну- утилита O&O Defrag версии 15 и старше. Дальше разберутся))

У меня она посылает команду трим каждые 6 часов. После ручного выполнения команды утилита TRIMcheck показала, что трим выполняется.
На счёт фрагментации файловой системы- я всё же считаю, что её иногда надо дефрагментировать. При фрагментированной ФС размер дисковых структур растёт, они больше занимают в оперативной памяти, больше будет операций чтения- записи, связанных с обслуживанием ФС. Я провожу её раз в три месяца.

Виталий, поясните всю логику цепочки, желательно со ссылками на источники информации.

При фрагментированной ФС размер дисковых структур растёт, они больше занимают в оперативной памяти, больше будет операций чтения- записи, связанных с обслуживанием ФС

Win7, SSD Intel 520 180 Gb, пары минут хватило.
А какой смысл оценивать делается ли TRIM моментально после стирания или через какой то промежуток времени? Главное чтобы операция была выполнена.

Vadim Sterkin: Виталий, поясните всю логику цепочки, желательно со ссылками на источники информации. »

Это простая логика, ссылок на которую я дать не могу)) Сами подумайте и придёте к такому же выводу. Информация о расположении кучи разрозненных кластеров не в воздухе хранится, а в MFT на диске.

Угу, в MFT на диске. Поэтому для меня неочевидна связь с повышенным использованием оперативной памяти (равно как и насколько это существенно). Что же касается операций чтения/записи в MFT, то я не вижу, как их объем сопоставим с дефрагом.

Vadim Sterkin: Поэтому для меня неочевидна связь с повышенным использованием оперативной памяти »

В памяти кэш хранится, как файлов, так и самой MFT. И чем она больше, тем меньше остаётся места для файлов. Существенно ли это? ХЗ. Вряд ли. Но лучше меньше, чем больше.

Vadim Sterkin: Что же касается операций чтения/записи в MFT, то я не вижу, как их объем сопоставим с дефрагом. »

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

В памяти кэш хранится, как файлов, так и самой MFT. И чем она больше, тем меньше остаётся места для файлов.

Гм… а почему вы думаете, что Windows загружает в кэш всю MFT? Кэш нужен для файлов, к которым часто осуществляется доступ.

Существенно ли это? ХЗ. Вряд ли. Но лучше меньше, чем больше.

Это не ХЗ, это интересно. Нужно вспомнить, что для записей каждого файла в MFT отводится 1KB (если файл 0

Читайте также:  марево что это такое

А можно поподробнее про уход ссд в сон? Дело в том, что у меня так же периодически перезагружается компьютер (не раз в пол часа, реже, но все же) и после перезапуска ссд не видно в БИОСе. Когда ПК выключаешь полностью на 3-5 минут и включаешь снова, вполне спокойно грузится операционка.

У меня OCZ-AGILITY4 судя по всему с прошивкой 1.4.1.

И насколько я знаю при прошивки ссд, данные стираются полностью. Если сделать резервный образ диска (разделов на нём) то после обновления проблем не будет с восстановлением из образа.

Обновление прошивки вовсе необязательно сопряжено со стиранием данных на диске. В большинстве случаев обходится без этого. В случае с вашим диском, прошивки выше 1.4 недеструктивны, но обновление до текущей 1.5.2 производится в два этапа (первый — до 1.4.1.2).

Win8, OCZ Vertex 4, TRIM работает.

OCZ Vector 128GB прошивка 2.0 утилита выводит : CONCLUSION : INDETERMINATE

Михаил, поскольку вы поскупились на подробности, могу лишь предположить, что между запусками утилиты прошло больше двух минут и/или в системе выполнялись какие-то другие действия.

Vadim Sterkin: Гм… а почему вы думаете, что Windows загружает в кэш всю MFT? »

Я так не думал. Да и занимает она в случаи больших дисков сотни мегабайт, никто в здравом уме столько в оперативную грузить не будет.

Vadim Sterkin: Нужно вспомнить, что для записей каждого файла в MFT отводится 1KB (если файл 0

Эти данные к тому, что размер MFT больше зависит от кол-ва файлов, а не от кол-ва фрагментов.

Прикольно.
OCZ-VERTEX2 fw 1.37, 90gb. 55,4 свободно — не работает.
мдеее 🙁

Vadim Sterkin: Обновление прошивки вовсе необязательно сопряжено со стиранием данных на диске. В большинстве случаев обходится без этого. В случае с вашим диском, прошивки выше 1.4 недеструктивны, но обновление до текущей 1.5.2 производится в два этапа (первый — до 1.4.1.2).
»

Но как я полагаю, бек-ап все же сделать не помешает… Верно?

Бэкап у вас должен создаваться регулярно 🙂

Vadim Sterkin, win 7 x64, hp pavilion dv6 6b57er
все драйвера последние скачивал с сайта intel
причем это 2-й ssd в этом ноуте первый vertex 4 умер через 4 месяц признали бракованым
Утилиту пробывал запускал через 20 секунд, через 1 минут, 2 минуты. после перезагрузки все ровно такой результат выдает эта утилита

Михаил, удалите JSON-файл и попробуйте снова в безопасном режиме. Поиграйте с драйверами.

Хочу добавить, что статья хорошая. Жаль только, что Вы Вадим не написали ее раньше.
Оказывается все 2 года мой OCZ-VERTEX2 90 гб (прошивка 1.37, свободно 55 гб) работал без TRIM. Вчера обнаружил, что функция TRIM у меня не работает. Спустя нескольких часов бездействия компьютера TRIM не сработал. Подозреваю, что и не работал ранее хотя все тестовые программы заверяют, что TRIM поддерживается, включен и работает. Пытаясь разобраться в этом я понял, было бы неплохо чтобы все отписавшиеся на форуме кроме модели SSD накопителя указали еще модель южного моста и версию драйвера. Поэтому привожу свои ТТХ материнская плата Gigabyte GA-MA790XT-UD4P, чипсет системной платы AMD 790X, система WIN7 64, южный мост AMD SB750, AMD SATA Controller, Дата драйвера 16.06.2011, Версия драйвера 1.2.1.301. AMD заверяет, что TRIM на этом контроллере работает. Накопитель работает в режиме AHCI. После проверки пока никаких манипуляций с драйверами и системой не производил, обдумываю ситуацию. Надеюсь на дельный совет автора и читателей. Спасибо.

было бы неплохо чтобы все отписавшиеся на форуме кроме модели SSD накопителя указали еще модель южного моста и версию драйвера.

Дмитрий, я полностью согласен, но это подсказывает даже Капитан Очевидность 🙂 Сколько можно кормить с ложечки? Тем более, что все известные мне варианты решения я описал. У вас есть еще один.

OCZ Vertex 4 128гб win7 работает моментально
2 х OCZ Vertex 4 256гб и 128гб osx 1.8.3 проверить программой для винды нельзя, но пишет что работают.

Дмитрий, на любой ОС можно проверить с помощью редактора дисков. В принципе, смысл тот же самый, просто TRIMCheck упрощает процесс.

HP Pavilion dv7-6c03er Win7x64
SSD Plextor M5S 128gb FW: 1.03 (90gb свободно)
Установлен 3 недели назад.
TRIM работает.
Спасибо за статью!

Валерий, у меня похожий ноут, dv7t (на Intel). Удобно, что можно совместить SSD+HDD без напряга 😉

OCZ Agility 3 128 Gb, чипсет Intel P965, стандартный контроллер SATA AHCI storahci.sys, Windows 8 x64 PRO — TRIM не работает.

Я смотрю с Agility 3 больше всего проблем.

0. Зачем вы показываете скриншоты русской винды? Кривые локализации же? А в английской версии — раздел Зарезервировано системой — по русски. Для меня лучше английская винда, чем дуррацкие локализации, медленная работа, отсутствие поддержки распознавания речи.
1. SSD OCZ Vertex 3.
2. Windows 8 Pro x64.
3. TRIM работает.

Windows PowerShell
Copyright (C) 2012 Microsoft Corporation. All rights reserved.

TimeGenerated : 4/30/2013 3:13:10 AM
Message : The storage optimizer successfully completed retrim on System

TimeGenerated : 4/30/2013 3:13:07 AM
Message : The storage optimizer successfully completed retrim on Recovery image (E:)

TimeGenerated : 4/30/2013 3:13:01 AM
Message : The storage optimizer successfully completed retrim on Windows (C:)

0. Зачем вы показываете скриншоты русской винды?

Если подумать, можно догадаться самостоятельно. Я уже отвечал на этот вопрос, поэтому приведу цитаты:

SHK: Но, убедительная просьба, в описании выполняемых действий писать и английские оригинальные названия, например: Пуск – Поиск – Журнал событий(Start – Ну положим Search – Event Log?)
Да, у меня английская 7-а; »

Vadim Sterkin: SHK, ваша просьба понятна, но она отклоняется 🙂 Двойное перечисление элементов интерфейса перегружает статью, делая ее неудобной для восприятия. И потом, это же для меня двойная работа — в двух ОС смотреть интерфейс. Отдача невелика, т.к. у большинства моих читателей локализованная система, я ориентируюсь на них.

И хотя вы не хотите вникать, я вам поясню, почему для меня лучше локализованная ОС. Я исторически использовал английский интерфейс, но с Vista перешел на русский, чтобы мои объяснения были понятнее основной части аудитории. Я подстроился под нее, а вам придется подстроиться под мой стиль, если вам действительно интересно то, что я пишу. »

Vadim Sterkin: Вообще, в интерфейсах программ я лучше понимаю английский язык, если таковой используется в оригинале 🙂 Поэтому у меня большинство программ с английским интерфейсом.

А русской Windows я дома пользуюсь только ради того, чтобы мои инструкции и скриншоты были понятнее тем, кому я их предоставляю. »

Vadim Sterkin, JSON-файл удаляется сам кода вылазиет эта надпись, в безопасном режиме утилита показывает тоже самое

Вылазиет? Ок… Я вам еще кое-что предлагал, кстати.

Да, Вадим, удобная вещь 2 HDD на ноуте. Более того планирую установить, вместо оптического привода, переходник и «вернуть» таки
ноуту 2-ой HDD.=)

Да, я так сделал, только у меня 2 SSD + HDD 🙂

Вадим, здравствуйте!
Подскажите правильно ли я понял, что фоновой сбор мусора нацелен на объединение свободного пространства в памяти NAND и для чего в Windows 8 есть отправка набора команд TRIM из оптимизатора дисков, если система итак их отправляет при удалении файла? Ещё я так понял объединение свободных страниц из под удалённых данных без trim произойдёт только если кончится вообще всё место на диске…
Как бы из картинок не понял чем страшна фрагментация памяти.

Crucial m4 за 5 минут уборку не выполнил. Свободно 65,1 из 119ГБ

фоновой сбор мусора нацелен на объединение свободного пространства в памяти NAND

В принципе, да. На некоторых специализированных ресурсах иногда пишут GC / дефраг NAND через слэш, но в любом случае эти процессы взаимосвязаны.

и для чего в Windows 8 есть отправка набора команд TRIM из оптимизатора дисков, если система итак их отправляет при удалении файла

На случай, если во время удаления контроллер «пропустил» команду (например, было сильно занят чем-то другим). Я не думаю, что имеющиеся сейчас контроллеры сильно ориентируются на это, но будущие вполне могут учитывать.

Ещё я так понял объединение свободных страниц из под удалённых данных без trim произойдёт только если кончится вообще всё место на диске…

Не факт. Зависит от алгоритмов контроллера.

Как бы из картинок не понял чем страшна фрагментация памяти.

Сравните работу SSD с TRIM и без.

Извиняюсь, отработало быстро. В ходе предыдущих экспериментов отключил отправку trim команд системой и забыл вернуть обратно.

Спасибо за статью. crucial m4 128g + z77 специально время не смотрел, но секунд через 20 результат положительный.

Спасибо за отклик, Леонид.

Vadim Sterkin: Как бы из картинок не понял чем страшна фрагментация памяти.
Сравните работу SSD с TRIM и без. »

Имелл ввиду при большом, но фрагментированном свободном пространстве (NAND Flash). Что мешает контроллеру записывать по чуть-чуть в каждый блок с несколькимипустыми страницами или это снижает скорость, так как операция становится не линейной.

Руслан, представьте, что к вам пришли 12 гостей, которых вы угощаете чаем. У вас есть трехлитровый чайник, 12 чайных чашек по 200 мл и 120 мензурок по 20 мл. Куда вы быстрее разольете чай — в чашки или мензурки?

Kingston HyperX 3K Win7 64 работает. Сегодня первый запуск компьютера, пока всё в режиме настроек!

Kingston HyperX 3K 120gb Win8 x64
Работает (интервал проверки 1 минута)

Это проблема OCZ, которую они активно «глушат», на иносайтах эта тема активно обсуждается, причем это беда конкретной прошивки 2.25
Vadim Sterkin,

Денис, вообще, OCZ отличается внимательным отношением к клиентам. Надо надеяться, что они выпустят обновление прошивки.

ПОнятно, спасибо, а то то ли сам придумал, то ли где видел что TRIM без AHCI не может работать.

Источник

Обучающий онлайн портал