Trim ssd что это
Функция Trim SSD что это такое, для чего нужно, как включить. На все эти и многие другие вопросы, Вы найдете ответы в данной статье.
Современные операционные системы, как и файловые системы, пока еще рассчитаны в основном на работу с HDD (жесткий механический диск или винчестер) и при записи файла операционная система записывает их в специальную таблицу на жестком диске (MFT — Master File Table — Главная файловая таблица) — координату данного файла. Этим самым файловая таблица сообщает системе четкое и точное месторасположение кластеров с записанной информацией. Когда же файл удаляется с жесткого диска, система удаляет данные такого файла из этой таблицы MFT, сам файл не трогая. А при записи новых данных файлы просто пишутся поверх старых. Так работает перезапись на HDD. А вот для перезаписи данных на SSD требуется удаление не только координаты из MFT таблицы, но стирания самого ненужного более файла из ячеек flash-памяти. Здесь нам на помощь и придет Trim.
Удаленные данные и их восстановление
Если использовать Trim, то о восстановлении удаленных данных можете забыть. Если удалить файл, то все его данные на SSD дисках будут полностью уничтожены.
Так как же влияет Trim на скорость записи?
Нужно понимать, что применение или отсутствие функции Trim напрямую не повлияет на скорости записей на SSD диски. Повлияет на это единственный фактор — присутствие достаточного количества пустых блоков flash памяти. То есть тех блоков, которые полностью очищены контроллером диска и приготовлены для записи на них новых данных.
Проще говоря, скорости записи зависят от количества свободного места на SSD диске. Если же ваш диск практически полностью занят, то и скорости записи упадут даже в том случае, если вы пользуетесь Trim. А в том случае, если у вас не менее 20-30% емкости SSD диска остаются без разметки (unallocated disk space), то можете обходиться и без использования функции Trim. Контроллер SSD диска будет применять неиспользуемое место под разделы для того, чтобы выровнять скорость записи.
Функция Trim имеет те полезные свойства, что действительно дает возможность поддержать максимально высокую скорость записи, но только при двух условиях:
На самом деле, речь сегодня пойдёт не только о бывших в использовании какое-либо время накопителях, ведь проблема низкого быстродействия может затронуть даже только что принесённый из магазина SSD. Конечно, физику не обманешь – со временем все твердотельные накопители будут терять производительность. Но причиной этому может стать не только проблема именно самого SSD. Обеспечить грамотное взаимодействие комплектующих и программного обеспечения в системе – не совсем простая задача для простых пользователей, кто не хочет (или кому попросту не надо) хоть мало-мальски разобраться в теме и послушать советы грамотных в этом плане людей. Кому-то проще переустановить операционную систему или добавить в список используемых приложений какие-то сомнительные «твикеры». Но ведь вдумайтесь — к примеру, простое с нашей точки зрения удаление файла состоит из достаточно большого количества этапов, в которых завязаны сразу несколько участников. И, если хоть один из них отработал задачу некорректно, то это сказывается на производительности диска. Что это за этапы? Кем или чем они выполняются? Как обеспечить стабильную работу? Во всём этом мы сегодня и разберёмся. Просто и наглядно, чтобы понятно было всем. И тогда станет ясно, что лечение симптомов низкой производительности SSD не поможет.
Отключение файла подкачки
В том случае, если у вас установлена 64 разрядная операционная система и объем оперативной памяти превышает 8 Гигабайт, целесообразно будет отключить функцию Файл подкачки. Для этого вновь вызовем выпадающее меню нажатием правой кнопки мыши на иконке «Мой компьютер» и выберем пункт «Свойства». В окне «Свойств» найдем вкладку «Дополнительные параметры», затем пункт «Быстродействие», затем пункт «Параметры», выберем пункт «Дополнительно» и найдем раздел «Виртуальная память». Отмечаем вариант «Без файла подкачки», жмем «Задать». При работе с файлом подкачки нужно помнить, что с некоторыми приложениями, использующими большое количество ресурсов оперативной памяти при выключении использования файла подкачки, могут возникнуть трудности.
Объясним на пальцах, как раз их 20…
Когда вы создаёте файл, операционная система отправляет команду записи по адресу определенного логического блока. Когда вы удаляете данные с диска, эти блоки помечаются свободными.
При этом, данные останутся на диске пока контроллер не захочет их перезаписать.
Перед нами часть памяти, в которой находятся файлы А и В разных размеров, занимающих, соответственно, разное количество блоков. Сначала мы удаляем файл В, а затем записываем файл С на наш диск. Для наглядного представления ситуации, когда TRIM не работает, добавим простую иллюстрацию, в которой обозначены следующие состояния:
- Наличие файлов А и В.
- Удаление нашими руками файла В.
- Определённое время бездействия. Заметим, что помеченные на очистку блоки данных так и остались с данными в них.
- Запись файла С, но сначала – удаление файла В из ячеек.
А теперь что происходит, если TRIM работает. Снова по этапам:
- Наличие файлов А и В.
- Удаление нашими руками файла В.
- Определённое время бездействия, в которое помеченные на удаление блоки с файлом В очищаются.
- Запись файла С без каких-либо задержек в область, где был файл В.
То есть, логика работы совсем другая. Повторим пройденное — в момент удаления нами файла B отправляется команда TRIM, и, поскольку в SSD достаточно часто простаивает, он с радостью удаляет ненужные блоки практически сразу. И в момент того, как мы хотим записать файл С, то он сразу же записывается на диск, а не ждёт пока для него очистят блоки с мусором.
Ликбез по функции
При пользовании SSD дисками со временем возникает ситуация, когда производительность их значительно снижается. Когда вы только начали пользоваться диском и все блоки flash памяти новые и чистые, то и скорость записи на них довольно высокая, в соответствии с заявленной в документации. Когда же SSD диск будет полностью записан, а затем некоторые файлы будут удалены, перезапись станет происходить на них на гораздо более низких скоростях. Ведь контроллеру вашего диска придется перед записью очищать и ранее использованные блоки flash памяти перед тем, как записать туда новые данные.
Для того, чтобы скорости работы SSD не падали, в новые операционные системы добавляется команда ATA TRIM. Специальный драйвер файловой системы при стирании файла направляет команду Trim для контроллера SSD диска. Когда контроллер SSD диска воспринимает команду, он сразу же очищает более не используемые блоки flash памяти. Делается это в режиме фона, в перерывах между любыми операциями записи и чтения.
Использование команды Trim позволяет вернуть нам полную скорость записей для вторично используемых блоков flash памяти. К сожалению, далеко не все операционные системы работают с командой Trim. Поддерживают ее относительно новые версии систем:
Windows 7, 8, 10 и Server 2008 R2 с файловой системой NTFS.
Ядро Linux, с версии 2.6.33 и выше.
Mac OS X, с версии с 10.6.6 (и то, только после установки соответствующего обновления) и выше.
Чтобы пользоваться командой Trim контроллер SSD накопителя должен поддерживать данную функцию, она должна быть включена в самой операционной системе, а дисковый контроллер должен быть в режиме работы AHCI. Нужно проверить, что в BIOS для контроллера SATA выставлен режим AHCI. Это можно выяснить и в «Диспетчере устройств».
Так же функция Trim не будет работать если:
- Подключение SSD диска осуществляется через USB.
- Диск SSD размечен в файловой системе FAT32.
Отключение Memory Management
Включенная функция Superfetch кэширует чаще всего используемые данные, а функция Prefetch отвечает за предварительную загрузку часто используемых приложений. В случае работы на SSD диске, из-за высокой скорости доступа к данным нам эти функции более не понадобятся и мы сможем освободить память и дать работу нашему накопителю только тогда, когда это потребуется. Для отключения выполняем следующие действия: в «Меню Пуск» в строке поиска набираем команду regedit, тем самым вызывая окно работы с реестром. Последовательно ищем и выбираем пункты реестра: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\Memory Management\PrefetchParameters. Затем правой кнопкой мыши вызываем подменю на пунктах EnableSuperfetch и EnablePrefetcher поочередно. Выбираем пункт «Изменить» и меняем значения на нулевые.
Точно так же меняем значения на нулевые и в параметрах ClearPageFileAtShutdown и LargeSystemCache. Параметр LargeSystemCache указывает на размер и частоту сбрасывания кэшированной страницы на диск, а параметр ClearPageFileAtShutdown очищает файл подкачки при отключении ПК, что приводит к дополнительным операциям записи, которые теперь нам не нужны. Путь к параметрам: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\Memory Management. Выбираем пункты ClearPageFileAtShutdown и LargeSystemCache, заходим в их меню правой кнопкой мыши и, выбирая «Изменить» в каждом из пунктов, выставляем нулевой параметр.
После этого компьютер перезагружаем.
Включение 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 вручную:
В данном примере команда применяема к корневой файловой системе.
Отключение индексирования диска
Из-за высокой производительности SSD функция индексирования диска нам не пригодится, т.к. индексирование дисков было разработано специально для ускорения работы на HDD. Для этого на иконке «Мой компьютер» вызываем выпадающее меню правой кнопкой мыши и снова выбираем пункт «Свойства». В разделе «Общие» снимаем галочку напротив пункта «Разрешить индексировать содержимое файлов на этом диске в дополнение к свойствам файла».
Дополнительная информация
В завершение, некоторые дополнительные сведения, которые могут оказаться полезными.
Режим AHCI
Для выполнения своих функций системе необходимо, чтобы контроллер SATA работал в режиме AHCI. Для этого в BIOS необходимо найти меню конфигурации SATA (Cohfigure SATA As). Обыкновенно эти конфигурации располагаются в разделе Main, и перевести их в режим AHCI. Проверку в системе можно провести простым способом: «Меню Пуск» – «Панель управления» – пункт «Система». Выбираем «Диспетчер устройств» и находим там пункт IDE ATA/ATAPI контроллеры. Если данный пункт присутствует, то раскрываем его и находим там в списках контроллеры с AHCI в наименованиях. В случае, если наименования AHCI мы там находим, то наша система работает в нужном нам режиме. Если же таких наименований нет, то система не переключена для работы в AHCI режиме. Естественно, необходимо, чтобы сам BIOS поддерживал работу в таком режиме.
Оптимизация в Windows 10 (8) для работы с SSD
При работе с операционной системой Windows 10 (8) лучше всего, чтобы были выполнены все пункты, относящиеся к Windows 7. Дело в том, что «Десятка» самостоятельно вносит некоторые изменения при обнаружении твердотельного накопителя. Вот перечень стандартных автоматических оптимизаций системы:
- Отключение дефрагментации;
- Подключение функции TRIM;
- Отключение функции ReadyBoost;
- Оптимизация питания SSD;
- Включение параметра Superfetch.
Все остальные пункты оптимизации придется выполнить вручную. Можно действовать по схеме с операционной системой Windows 7, предложенной нами выше.
Существует и другой вариант. Можно скачать бесплатную утилиту SSD Mini Tweaker, запустить ее, отметить в ней галочками необходимые для выполнения пункты и применить изменения. Рекомендуется отметить все пункты меню оптимизации, предлагаемые программой SSD Mini Tweaker.
Примечания:
* Для максимальной отдачи при работе с SSD рекомендуется подключать его к портам SATA 3, работающим на скорости 6 Гигабит в секунду.
* Не забывайте периодически проверять на сайте производителя вашего твердотельного накопителя обновления для его прошивки и устанавливать их.
Как мы видим из статьи, оптимизация системы под работу с твердотельным накопителем требует некоторых настроек. И если Windows 7 придется внимательно настраивать вручную, то в операционных системах Windows 10 и 8 некоторые настройки применяются автоматически при обнаружении системой твердотельного накопителя во время установки, а также наладку для работы с SSD диском в системе можно произвести с помощью специально предназначенной для этого бесплатной утилитой SSD Mini Tweaker.
Эта проблема наиболее актуальна для аппаратных 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 включена по умолчанию в Windows 11 и Windows 10, 8.1 и 7 (как и многие другие функции оптимизации работы твердотельных накопителей, см. Настройка SSD для Windows 10), однако, в некоторых случаях это может оказаться не так. В этой инструкции подробно о том, как проверить, включена ли функция, а также о том, как включить TRIM в Windows, если поддержка команды отключена и дополнительная, касающаяся старых ОС и внешних SSD.
Примечание: некоторые материалы сообщают о том, что для работы TRIM SSD обязательно должен работать в режиме AHCI, а не IDE. В действительности, режим эмуляции IDE, включенный в BIOS/UEFI (а именно эмуляция IDE используется на современных материнских платах) не является помехой для работы TRIM, однако в некоторых случаях возможны ограничения (может не работать на отдельных драйверах IDE-контроллера), более того, в режиме AHCI ваш диск будет работать быстрее, так что на всякий случай убедитесь, что диск работает в режиме AHCI и, желательно, переключите его в этот режим, если это не так, см. Как включить режим AHCI в Windows 10.
Отключение кэширования записи Windows
Так как SSD намного превосходит по скорости работы традиционные HDD, то включенная функция кэширования записи особых преимуществ по скорости нам не дает, поэтому можно ее деактивировать. Но, в свою очередь, производитель SSD Intel предупреждает, что отказ от данной функции негативно скажется на работе выпускаемых ими твердотельных накопителях. Отключить функцию кэширования записи Windows можем следующим образом: в корневой папке Проводника «Мой компьютер» правой кнопкой мыши вызываем через пункт «Свойства» «Диспетчер устройств». Выбираем пункт «Дисковые устройства» и правой кнопкой мыши нажимаем на наш SSD, тем самым вызывая подменю. В подменю выбираем раздел «Свойства» и в окне свойств на вкладке «Политика» снимаем галочку на пункте «Разрешить кэширование записей для этого устройства». После чего нажимаем кнопку OK.
Настройка SSD в Windows 7
Компания Майкрософт, при создании операционной системы Windows 7, изначально предполагала совместимость данной системы с твердотельными накопителями SSD, и при обнаружении таких накопителей настройки системы произойдут автоматически. Тем не менее, лучше вручную проверить все настройки компьютера для получения максимальной отдачи при работе с SSD.
Как проверить, включена ли команда TRIM
Для проверки состояния TRIM для вашего SSD накопителя можно использовать командную строку, запущенную от имени администратора (можно использовать и PowerShell).
- Запустите командную строку от имени администратора (для этого в Windows 11 и Windows 10 можно начать вводить «Командная строка» в поиске на панели задач, затем нажать правой кнопкой мыши по найденному результату и выбрать нужный пункт контекстного меню). Также можно нажать правой кнопкой мыши по кнопке Пуск и запустить Терминал Windows или Windows PowerShell от имени администратора.
- Введите команду fsutil behavior query disabledeletenotify и нажмите Enter.
- В Windows 11 вы увидите результат как на следующем скриншоте, в случае если TRIM включен:
- В Windows 10 и более ранних версиях результат может выглядеть иначе, как на изображении ниже или, как вариант: NTFS DisableDeleteNotify = 0 (отключено), однако, это как раз говорит о том, что TRIM включен.
В результате отображается отчет о том включена ли поддержка TRIM для разных файловых систем (NTFS и ReFS). При этом значение 0 (ноль) говорит о том, что команда TRIM включена и используется, значение 1 — отключена. Если в скобках вы видите дополнение вида «отключено», оно относится не к команде TRIM, а к DisableDeleteNotify (отключение уведомление об удалении): когда DisableDeleteNotify отключено, TRIM включен и наоборот.
Состояние «не установлен», сообщает, что на данный момент поддержка TRIM не установлена для SSD с указанной файловой системой, но после подключении такого твердотельного накопителя будет включена.
Отключение поиска Windows
Поиск Windows создает индексы отдельных файлов, документов и папок на жестком диске. Индекс хранится в отдельной папке Search на диске C и занимает до 10% от объема проиндексированных документов, чтобы при поиске загружать часть индекса в память и значительно ускорять его. В случае с SSD опять-таки эта функция заметного прироста в скорости нам не даст. А вот место на твердотельном накопителе индексы занимают, и включенная данная функция может реально негативно сказаться на работе SSD. Поэтому отключаем функцию Поиска Windows следующим образом: в строке поиска в «Меню Пуск» наберите команду services.msc и нажмите «Ввод» для вызова меню со списком локальных служб. В списке найдите пункт Superfetch и щелкните по нему правой кнопкой мыши, вызывая меню службы. В выпавшем меню «Тип запуска» выберите «Отключена» и нажмите ОК. Затем найдите службу Windows Search и снова нажмите на него правой кнопкой мыши, выберите пункт «Свойства» и нажмите на кнопку «Остановить», а после этого в меню «Тип запуска» так же выбирайте вариант «Отключена» и жмите ОК.
Как включить TRIM в Windows 11, Windows 10, 8.1 и 7
Как было отмечено в начале инструкции, по умолчанию поддержка TRIM должна включаться для SSD автоматически в современных ОС. Если у вас она отключена, то прежде, чем включать TRIM вручную, рекомендую проделать следующие действия (возможно, ваша система «не знает», что подключен SSD):
- В проводнике откройте свойства твердотельного накопителя (правый клик — свойства), и на вкладке «Сервис» нажмите кнопку «Оптимизировать».
- В следующем окне обратите внимание на столбец «Тип носителя». Если там не указан «твердотельный накопитель» (вместо этого — «Жесткий диск»), видимо, Windows пока не знает о том, что у вас SSD и именно по этой причине отключена поддержка TRIM.
- Чтобы система правильно определила тип диска и включила соответствующие функции оптимизации, запустите командную строку от имени администратора и введите команду winsat diskformal
- По окончании выполнения проверки скорости накопителя, можно снова заглянуть в окно оптимизации дисков и проверить поддержку TRIM — с большой вероятность, она будет включена.
Если же тип диска определен правильно, то задать опции TRIM можно вручную, с помощью командной строки, запущенной от имени администратора следующими командами
Аналогичной командой, установив значение 1 вместо 0 можно отключить поддержку TRIM.
Отключаем регулярную дефрагментацию
Как говорилось выше, функция дефрагментации предназначается для работы с HDD и при работе с SSD нам не нужна. Поэтому отключаем и ее следующим образом: в меню «Пуск» в поисковой строке набираем слово «дефрагментация», выбираем найденную программу дефрагментации диска, находим вкладку «Расписание» и снимаем галочку на пункте «Выполнять по расписанию».
Что хорошо, а что плохо?
Если функция TRIM работала с самого начала, то сама по себе никуда она деться не может. Но совсем другое дело, если вы увлекаетесь разного рода твикерами, сторонними драйверами или прошивками, а также сборками операционных систем, якобы улучшенных. Все эти программы и сборки могут только навредить, если речь идёт о Windows 8 и, тем более Windows 10 – в этих ОС всё продумано как надо. В «семёрке» они могут чем-то помочь, но это скорее исключение из множества проблем, которые они могут принести.
Отдельно надо сказать несколько слов про NVMe накопители и драйверы для них. Приобретая высокоскоростной SSD, в ваших глазах должны отражаться полученные в бенчмарках заявленные скоростные показатели. Часто это так и есть, например – с накопителями Kingston. Установил и забыл, как говорится, наслаждаясь его высокими скоростями. Но с SSD других производителей это может быть не всегда так, что, очевидно, расстроит любого. Тут уже не отсутствие Deallocate является причиной недостаточного быстродействия, а стандартный NVMe драйвер. Да-да, при покупке NVMe SSD некоторых производителей обязательно приходится отправляться на сайт его сайт и скачивать соответствующий драйвер – разница со стандартным может превышать двукратную!
Как выполнять TRIM на разделах NTFS
При установленных операционных системах операционная Windows 7, 8, 10, можно не делать ничего. Достаточно того, что мы проверим включение для функции TRIM. Затем Windows станет автоматически отправлять команды TRIM при таких операциях с дисками, как:
- Удаление файлов.
- Быстрое форматирование разделов диска NTFS.
- Удаление разделов NTFS.
В Windows 8 и 10 предусмотрено выполнение команды TRIM и для целого раздела NTFS. На вкладке «Сервис» в свойствах диска необходимо открыть Оптимизатор дисков. Так по-новому называется дефрагментатор в Windows.
Для разделов NTFS в Оптимизаторе на SSD диске нам будет доступна команда «Оптимизировать диск». Выполнение данной команды приведет к тому, что Windows отправит на SSD диск команду Trim для абсолютно всех свободных блоков на данном диске. То есть выполнится «тримизация» полностью всего свободного раздела диска, размеченного в NTFS.
Так же в Windows 7, 8, 10 мы можем сделать «тримизацию» всего раздела NTFS. Для того, чтобы это сделать необходимо выполнить быстрое форматирование этого раздела. Только нужно помнить и не забывать, что это действие уничтожает полностью все данные в разделе.
В последних (с 2015 года) версиях драйверов ntfs-3g (драйвера ntfs под Линукс) есть добавленная функция TRIM. Теперь мы можем «тримизировать» и раздел NTFS из Linux. Команда:
fstrim -v /media/ntfs/
где /media/ntfs/ — примонтированный раздел NTFS.
Настройка энергопотребления
Для наилучшей производительности вашего SSD нужно вручную настроить его схему питания. Для этого вызовем «Панель управления», найдем там «Электропитание» и зададим следующие параметры: в «Настройке плана электропитания» в параметрах выбираем «Высокая производительность» и нажимаем «Применить». Переходим в «Настройку плана электропитания» и в пункте «Изменить дополнительные параметры питания» выбираем пункт «Жесткий диск», подпункт «Отключать жесткий диск через» и устанавливаем параметр «Никогда», то есть «00 минут».
Отключение гибернации
Гибернация создана для того, чтобы работу на компьютере, которую вы производили можно было возобновить практически моментально. Так, при включении функции гибернации, все содержимое оперативной памяти сбрасывается на жесткий диск, а затем, при пробуждении, сразу же считывается. При работе с SSD в данной функции необходимости нет, так как возобновление работы и так достаточно быстрое. Тем самым мы экономим драгоценное место на нашем SSD.
Отключаем функцию так: в строке поиска в «Меню Пуск» набираем команду cmd и вызываем утилиту командной строки. После чего в командной строке набираем команду: powercfg –h off и нажимаем клавишу «Ввод».
Стоит отметить, что гибернацию отключать целесообразно не всегда. Например, на ноутбуках отключение гибернации приведет к тому, что компьютер придется запускать заново каждый раз после его закрытия.
Оптимизация в Windows 7 для работы с SSD
Вот теперь, вроде, всё.
Как оказалось – не всё так страшно, как выглядело не первый взгляд. От пользователя требуется выполнение всего нескольких рекомендаций, чтобы система работала корректно и радовала производительностью твердотельного накопителя долгое время. Повторим их напоследок – чистый дистрибутив операционной системы, актуальные драйверы и прошивки от производителя, а также отсутствие сторонних «настройщиков» системы, которые, по заверению их разработчиков, увеличивают производительность на 146%. Если проблема не аппаратная, то никаких нареканий к диску у вас не будет в течение всего срока жизни вашей системы. Так что никакого длинного заключения-словоблудства не будет – всё, что надо было сказать, уже сказано. Ёмких вам SSD, их высоких скоростей и стабильной работы!
Для получения дополнительной информации о продуктах HyperX и Kingston обращайтесь на сайты компаний.
Сейчас многие пользователи проводят апгрейд своих персональных компьютеров и ноутбуков с помощью установки на них SSD дисков – твердотельных накопителей. По сравнению с уже ставшими привычными HDD, твердотельные накопители действительно имеют существенное преимущество по скорости работы в операционных системах и работы с данными.
У многих возникает вполне закономерный вопрос – нужно ли производить дополнительно какую-либо настройку персональных компьютеров и ноутбуков при установке нового SSD? Постараемся подробно рассмотреть в нашей статье работу с SSD в двух самых популярных операционных системах – Windows 7 и Windows 10 (те действия, которые мы будем производить в «десятке» подходят к применению и на Windows 8).
В примечаниях отметим некоторые особенности у производителей SSD, а также некоторые нюансы для работы с SSD в ноутбуках. Так как же делается настройка SSD для получения максимальной отдачи приобретаемого и устанавливаемого нами современного оборудования?
TRIM, а есть ли ты вообще? И, если есть, то работаешь ли?
Узнать, поддерживает ли SSD команду TRIM можно при помощи достаточно большого количества свободно распространяемого программного обеспечения. Возьмём, к примеру, CrystalDiskInfo:
Но демонстрация поддержки – не есть работа. Для начала пройдёмся по ситуациям, когда TRIM надо запускать хитрым способом или данная команда не работает вовсе. Конечно, со временем ситуация может поменяться, но пока дела обстоят следующим образом:
- Стандартные драйверы Windows не могут выполнять TRIM на RAID массивах. В зависимости от системы и типа RAID массива, проблему может решить драйвер от Intel под названием Rapid Storage. Поддерживаются массивы 0 и 1 с драйвером версии Enterprise.
- Поддержка TRIM в Windows начинается с версии операционной системы с цифрой 7. Vista и, тем более, XP не поддерживают TRIM на уровне ОС. Конечно, эта проблема решается сторонним программным обеспечением, но тут всё на ваш страх и риск – рекомендовать это мы не можем и не будем.
- Команда Deallocate (TRIM для NVMe SSD) поддерживается только с Windows 8 и новее.
- TRIM не работает на виртуальных дисках.
- TRIM работает только в режиме AHCI.
- TRIM не работает при подключении накопителя через USB переходники.
- TRIM не работает в с файловой системой FAT32 (и более «лохматых»).
Для начала – попробуем это узнать прямо у операционной системы. В запущенной от имени Администратора командной строке или PowerShell вводим команду «fsutil behavior query disabledeletenotify» без кавычек и смотрим на результат. Если в выводе значатся «0», то это хорошо – TRIM работает. Если «1», то функционал TRIM недоступен. Всё верно: ноль – включённая команда, 1 – выключенная команда.
Проблемы, проблемы вместо обеда
Самая распространённая проблема – наследование. Само собой, речь идёт про Windows до версии 8. Например, когда пользователь ставит в старые системы SSD или переходят с HDD на SSD без изменения настроек BIOS (если это необходимо) или вообще путём клонирования разделов или диска целиком. Напоминаем, что TRIM доступен только в режиме AHCI. К примеру, у многих материнские платы могут работать в двух режимах AHCI и IDE. Соответственно, если SSD подключён к такой плате именно в режиме IDE, то TRIM работать не будет. Просто наличие режима AHCI не решает проблему – Windows установит драйверы согласно выбранному IDE. Казалось бы, ситуация может встречаться редко, но на самом деле – нет. Если с настройками BIOS вы не дружите, то хотя бы проверить режим работы надо. Сделать это можно в диспетчере устройств в разделе «Контроллеры IDE ATA/ATAPI»:
Помните, что просто так после установки Windows переключить режим работы с IDE на AHCI (и обратно) без дополнительных манипуляций не выйдет – операционная система попросту не загрузится. Решения этой проблемы существуют (даже от самой Microsoft), но рекомендовать их не стоит. Требуется изменение параметров реестра, добавление нужного драйвера и готовность к переустановке ОС в случае неудачи.
Что касается Linux-систем, то обязательным условием, помимо аппаратной составляющей, является файловая система ext4. Включение TRIM указывается опцией discard в файле fstab. Дополнительными полезными опциями для раздела станут noatime (realtime или nodiratime), которые снизят запись путём отключения обновления времени последнего доступа к файлам и директориям. Сама же команда TRIM запускается при помощи программы fstrim – «fstrim / -v» без кавычек и с правами рута.
Вспомним ещё про Secure Erase. Восстановить производительность этой функцией можно. Только вот вряд ли надолго. Особенно, если вы быстро забиваете свой накопитель новыми данными. Так что как временное решение – пойдёт, но оно всегда будет оставаться временным.
Ещё добавим про SLC-кеширование, которое достаточно часто используется у многих SSD-накопителей без привязки к интерфейсу. Невысокая скорость записи большого количества файлов (или больших файлов) после определённого порога не проблема, а особенность работы. Суть кеширования состоит в том, что сначала записываемые данные попадают в специальную область памяти, а уже затем записываются в основную память в фоновом режиме. Когда выделенная высокоскоростная память заканчивается, то данные начинают записываться непосредственно в память на заметно сниженной скорости – от 50 до 150 МБ/с. Это совершенно нормальный режим работы накопителей с SLC-кешем, поэтому здесь ничего сделать невозможно от слова совсем.
Отключение защиты системы
Для ограничения ненужных нам операций записи и возвращения доступного пространства на SSD отключаем функцию «Защиты системы» следующим образом: нажимаем правой кнопкой мыши на иконку «Мой компьютер» и выбираем в выпавшем меню пункт «Свойства». В открывшемся окне находим вкладку «Защита системы» и переходим на нее. Жмем кнопку «Настроить» и выбираем пункт «Отключить защиту системы».
Некоторые специалисты предупреждают, что «Защита системы» со временем может ухудшать работу SSD диска и негативно влиять на функцию TRIM из-за своего характера записи данных.
Семь бед – один Deallocate
Многие слышали про команду TRIM. Те самые заветные четыре буквы, которые вызывают множество вопросов у рядового пользователя. TRIM – одна из команд ATA, отправляемая операционной системой с целью уведомления твердотельного накопителя о том, что данные с диска были удалены пользователем и занятые физические ячейки можно освободить. Стоит отдельно сказать про SSD с интерфейсом NVMe — эти диски обладают другим набором команд для работы, но аналог ATA команды TRIM там тоже существует — называется она Deallocate и, соответственно, является идентичной. Поэтому, далее при упоминании TRIM мы будем подразумевать и Deallocate тоже. К чему речь обо всём этом? Как раз именно проблемы с выполнением данных команд в подавляющем большинстве случаев и являются причиной низкой производительности накопителей. Конечно, другие проблемы мы тоже не оставим в стороне, но всему своё время.
В тот момент, когда вы удаляете данные с вашего накопителя, по факту удаляется запись в главной таблице файловой системы. То есть, сами данные остаются на месте, но область помечена на удаление. Сама «зачистка ячеек» происходит в определенное время, например, в момент простоя накопителя, пока вы отошли за чаем. Таким образом производители добиваются снижения износа памяти и увеличивают производительность своих накопителей в определённых сценариях. Именно очисткой этих ячеек и занимается контроллер, выполняя команду TRIM. К слову, после её выполнения, восстановление данных практически невозможно.
Совсем недавно мы рассказывали про технологию Secure Erase, которая схожа с TRIM, но затрагивает не только основные ячейки, но и служебные области, возвращая накопитель в полностью исходное состояние. Напомним, что Secure Erase можно выполнить на накопителе только без файловой системы и при определённых условиях. А технология TRIM как раз и требует наличие операционной системы со всеми вытекающими требованиями.
Отключаем журналирование NTFS
Так же можно отключить журналирование системы NTFS. Для этого в меню «Пуск», в строке поиска набираем команду cmd и вызываем командную строку. В командной строке набираем команду: fsutil usn deletejournal /D C: и нажимаем «Ввод».
Перенос пользовательских папок
Для выполнения той же задачи, что и в предыдущем пункте переносим все пользовательские папки на другой диск (включая папки «Видео», «Аудио», «Загрузки», «Избранное» и прочие). Создаем отдельную папку пользователя на другом диске и в «Свойствах папки», которые вызываем, щелкнув правой кнопкой мыши по выбранной папке, на вкладке «Расположение» нажимаем кнопку переместить и задаем новое место под переносимые папки.
Как выполнять 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% от дисковой емкости и этого будет хватать для поддержки нормальной скорости записи. Неразмеченной, то есть ни одному разделу не присвоенной.
Перенос папок TEMP
Для освобождения дополнительного пространства на SSD и излишней перезаписи переносим папки с временными файлами на другой диск. Для этого заходим в «Панель управления», выбираем иконку «Мой компьютер», затем раздел «Дополнительные параметры системы» и во вкладке «Дополнительно» заходим в меню «Переменные среды», где нажимаем кнопку изменить, и меняем конечные адреса папок с хранилищами временных данных на новые.
Как проверить включение Trim на операционных системах Windows 7, 8 и 10
Вначале откроем консоль Командной строки с правами администратора. Далее меню Пуск – Программы – Стандартные – Командная строка. Нажатие правой кнопки мышки — Запуск от имени Администратора.
Затем в командной строке вводится команда:
fsutil behavior query disabledeletenotify – Выполнить.
В том случае, если вывод команды покажет — disabledeletenotify=1, это значит, что команда TRIM выключена. Подключение делаем с помощью команды:
fsutil behavior set disabledeletenotify 0
Будьте внимательны: ноль – включенная команда, единица – выключенная команда.
Команда TRIM
После того, как мы убедились, что система переведена в режим AHCI, нужно проверить подключена ли команда TRIM. TRIM улучшает работоспособность системы на твердотельных накопителях за счет того, что эта команда сообщает операционным системам какие из блоков ранее записанных данных более не нужны, потому что данные в них удалены или отформатированы. Проще говоря, команда TRIM «убирает мусор» и значительно ускоряет работу SSD накопителя, являясь заменой дефрагментации на привычных HDD.
Примечания:
* Для работы SSD в операционной системе Windows 7 лучше всего комбинировать на компьютерах SSD и HDD. Это позволит нам улучшенные скоростные показатели совместить с надежностью HDD.
* Операционную систему, естественно, предпочтительно ставить на SSD, как и все основные программы
* Порядка 20 процентов от суммарного объема твердотельного накопителя при установке операционной системы желательно оставлять неразмеченными. При естественном изнашивании SSD будет брать оттуда кластеры для своей работы.
Читайте также: