TRIM SSD диска, объясняем для чего он нужен
Вы когда-нибудь замечали, что, когда вы заходите в настройки Windows, чтобы проверить состояние ssd накопителей, там написано «оптимизация и дефрагментация»? Что именно оптимизируется и зачем это нужно? Это то же самое, что дефрагментация, или что-то совершенно другое? Все подобные вопросы заслуживают подробных ответов, поэтому в этой статье мы разберем этот вопрос.
TRIM ssd диска — это процесс, который помогает всегда поддерживать на уровне производительность твердотельного накопителя. TRIM работает путем периодического стирания блоков данных, которые больше не используются. Затертые данные не всегда удаляются сразу, так как это сложный процесс, и алгоритм сам решит, когда именно произойдет затирание данных. Но когда это происходит, это не только освобождает место на диске, но и помогает SSD работать лучше и дольше.
Просто, да? Однако то, что происходит на самом деле, немного сложнее.
Чтобы понять, почему твердотельные накопители не удаляют файлы, когда вы нажимаете на кнопку «удалить», для этого нам нужно быстро пройтись по теории процесса удаления данных. Приведенный ниже ssd samsung относится к относительно старым моделям sata ssd (850 Pro), но даже новейшие твердотельные накопители не сильно отличаются с точки зрения компонентов, из которых и состоит сам диск.
SSD Samsung
Чип посередине — это процессор, который управляет всеми инструкциями, потоком данных, шифрованием и другими алгоритмами. Над ним находится с небольшим объемом DRAM, который действует как кэш инструкций и данных, а также хранит таблицу местоположений данных на диске. Справа и ниже процессора находятся два модуля флэш-памяти NAND — это чипы, в которых хранятся все данные, и именно в них нам нужно разобраться.
Глубоко внутри этих чипов находятся миллиарды мельчайших компонентов, называемых металлооксидные полупроводниковые полевые транзисторы с плавающим затвором и улавливанием заряда. Поскольку это название не совсем слетает с языка, эту технологию обычно называют флэш-памятью с ловушкой заряда (CTF), и она является наиболее часто используемой системой для хранения данных в современных твердотельных накопителях.
Каждая CTF действует как отдельная единица хранения, известная как память или битовая ячейка, к которой подключены три эл. дорожки. CTF сгруппированы вместе, сначала как длинный столбец (строка), содержащий от 32 до 128 ячеек.
Trimming SSD диска
Ячейки в строке имеют общую трассу (битовую строку), которая используется для чтения хранящихся в них данных. Те, которые находятся в одной строке друг с другом (известные как page-страница), все подключены к общей трассе (Word line). Линии выбора строки и земли используются в сочетании с Word line, чтобы определить, происходит ли процесс чтения, записи или стирания.
Массив строк и страниц образует так называемый блок. Размеры страниц и блоков сильно различаются: первые имеют размер всего 4 КБ, а вторые — 512 КБ, хотя многое зависит от производителя и модели. Один кристалл флэш-памяти NAND будет состоять из тысяч блоков, а сами модули флэш-памяти могут содержать несколько кристаллов. Эти обширные, сложные сети дорожек и транзисторов и составляют каждое устройство флэш-памяти, от USB-накопителей стоимостью в несколько сотен рублей до многотерабайтных твердотельных накопителей промышленного уровня, в том числе ssd для ноутбука или компьютера.
Флэш-память NAND
Страницы и блоки важны, потому что все ячейки памяти в этой структуре имеют одну и ту же подложку — кусок полупроводникового материала, такого как кремний, на котором построены все транзисторы. Чтобы стереть данные из любой ячейки, необходимо использовать высокое отрицательное напряжение, заставляя любые электроны, хранящиеся в CFT, течь в подложку. К сожалению, это означает, что процесс стирания очищает каждую ячейку в блоке, а не только одну из них.
Еще одна особенность флэш-памяти NAND заключается в том, что ячейки памяти не могут быть заполнены новыми данными до тех пор, пока все ячейки не будут очищены. Другими словами, твердотельные накопители никогда не записывают новые данные напрямую поверх старых, как это делают традиционные hdd диски. И там, где стирание должно выполняться на уровне блоков, запись в них выполняется на уровне страниц, а это означает, что записывание в ssd диске происходит намного быстрее, чем стирание.
Процесс записывание и стирания также каждый раз повреждает ячейки памяти, изнашивая слой внутри транзистора, хранящий заряд. Чтобы увеличить срок службы микросхем, процессор, управляющий ими, в цикличном режиме перебирает все блоки, до тех пор, пока не пройдется по каждому, прежде чем вернуться к началу. Флэш-память NAND определенно странная — быстро пишет, медленно стирает, и вредит сама себе при выполнении любой операции!
Разбрасывать мусор
Теперь давайте вернемся к пониманию того, что такое TRIM SSD. Для этого возьмем воображаемый SSD диск со страницами по 4 КБ и блоками по 256 КБ, то есть 64 страницы на блок. Что произойдет, если вы захотите удалить один файл, который занимает 3056 КБ на вашем SSD диске? Этот файл будет занимать 764 страницы — 11 полных блоков и один с 60 из 64 используемых страниц. Как мы можем удалить этот файл, не рискуя затронуть последние 4 страницы, поскольку они могут содержать данные для другого файла? Кажется, мы в тупике!
Спасение приходит в виде команды TRIM SSD. Все данные остаются на накопителе до тех пор, пока не будет получено явное указание что-то с этим сделать. Файлы и папки, которые были удалены операционной системой, помечаются как ненужные, и при выполнении команды TRIM SSD, таблица, хранящаяся в DRAM (или в самой флэш-памяти NAND, если на диске нет DRAM) после этого обновляется, чтобы отразить изменения.
Обратите внимание, что не все производители твердотельных накопителей используют термин TRIM, но Windows использует его, поэтому мы будем придерживаться этого термина. Данные не стираются сразу после отправки команды TRIM SSD — это происходит либо когда диск простаивает, либо когда он в следующий раз записывает какие-то данные в блок. Какой метод использовать, зависит от производителя: например, модели потребительского уровня обрабатывают стирание в режиме ожидания, а модели корпоративного уровня обычно делают это при записи. Данные, помеченные для удаления, стираются, когда программа флэш-памяти NAND запускает процесс, называемый «сборкой мусора». Это включает в себя чтение блока, и любые страницы, которые необходимо сохранить, копируются в кеш, и затем записываются в полностью пустой блок. Затем предыдущие страницы вместе со страницами, помеченными для удаления, стирается. В некотором смысле этот процесс для твердотельных накопителей является тем же, чем и дефрагментация для традиционных жестких дисков (HDD), но это не одно и то же.
Является ли TRIM тем же, что и дефрагментация?
TRIM ssd диска и дефрагментация — это не одно и то же. Дефрагментация — это процесс, который используется для оптимизации производительности жестких дисков (HDD) путем переупорядочения данных на диске таким образом, чтобы они сохранялись непрерывно. Это повышает эффективность накопителя за счет сокращения времени, необходимого для чтения и записи данных. С другой стороны, TRIM специфичен для твердотельных накопителей и используется для поддержания производительности диска с течением времени. Использование флэш-памяти означает, что ssd диски имеют ограниченное количество циклов записи. Когда данные удаляются с твердотельных накопителей, занимаемое ими пространство не сразу становится доступным для повторного использования. Вместо этого прошивка диска помечает пространство как «недопустимое» и не перезаписывает его до тех пор, пока не будет выполнен процесс TRIM. Этот процесс помогает предотвратить замедление работы диска.
«Сборка мусора» благотворно влияет на срок службы SSD диска и его общую производительность, а TRIM просто делает работу твердотельного накопителя лучше (иногда эти два термина используются взаимозаменяемо). Это связано с тем, что без команды «сборщик мусора» на ssd диске будут постоянно уплотнятся заполненные блоки страницами. Чтобы сохранить только что стертые блоки доступными для записывания, но это означает, что нежелательные страницы также будут перемещены, что приведет к пустой трате времени и увеличению износа ячеек памяти. Поскольку TRIM явно указывает, какие страницы теперь являются нежелательными, их можно не трогать во время сборки мусора и удалять по мере необходимости.
Чтобы проверить активацию опции TRIM в современных операционных системах (Windows 7 и выше), которая включена по умолчанию, необходимо запустить «Командную строку» от имени администратора. Введите команду «fsutil behavior query disabledeletenotify» и нажмите Enter. Если TRIM включен, система выдаст значение 0, как показано на скриншоте. Если он отключен, значение будет равно 1.
Автоматизация TRIM
Процесс TRIM автоматически запускается Windows, когда вы безвозвратно удаляете файл (то есть удаляете его из корзины), но это не происходит мгновенно. Он добавляется в очередь и обрабатывается, когда SSD диск готов для этого. Однако эта очередь имеет максимальный размер и, если она будет заполнена, некоторые из этих запросов TRIM будут удалены. По умолчанию Windows планирует повторный запуск команд TRIM на регулярной основе.
Вы можете сами управлять этим процессом, но это делать не рекомендуется. Если вы настаиваете, перейдите в проводник, щелкните правой кнопкой мыши диск, выберите «Свойства», а затем перейдите на вкладку «Сервис». Наконец, нажмите на кнопку с надписью «Оптимизировать». Если на вашем ПК нет твердотельных накопителей, оптимизация просто запускает обычную дефрагментацию диска, но для устройств с флэш-памятью NAND нажатие этой кнопки повторно выдаст команду TRIM. На самом деле вы не заставите диск что-то делать во вред. Не беспокойтесь о том, что запускаете процесс слишком часто, SSD прекрасно сам о себе позаботится!
Почему в некоторых случаях твердотельные накопители не могут быть оптимизированы?
Это потому, что ssd диск использует динамический том, который не поддерживает обрезку. Базовые тома распознают команду TRIM, и для большинства пользователей в любом случае лучше использовать этот тип тома диска. Если ваша операционная система или конфигурация SSD не поддерживает TRIM, это не очень плохие новости — «сборка мусора» все равно происходит, но этот процесс не так эффективен. Старые удаляются просто потому, что диск в конечном итоге перезапишет в какой-то момент ненужные страницы. Для ПК с Windows 7 TRIM поддерживается только на твердотельных накопителях SATA. Для машин с NVMe дисками trim доступен только в Windows 8, 10 и 11. TRIM был добавлен в MacOS в последнем обновлении Snow Leopard еще в 2011 году. Большинство дистрибутивов Linux также поддерживают эту операцию, но не все файловые системы совместимый — говоря об этом, RAID-системы обычно не поддерживают TRIM, хотя ситуация постепенно улучшается. Теперь вы знаете, что такое TRIM и чем он полезен для вашего SSD диска. А для удобного поиска и выбора интересующего вас товара пользуйтесь нашим каталогом цен в интернет магазинах Alligator.
String. Trim Метод
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает новую строку, в которой удалены все начальные и конечные вхождения заданного набора символов из текущей строки.
Перегрузки
Удаляет все начальные и конечные символы пробела из текущей строки.
Удаляет все начальные и конечные вхождения набора символов, заданного в виде массива, из текущей строки.
Удаляет все начальные и конечные экземпляры символа из текущей строки.
Trim()
Удаляет все начальные и конечные символы пробела из текущей строки.
public: System::String ^ Trim();
public string Trim ();
member this.Trim : unit -> string
Public Function Trim () As String
Возвращаемое значение
Строка, оставшаяся после удаления всех знаков пробела из начала и конца текущей строки. Если в текущем экземпляре невозможно усечь символы, метод возвращает текущий экземпляр без изменений.
Примеры
В следующем примере метод используется String.Trim() для удаления всех лишних пробелов из строк, введенных пользователем, перед их объединением.
using namespace System; void main() < Console::Write("Enter your first name: "); String^ firstName = Console::ReadLine(); Console::Write("Enter your middle name or initial: "); String^ middleName = Console::ReadLine(); Console::Write("Enter your last name: "); String^ lastName = Console::ReadLine(); Console::WriteLine(); Console::WriteLine("You entered '', '', and ''.", firstName, middleName, lastName); String^ name = ((firstName->Trim() + " " + middleName->Trim())->Trim() + " " + lastName->Trim())->Trim(); Console::WriteLine("The result is " + name + "."); > // The following is possible output from this example: // Enter your first name: John // Enter your middle name or initial: // Enter your last name: Doe // // You entered ' John ', '', and ' Doe'. // The result is John Doe.
using System; public class Example < public static void Main() < Console.Write("Enter your first name: "); string firstName = Console.ReadLine(); Console.Write("Enter your middle name or initial: "); string middleName = Console.ReadLine(); Console.Write("Enter your last name: "); string lastName = Console.ReadLine(); Console.WriteLine(); Console.WriteLine("You entered '', '', and ''.", firstName, middleName, lastName); string name = ((firstName.Trim() + " " + middleName.Trim()).Trim() + " " + lastName.Trim()).Trim(); Console.WriteLine("The result is " + name + "."); // The following is a possible output from this example: // Enter your first name: John // Enter your middle name or initial: // Enter your last name: Doe // // You entered ' John ', '', and ' Doe'. // The result is John Doe. > >
printf "Enter your first name: " let firstName = stdin.ReadLine() printf "Enter your middle name or initial: " let middleName = stdin.ReadLine() printf "Enter your last name: " let lastName = stdin.ReadLine() printfn $"\nYou entered '', '', and ''." let name = ((firstName.Trim() + " " + middleName.Trim()).Trim() + " " + lastName.Trim()).Trim() printfn $"The result is ." // The following is a possible output from this example: // Enter your first name: John // Enter your middle name or initial: // Enter your last name: Doe // // You entered ' John ', '', and ' Doe'. // The result is John Doe.
Module Example Public Sub Main() Console.Write("Enter your first name: ") Dim firstName As String = Console.ReadLine() Console.Write("Enter your middle name or initial: ") Dim middleName As String = Console.ReadLine() Console.Write("Enter your last name: ") Dim lastName As String = Console.ReadLine Console.WriteLine() Console.WriteLine("You entered '', '', and ''.", _ firstName, middleName, lastName) Dim name As String = ((firstName.Trim() + " " + middleName.Trim()).Trim() _ + " " + lastName.Trim()).Trim() Console.WriteLine("The result is " + name + ".") End Sub End Module ' The following is possible output from this example: ' Enter your first name: John ' Enter your middle name or initial: ' Enter your last name: Doe ' ' You entered ' John ', '', and ' Doe'. ' The result is John Doe.
Комментарии
Метод Trim удаляет из текущей строки все начальные и конечные пробелы. Каждая операция обрезки в начале и конце останавливается при обнаружении символа, не являющегося пробелом. Например, если текущая строка — «abc xyz», Trim метод возвращает «abc xyz». Чтобы удалить пробелы между словами в строке, используйте регулярные выражения .NET.
Trim Если метод удаляет символы из текущего экземпляра, этот метод не изменяет значение текущего экземпляра. Вместо этого он возвращает новую строку, в которой удаляются все начальные и конечные пробелы, найденные в текущем экземпляре.
Если текущая строка равна Empty или все символы в текущем экземпляре состоят из пробелов, метод возвращает Empty.
Символы пробелов определяются стандартом Юникода. Метод Trim удаляет все начальные и конечные символы, которые создают возвращаемое значение true при их передаче в Char.IsWhiteSpace метод.
Примечания для тех, кто вызывает этот метод
В платформа .NET Framework 3.5 с пакетом обновления 1 (SP1) и более ранних версиях хранится внутренний список символов пробелов, которые этот метод обрезает. Начиная с платформа .NET Framework 4, метод обрезает все пробелы в Юникоде (то есть символы, которые создают возвращаемое true значение при их передаче в IsWhiteSpace(Char) метод). Из-за этого изменения Trim() метод в платформа .NET Framework 3.5 с пакетом обновления 1 (SP1) и более ранних версиях удаляет два символа: ZERO WIDTH SPACE (U+200B) и ZERO WIDTH NO-BREAK SPACE (U+FEFF), которые Trim() метод в платформа .NET Framework 4 и более поздних версиях не удаляет. Кроме того, Trim() метод в платформа .NET Framework 3.5 с пакетом обновления 1 (SP1) и более ранних версиях не обрезает три символа пробела Юникода: МОНГОЛЬСКИЙ ГЛАСНЫЙ РАЗДЕЛИТЕЛЬ (U+180E), NARROW NO-BREAK SPACE (U+202F) и MEDIUM MATHEMATICAL SPACE (U+205F).
См. также раздел
- TrimEnd(Char[])
- TrimStart(Char[])
- IsWhiteSpace(Char)
Зачем нужна функция TRIM и как ее включить — руководство в 6 разделах
В характеристиках твердотельных носителей обозначено, что они поддерживают TRIM. Что это вообще такое и чем может пригодиться — рассказывается здесь. Это руководство также подсказывает, как включить функцию на разных ОС.
Что такое TRIM и зачем его включать?
Чтобы понять, что это за опция такая и зачем она нужна, следует разобраться в разнице между тем, как разные хранилища перезаписывают данные.
Когда информация пишется на винчестер, операционка записывает его в размещенную на HDD таблицу. Благодаря этому ОС знает, где находятся кластеры, в которых хранится информация.
Когда файл стирает пользователь, ОС убираются данные из таблицы, а сам файл остается. Когда нужно сохранить новые данные, они просто пишутся поверх старых. С твердотельниками же все по-другому.
Информация записывается в ячейки памяти, т.н. страницы. Каждая из них занимает 4 Кб. Но стираются данные целыми блоками по 512 Кб. Если пользователь вносит хоть какие-то изменения в файл, то контроллер считывает блок во внутренний буфер, модифицирует нужные байты, стирает блок в ячейке, находит место для новой страницы и записывает ее туда.
Как только информация записана, ее нельзя перезаписать, пока блок не очистится, а поскольку стирать можно минимум 512 Кб, контроллеру приходится группировать и переносить данные, чтобы освободить один блок.
Так что пользователи ПК и лэптопов с установленными твердотельными носителями со временем могут столкнуться со снижением быстродействия ССД. Ведь раньше все информационные блоки были пустыми, а теперь контроллеру ССД приходится полностью чистить ячейки, прежде чем вносить туда новые данные. Из-за этого SSD и становится медлительнее.
Для того, чтобы осуществилась перезапись данных на ССД, необходимо стереть не только координаты из таблицы, но и сам файл из ячейки памяти. Вот тут-то и пригодится TRIM. Это команда — опция, которая дает операционке возможность сообщить SSD, какие блоки информации уже не нужны и их можно стереть из ячеек.
Рекомендация: если нужен быстрый, живучий твердотельник под игры — 860 EVO на терабайт пригодится. С ним геймплей станет комфортнее.
Выходит, что TRIM как раз-таки и нужна для сохранения первоначальной скорости. В современные операционки добавляется поддержка этой функции. Когда данные стираются, системное ПО посылает ССД эту команду. Благодаря этому после получения команды контроллер тут же чистит ячейки от данных, которые больше не используются. Причем этот процесс происходит в фоновом режиме: в перерыве между чтением и записыванием информации.
Совет: если накопитель нужен под ОС, то 256-гигабайтный SSD370S Premium подойдет. Он довольно быстро пишет и читает данные, а еще обладает металлическим корпусом, так что не боится механических повреждений.
Все это дает возможность сохранить первоначальную быстроту записи данных для тех ячеек, которые используются повторно.
Как проверить, включена ли функция TRIM?
Проверить, задействована ли эта функция на ПК с установленным SSD, можно с помощью строки команд. Сделать это нужно от имени админа.
Примечание: проверка рассматривается на примере устройств с Виндовс. Но и в Линуксе все выглядит похоже.
Как делать:
- Активировать строку через Пуск, войдя в стандартные программы. Кликнуть на вызов команды, задействовав правую клавишу компьютерной мышки или тачпада (ПКМ) и запустить командную строчку с правами админа, выбрав соответствующий пункт.
- Когда откроется нужное пользователю поле, понадобится ввести: fsutil behavior query disabledeletenotify и кликом подтвердить выполнение.
Если отобразится:
- disabledeletenotify=1 — TRIM не активирована;
- fsutil behavior set disabledeletenotify 0 — задействована.
Как включить функцию TRIM в Windows 7, 8, 10?
Чтобы активировать команду, нужно убедиться, что дисковый контроллер работает в режиме AHCI. Он позволяет использовать все достоинства SATA-подключения. Проверить, активен ли этот режим можно через БИОС и «Диспетчер устройств».
Обычно она уже активирована. Но если пользователь увидел, что нет, он может задействовать опцию вручную. Однако бывает так, что операционка просто не видит SSD. Чтобы узнать, в этом ли дело и, если нужно, «раскрыть ей глаза», понадобится совершить несколько несложных действий, описанных в таблице.
Как включить функцию TRIM в Linux?
Чтобы функция работала в Линуксе, необходима такая система файлов, как ext4. Так, для активации ТРИМ для SSD на компьютере с Linux, необходимо:
- Отметить в discard — опции, которая предназначена для монтирования разделов, — ext4 в fstab.
- Также для раздела на твердотельнике необходимо включить еще и noatime или realtime и nodiratime: они нужны, чтобы снизить нагрузку на запись. Следует обратить внимание, что тогда не будут обновляться даты доступа ко всевозможным папкам и файлам.
- Для владельцев ПК, которые подключаются через ИБП, или же хозяев ноутбуков пригодится функция commit с определенным временным значением, например, в 1 минуту: все процессы записи такая функция отложит. Операции будут осуществляться один раз в минуту на один раздел.
Получится, что строка fstab будет выглядеть таким образом: UUID=aeade6fd-2b24-4e59-bc8c / ext4 noatime,discard,errors=remount-ro,commit=60 0 1.
Также можно запускать TRIM вручную, применив ее к корневой системе файлов, введя sudo fstrim / -v.
Как включить TRIM на разделе NTFS?
Тем, кто работает с ПК и лэптопами на майкрософтовских ОС, ничего делать не нужно: максимум — узнать, активна ли TRIM. Если да, то команда будет автоматически отправляться при таких действиях с SSD, как:
- файловая очистка;
- удаление, а также полное форматирование разделов, которые относятся к NTFS — более современной, чем FAT32, файловой системе.
Важно! Команда работает только с системой файлов NTFS.
В восьмерке и десятке можно включить ТРИМ для всего раздела. Для этого понадобится запустить дефрагментацию, зайдя в Сервис. После этого команда сработает для всех пустых ячеек, которые есть на ССД: «оттримизируется» весь свободный раздел накопителя, который размечен в NTFS.
Таким же образом в семерке и более поздних версиях ОС можно активировать функцию для всего раздела NTFS. Для этого пользователю понадобится очистить его через быстрое форматирование. Однако следует помнить, что все данные из раздела исчезнут. Команды для активации функции показаны на картинке.
Для компьютеров и лэптопов, которые работают на Линуксе, тоже можно это сделать. Но понадобятся драйвера ntfs-3g. Они должны быть выпущены не раньше 2015 года. В них добавили опцию TRIM. Чтобы задействовать эту опцию, нужно всего лишь скомандовать: fstrim -v /media/ntfs/.
TRIM на Windows XP и Vista
Жаль, но отнюдь не все ОС совместимы с этой опцией: ХР и Виста в этот список не входят. Тогда, когда эти операционки были более распространены, SSD практически не использовались. Однако решить задачу можно.
Самый легкий способ — переустановить систему, приобретя более новый вариант. Если же хочется чуть заморочиться, можно поставить специальную программу-активатор. Это может быть SSD Toolbox от Intel, Magician, выпущенная Samsung, или аналоги. Главное — установить ПО под конкретную версию системы.
Интересно: MX300 2280 — очень долгоиграющий носитель, который к тому же способен работать в экстремальных условиях.
Также стоит отметить, что команда, независимо от операционки, не функционирует, если диск:
- подсоединен по USB;
- размечен в FAT32.
Итак, теперь известно, что такое TRIM, и зачем она нужна. Если опция не запущена автоматически, то ее можно активировать самостоятельно, воспользовавшись изложенной выше инструкцией.
Что такое TRIM в SSD, почему он может не работать «из коробки» и как включить
Обычно в характеристиках SSD можно увидеть, что они поддерживают TRIM. Это функция очистки от «мусора» для твердотельных накопителей. Давайте разберемся, для чего она нужна, как именно работает и какими инструментами можно проверить, активирована ли она на вашем компьютере.
Что это такое
Чтобы понять, зачем нужен TRIM, сперва надо разобраться, как хранят данные разные виды носителей. При записи на обычном HDD система вносит координаты файла в особую таблицу. Затем при удалении этого файла ОС стирает его адрес из таблицы, но не сам файл. При записи новых данных они просто помещается поверх старых.
SSD работает немного иначе — информация записывается в страницы памяти объемом 4 Кб. Они объединены в блоки по 512 Кб. Как только вы записали новые данные, их нельзя перезаписать, не очистив весь блок. Поэтому контроллеру SSD приходится полностью удалять их, прежде чем вносить новую информацию. А «актуальные» ячейки нужно переносить между блоками.
Операционная система с помощью команды TRIM сообщает накопителю, какие блоки уже не нужны и их можно стереть — не дожидаясь записи. Если этого не делать, то твердотельный накопитель со временем начнет терять скоростные показатели. Это хорошо видно на картинке выше — в данном примере при заполнении твердотельного накопителя контроллеру приходится перемещать ячейки и удалять лишние блоки прямо во время записи.
Как проверить опцию TRIM
В актуальных операционных системах (Windows 7 и выше) функция активирована по умолчанию. Чтобы проверить это, запустите «Командную строку» от имени администратора.
Затем впишите команду fsutil behavior query disabledeletenotify и жмите Enter.
Когда TRIM включен, то система выдаст значение 0, как на скриншоте. Для отключенной опции, соответственно, будет цифра 1.
Если уверены, что у вас подключен именно SSD-диск, но TRIM почему-то не активирован, то ОС скорее всего не понимает, что имеет дело именно с твердотельником. В таком случае зайдите в свойства нужного диска, в разделе «Сервис» выберите «Оптимизировать».
Вероятно, в графе типа будет отображаться «жесткий диск». Тогда возвращаемся в командную строку и выполняем команду winsat diskformal. ОС оценит скорость накопителя и сменит его характеристику на «твердотельный», а поддержка TRIM включится автоматом.
Если тип определяется верно, но TRIM все равно не активен, то введите:
fsutil behavior set disabledeletenotify NTFS 0
fsutil behavior set disabledeletenotify ReFS 0
Особенности
Все что описано выше, справедливо для обычного твердотельного накопителя, подключенного через разъемы SATA или M.2. TRIM должен работать по умолчанию на Windows 7 и выше с файловой системой NTFS, Linux с версией ядра не ниже 2.6.33 (c системой Ext4) и Mac OS 10.6.6 и выше.
Опция не будет доступна, если используется устаревшая файловая система (FAT32, Ext2). Исключение — exFat. Она вполне современная, но тоже не поддерживает TRIM. Также функция не работает большинстве на внешних дисков, подключаемых к USB (на некоторых контроллерах она все же есть). При этом для разъема Thunderbolt функция активна.
В неактуальных системах, вроде Windows XP или Vista поддержка TRIM включается утилитами производителей SSD или сторонними дефрагментаторами. К примеру, можно воспользоваться O&O Defrag Professional версии 19.
Выводы
Нет никакого смысла отключать функцию TRIM. Она продлевает накопителю жизнь: флеш-память имеет ограничения по количеству циклов перезаписи, а при постоянной очистке многократная эксплуатация одних и тех же блоков исключается. Помимо этого, SSD будет работать максимально быстро.