String.trim метод
Содержание:
- Проверяем и подключаем Трим
- Нужна ли SSD дефрагментация
- Проверяем, включаем и взаимодействуем с TRIM под Windows
- Стоит ли покупать насадку для переделки триммера в лодочный мотор
- Объясним на пальцах, как раз их 20…
- Как проверить, включена команда TRIM (на примере Windows 10)
- Что такое TRIM для SSD накопителей?
- Как работает SSD без TRIM
- Как включить TRIM для SSD в Windows 10
- Не трогать дефрагментацию Windows
- Prefetch и Superfetch
- Проверяем и подключаем Трим
- Что такое TRIM для накопителей SSD?
- Недостатки
- Функция TRIM для SSD-дисков и как проверить ее работу
- Что такое TRIM
Проверяем и подключаем Трим
Я уверен, что обладатели компьютеров и ноутбуков с SSD, наверняка задумались над тем, а поддерживает ли их устройство Trim? В Windows 7, 8, 10 это можно легко проверить. Как? Отправив от имени администратора запрос в командной строке (быстро найти ее можно в «Поиске»). Итак, запустили нужный режим и вводим следующий текст:
fsutil behavior query disabledeletenotify
Поскольку скопировать и вставить команду у вас не получиться. Рекомендую заранее внимательно записать ее на бумагу или открыть данную инструкцию в расположенном рядом окне.
Вводим, проверяем, смотрим на экран. В зависимости от типа форматирования диска вы получите сообщение типа:
NTFS DisableDeleteNotify = 0
Цифра после знака равно как раз и показывает состояние Trim SSD: «ноль» — включено; «единица» — не работает.
В большинстве случаев вы получите положительный ответ на подобный запрос. Поскольку данная функция активирована в системе по умолчанию. Но может быть, что этого по определенным причинам не произошло. Включить «Трим» вручную одной командой можно также быстро, как и проверить его:
fsutil behavior set disabledeletenotify NTFS 0 — для файловой системой NTFS;
fsutil behavior set disabledeletenotify ReFS 0 —для ReFS.
Но я все-таки рекомендую выполнить ряд действий, позволяющих выявить причину, по которой функция Trim не сработала. Для начала выясним, распознала ли система ваш ССД должным образом. Находим его в проводнике, жмем правой кнопочкой мышки, выбираем «Свойства» и вкладку «Сервис». Здесь нас интересует кнопка «Оптимизировать» (сопровождаемая привычным значком, обозначающим «дефрагментацию»). Она открывает таблицу с томами диска. Изучаем ее на предмет соответствия информации.
winsat diskformal + Enter.
После этого ОС должна сама активировать Trim.
Нужна ли SSD дефрагментация
Наверное, вы слышали, что она не нужна. Но ведь SSD фрагментируются! Представьте диск объемом 128GiB, на котором занято 100GiB. Оставшееся свободное пространство состоит из блоков, в каждом из которых есть занятые страницы памяти. Это называется фрагментация флэш-памяти.
Вы начали активно записывать данные, заполняя диск. Контроллер, который не убирался в своей квартире, столкнется с необходимостью перемещать данные туда-сюда, выполняя операции «чтение – изменение – запись».
Заметьте, это задача контроллера, а операционная система тут вообще ни при чем! На диаграмме выше сопоставьте логический вид ОС и физический вид SSD. Операционная система видит логические блоки LBA, но при этом понятия не имеет, в каких блоках и страницах NAND хранятся данные!
Хотя контроллер оптимально разложил данные во флэш-памяти, с точки зрения ОС файлы могут быть разбросаны по диску. Это называется фрагментация файловой системы, но она не имеет значения для SSD.
Поэтому твердотельным накопителям не нужна дефрагментация средствами ОС или сторонних программ. Она вынуждает контроллер перемещать данные по диску без насущной необходимости. Теоретически ненужные операции записи снижают срок службы накопителя. Но на практике дефраг делается не так уж и часто, чтобы «убить SSD».
Обязательная ссылка: Почему Windows 8 дефрагментирует ваш SSD, и как этого избежать
Проверяем, включаем и взаимодействуем с TRIM под Windows
Если Вы пропустили, то напомним, что TRIM, — это такая технология контроллера, которая существенно ускоряет работу накопителя, методом уведомления оного о блоках, которые уже не содержатся в файловой системе и каковые можно очистить, так сказать, физическим путём. В общем говоря, нужна для скорости и стабильности работы.
Дабы проверить включен ТРИМ в системе или нет, собственно, нам потребуется консоль, она же командная строка.
Чтобы запустить командную строку, нажмите сочетание клавиш Win+R и в появившемся окне «Выполнить» введите cmd. Сама утилита командной строки лежит обычно в папке C:\Windows\System32\cmd.exe и её можно запустить оттуда (желательно методом «Правая кнопка мышки -> Запуск от имени администриратора»).
В появившейся консоли необходимо ввести команду:
fsutil behavior query DisableDeleteNotify
Ответом будет одна или две строки со значением 0 / 1 в качестве результирующего параметра.
Первая строка (которая NTFS) отвечает, как ни «странно», за файловую систему NTFS, вторая за серверную файловую систему ReFS. Если Вы не находитесь за Windows Server, то Вас должна интересовать только первая строка.
Что к чему:
- 0, — значит всё в порядке и TRIM включен;
- 1, — TRIM выключен на уровне системы.
В случае, если у Вас многострадальная единичка, рекомендуется, собственно, включить TRIM, дабы ускорить работу SSD на порядок-другой. Чтобы это сделать введите команду:
fsutil behavior set disabledeletenotify NTFS 0
..или..
fsutil behavior set disabledeletenotify ReFS 0
Соответственно, для той или иной файловой системой (ну вдруг Вы правда за сервером сидите или каким-то волшебным образом зачем-то отформатировали диск в этом формате?).
Если получите ошибку «Отказано в доступе», то повторите процедуру, запустив консоль от имени администратора (выше написано как это делается). После включения или выключения лучше сделать перезагрузку.
Но мало включить или выключить TRIM на уровне системы, важно, чтобы контроллер поддерживал функционал технологии и он исправно работал, для чего это неплохо бы проверить, что мы сейчас и сделаем
Скачайте программку TRIMcheck для 32-х или 64-х битной версии системы (в зависимости от того какая у Вас Windows), поместите файл программы на соответствующий SSD (который хотите проверить), запустите его (лучше тоже от имени администратора) и нажмите Enter.
Дождитесь окончания работы скрипта и еще раз нажмите в Enter. После чего обязательно подождите от 20 секунд до нескольких минут (лучше больше, чем меньше) и запустите программу повторно.
Результат будет, либо как на скриншоте выше (т.е to be WORKING!) и значит, что всё отлично и прекраснейшим образом работает, либо как на скриншоте ниже:
Тобишь, to be NOT WORKING, что значит, что ТРИМ нифига не работает и всё очень грустно. В последнем случае Вам надо будет сделать следующее:
- Проверить, что в BIOS режим контроллера SATA находится в положении ACHI, а не IDE, RAID или каком-либо еще;
- Проверить, как это мы делали выше, что в Windows включен TRIM и даже, если Вы это делали, то выключить и включить повторно (перезагрузившись при каждом из действий);
- Попробовать скачать SSD Mini Tweaker, распаковать и запустить соответствующую версию (лучше тоже от имени администратора), где попробовать насильно включить TRIM и ACHI режим в операционной системе, не забыв тыкнуть в кнопку «Применить изменения» и потом перезагрузить компьютер:
- Обновить драйвера на Вашу мат.плату и в, особенности, на ACHI-контроллер, что можно сделать с сайта производителя или, в крайнем случае, используя DriverPack Solution;
- Перепрошить Ваш SSD на последнюю версию прошивки (как это сделать можно узнать на сайте производителя).
Пожалуй, на этом всё. Можно переходить к послесловию.
Стоит ли покупать насадку для переделки триммера в лодочный мотор
На этот вопрос однозначного ответа дать невозможно, так как кто-то очень привык к моторам на лодки, а другие их никогда не использовали. При этом, если вы хотите себе действительно мощную лодка, тогда естественно самым выгодным и эффективным решением будет установка стандартного триммера. Но стоит учитывать, что данный вариант является универсальным. Как уже говорилось выше – самое главное грамотно совместить.
Многие специалисты рекомендуют лопасти, аналогичные лопастям вашего старого мотора
Очень важно, что устанавливать необходимо в точном соответствии с инструкцией
Кроме этого, следует обратить свое внимание и на тот момент, что с собой обязательно нужно брать дополнительное топливо, а также как и обычной газонокосилке следует давать возможность “отдохнуть” поскольку из-за очень длительного использования, триммер-мотор может просто выйти из строя прямо на воде
Чем лопасти больше, тем эффективнее будет сам триммер.
Переделка мотокосы заключается в следующем:
Изначально идет переделка основного гнутого вала: сначала из бобины со специальной леской извлекается штатная гайка. Она собой представляется небольшую трубку, длина которой составляет 20 мм.
При этом, гайка должна сохраняться, поскольку резьба на мотокосах необыкновенная и найти такую же практически невозможно.
Затем снимается пластмассовая накладка с клавишами. После этого, на самом конце самой гнутой трубы располагается стандартная втулка из бронзы (часто ее называют подшипником скольжения) – ее необходимо аккуратно вырезать, после этого нужно вынуть дейдвудный вал, открутить гайку и металлический вал.
Самое главное – это правильно подобрать лопасти. Здесь все напрямую зависит от того, какие габариты у вашей лодки.
Здесь очень важно обратить свое внимание на тот фактор, что самым лучшим решением будет ввести в поиске “моторы на лодку” и на первом попавшемся сайте зайти на сайте, где продаются моторы и задать вопрос консультанту, который предложит вам свою помощь – вы говорите габариты собственного автомобиля, а потом, когда вы получите подходящий мотор, нужно посмотреть на технические характеристики и узнать габариты лопастей
Объясним на пальцах, как раз их 20…
Когда вы создаёте файл, операционная система отправляет команду записи по адресу определенного логического блока. Когда вы удаляете данные с диска, эти блоки помечаются свободными. При этом, данные останутся на диске пока контроллер не захочет их перезаписать. Перед нами часть памяти, в которой находятся файлы А и В разных размеров, занимающих, соответственно, разное количество блоков. Сначала мы удаляем файл В, а затем записываем файл С на наш диск. Для наглядного представления ситуации, когда TRIM не работает, добавим простую иллюстрацию, в которой обозначены следующие состояния:
- Наличие файлов А и В.
- Удаление нашими руками файла В.
- Определённое время бездействия. Заметим, что помеченные на очистку блоки данных так и остались с данными в них.
- Запись файла С, но сначала – удаление файла В из ячеек.
- Наличие файлов А и В.
- Удаление нашими руками файла В.
- Определённое время бездействия, в которое помеченные на удаление блоки с файлом В очищаются.
- Запись файла С без каких-либо задержек в область, где был файл В.
То есть, логика работы совсем другая. Повторим пройденное — в момент удаления нами файла B отправляется команда TRIM, и, поскольку в SSD достаточно часто простаивает, он с радостью удаляет ненужные блоки практически сразу. И в момент того, как мы хотим записать файл С, то он сразу же записывается на диск, а не ждёт пока для него очистят блоки с мусором.
Как проверить, включена команда TRIM (на примере Windows 10)
- Запустить командную строку Windows от имени администратора (все способы), например, так: в поиске на панели задач набирать латиницей «cmd» или просто начать вводить «коман…»;
- Нажать правой кнопкой мыши по «Командная строка (Классическое приложение)» → Запустить от имени администратора;
- Далее ввести команду: fsutilbehaviorquerydisabledeletenotify → нажать Enter на клавиатуре. В результате получим отчёт о состоянии TRIM.
В нашем примере (смотрите скриншот выше) из полученного отчёта следует, что команда TRIM включена и используется – значение 0 напротив NTFS DisableDeleteNotify.
Если бы стояла цифра «1», то это означало бы, что команда TRIM отключена.
Что такое TRIM для SSD накопителей?
TRIM — это команда, с помощью которой операционная система может сказать твердотельному диску (SSD), какие блоки данных больше не нужны и могут быть удалены или помечены как свободные для перезаписи. Другими словами, TRIM — это команда, которая помогает операционной системе точно знать, где хранятся данные, которые вы хотите переместить или удалить. Таким образом, твердотельный накопитель может получить доступ только к блокам, содержащим данные. Кроме того, всякий раз, когда команда удаления выдается пользователем или операционной системой, команда TRIM немедленно стирает страницы или блоки, где хранятся файлы. Это означает, что в следующий раз, когда операционная система попытается записать новые данные в этой области, ей не нужно сначала ждать ее удаления.
Давайте углубимся в это понятие: чтобы понять, что такое TRIM и что он делает, вам сначала нужно знать, как работают SSD и как они обрабатывают информацию, хранящуюся на них.
Твердотельный накопитель — это не что иное, как устройство, заполненное чипами флэш-памяти. Операционная система должна иметь возможность считывать и обрабатывать данные на этих чипах. Для этого у SSD должен быть способ упорядочить эти данные. Информация, хранящаяся на SSD, делится на блоки данных. Эти блоки, в свою очередь, делятся на страницы данных. Чтобы лучше проиллюстрировать это, представьте, что SSD — это библиотека. В библиотеке много полок, и эти полки заполнены книгами.
Однако что происходит, когда вы больше не хотите хранить одну из этих книг? Скажем, вы хотите продать его или одолжить другу. Казалось бы, очевидно, что вам нужно только взять книгу с этой полки. Что ж, если ваша библиотека представляет собой твердотельный накопитель, все будет не так. На SSD, если вы решите удалить некоторые данные, не будет иметь значения, если они занимают только страницу из блока. Весь блок должен быть удален! Вся информация на других страницах будет перемещена во временную буферную память, а затем помещена обратно в исходный блок. Это все равно, что вычистить целую полку из своей библиотеки всякий раз, когда вы хотите вынуть книгу или заменить ее новой. Тогда вам придется положить все остальные книги обратно на свои места. Это не эффективно!
В заключение, чтобы твердотельный накопитель записывал новые данные в ранее занятое пространство, сначала его необходимо полностью стереть. Делая это каждый раз, когда вы перемещаете или удаляете данные на вашем SSD, вы уменьшаете производительность для скорости записи данных.
Как работает SSD без TRIM
Представьте гипотетический SSD, состоящий из одного блока в пять страниц по 8KB. Сначала вы создали два файла: книгу Excel и документ Word размерами соответственно 8KB и 16KB. Потом вы удалили первый файл и решили сохранить на диск картинку в формате JPEG размером 24KB.
При отсутствии TRIM весь процесс выглядит так.
Давайте разберем этапы процесса, держа в уме, что контроллер записывает данные в отдельные страницы памяти, но стирать может только целые блоки.
- Вы создали два файла и удалили один из них. Если TRIM не работает, накопитель узнает об удалении книги Excel только в тот момент, когда ОС прикажет ему перезаписать LBA, покрывающий ставший ненужным файл.
- Вы сохраняете изображение в формате JPEG размером 24KB. Операционная система знает, что на диске достаточно места (8+16-8+24=40KB), но контроллеру не хватает свободной страницы. Поэтому он считывает все содержимое блока и записывает его в кэш, которым может служить внешний модуль DRAM или собственный ресурс чипа (у SandForce).
- Контроллер модифицирует считанные данные, избавлясь от ставшей ненужной книги Excel.
- К оставшемуся документу добавляется картинка в формате JPEG.
- Контроллер стирает наш блок флэш-памяти, после чего записывает в него изображение и документ.
Вы просто сохранили изображение объемом 24KB, но при этом в рамках цикла «чтение — изменение — запись» контроллер прочел 24KB (этап 2) и записал 40KB (этап 5).
Чтобы активность системы и программ не загоняла контроллер в угол, производители SSD выделяют на диске , скрытую от системы. Но без TRIM она может лишь отсрочить неизбежную фрагментацию памяти, что возвращает нас к описанной выше ситуации. Со временем это выливается в снижение скорости записи.
Как включить TRIM для SSD в Windows 10
Если командная строка показала, что TRIM для SSD у вас отключена, значит ее надо бы включить. Причины для включения этой функции описаны выше. Если говорить проще, то с TRIM для SSD диск работает дольше, диск работает быстрее. Прежде чем включать TRIM, проверьте, правильно ли определяется ваш SSD в системе.
Для справки: шаги, описанные в инструкции ниже, требуют наличия прав Администратора. Если таковых у вашей учетной записи нет, придется ввести пароль от профиля с правами Администратора.
- Откройте Проводник, найдите ваш диск и нажмите по нему правой кнопкой мыши. Выберите Свойства и перейдите на вкладку Сервис. Нажмите Оптимизировать.
- В списке дисков проверьте параметр Тип носителя. Убедитесь, что там отображается «Твердотельный накопитель». Если так, следующие шаги можете пропустить. Если нет, продолжайте выполнять инструкцию в этом разделе.
- Запустите Командную строку от имени Администратора (нажмите Пуск и введите «Командная строка», а затем кликните правой кнопкой мыши и выберите Запуск от имени Администратора).
- Введите команду winsat diskfomal, нажмите Enter и дождитесь ее завершения.
- После этого система должна правильно отображать тип носителя и сама же включить TRIM. Если диск корректно определяется, но TRIM не включена, читайте инструкцию дальше.
Теперь надо запустить командную строку с правами Администратора.
- Нажмите Пуск, введите «Командная строка», нажмите правой кнопкой мыши по результату поиска и выберите Запуск с правами Администратора. Если ваша учетная запись не имеет прав Администратора, на экране UAC надо будет ввести пароль от профиля Администратора.
- Далее введите следующую команду: disabledeletenotify 0 и нажмите Enter.
- После этого Командная строка отобразит сообщение NTFS DisableDeleteNotify = 0. Это значит, что функция TRIM успешно активирована.
Не трогать дефрагментацию Windows
Еще одна реликвия ранних дней SSD заключалась в том, что дефрагментация SSD была не только ненужной, но и потенциально опасной. Дефрагментация забирает ресурсы изнашивания циклов чтения/записи данных, оставшихся на SSD диске. Так и есть, но сегодняшняя Windows 10 это уже знает, и если у вас дефрагментация включена, Windows определит ваш SSD и не будет дефрагментировать его. Лучше подумать о сегодняшней дефрагментации в Windows 10, как о более универсальном инструменте для защиты диска. Даже кнопка относится к процессу как «Оптимизация», а не «дефрагментации». Процесс также будет «восстанавливать» ваш SSD, который запускает прекрасную функцию TRIM, о которой мы говорили ранее. Теперь накопал одну статью с фактами.
Scott Hanselman поговорил с командой разработчиков, работающих над реализацией накопителей в Windows:
Оптимизация накопителей (в Windows 10) производит дефрагментацию SSD раз в месяц, если включено теневое копирование тома (защита системы). Это связано с влиянием фрагментации SSD на производительность. Здесь имеет место неправильное представление о том, что фрагментация не является проблемой для SSD — если SSD будет сильно фрагментирован, вы можете достичь максимальной фрагментации, когда метаданные не смогут представлять больше фрагментов файлов, что приведет к ошибкам при попытках записи или увеличения размера файла. Кроме этого, большее количество фрагментов файлов означает необходимость обработать большее количество метаданных для чтения/записи файла, что приводит к потерям производительности.
Что касается Retrim, эта команда выполняется по расписанию и необходима в связи с тем, каким образом выполняется команда TRIM в файловых системах. Выполнение команды происходит асинхронно в файловой системе. Когда файл удаляется или место освобождается другим образом, файловая система ставит запрос на TRIM в очередь. В связи с ограничениями на пиковую нагрузку, эта очередь может достигнуть максимального количества запросов TRIM, в результате чего последующие будут проигнорированы. В дальнейшем, оптимизация накопителей Windows автоматически выполняет Retrim для очистки блоков.
Итог:
- Дефрагментация выполняется только если включена защита системы (точки восстановления, история файлов использующие VSS).
- Оптимизация дисков используется для того, чтобы пометить неиспользуемые блоки на SSD, которые не были помечены при работе TRIM.
- Дефрагментация для SSD может быть нужна и при необходимости автоматически применяется. При этом (это уже из другого источника) для твердотельных накопителей используется иной алгоритм дефрагментации по сравнению с HDD.
Другими словами, дефрагментация Windows адаптируется к вашему SSD, поэтому оставьте в покое эту функцию, включите и забудьте!
Prefetch и Superfetch
Prefetch – технология, с помощью которой часто используемые программы загружаются в память заранее, тем самым ускоряется последующий их запуск. При этом на дисковом пространстве создается одноименный файл.
Superfetch – технология похожая на Prefetch с тем отличием, что ПК предугадывает какие приложения будут запущенны, заблаговременно загружая их в память.
Обе функции не имеют пользы при использовании SSD. Поэтому их лучше всего отключить. Для этого:
- Вызываем командную строку сочетанием клавиш win + R.
- Выполняем команду: «regedit» (переход в реестр).
- Переходите по пути: HKEY_LOCAL_MACHINE → SYSTEM → CurrentControlSet → Control → Session Manager → Memory Management → PrefetchParameters.
- Находите в подразделе реестра несколько параметров: «EnablePrefetcher» и «EnableSuperfetch», устанавливаете их значение в 0 (по умолчанию 3).
Проверяем и подключаем Трим
Я уверен, что обладатели компьютеров и ноутбуков с SSD, наверняка задумались над тем, а поддерживает ли их устройство Trim? В Windows 7, 8, 10 это можно легко проверить. Как? Отправив от имени администратора запрос в командной строке (быстро найти ее можно в «Поиске»). Итак, запустили нужный режим и вводим следующий текст:
Поскольку скопировать и вставить команду у вас не получиться. Рекомендую заранее внимательно записать ее на бумагу или открыть данную инструкцию в расположенном рядом окне.
Вводим, проверяем, смотрим на экран. В зависимости от типа форматирования диска вы получите сообщение типа:
Цифра после знака равно как раз и показывает состояние Trim SSD: «ноль» — включено; «единица» — не работает.
В большинстве случаев вы получите положительный ответ на подобный запрос. Поскольку данная функция активирована в системе по умолчанию. Но может быть, что этого по определенным причинам не произошло. Включить «Трим» вручную одной командой можно также быстро, как и проверить его:
или
Но я все-таки рекомендую выполнить ряд действий, позволяющих выявить причину, по которой функция Trim не сработала. Для начала выясним, распознала ли система ваш ССД должным образом. Находим его в проводнике, жмем правой кнопочкой мышки, выбираем «Свойства» и вкладку «Сервис». Здесь нас интересует кнопка «Оптимизировать» (сопровождаемая привычным значком, обозначающим «дефрагментацию»). Она открывает таблицу с томами диска. Изучаем ее на предмет соответствия информации.
Если вместо «твердотельный накопитель» будет указан «жесткий диск», то нам придется указать системе истинный тип диска. Уже привычным действием открываем командную строку и от имени администратора запускаем «анализ производительности диска» набрав:
После этого ОС должна сама активировать Trim.
Что такое TRIM для накопителей SSD?
TRIM — это команда, с помощью которой операционная система может сообщить твердотельному диску (SSD), какие блоки данных больше не нужны и могут быть удалены, или отмечены как свободные для перезаписи. Другими словами, TRIM — это команда, которая помогает операционной системе точно знать, где хранятся данные, которые вы хотите переместить или удалить. Таким образом, твердотельный диск может получить доступ только к блокам, содержащим данные. Кроме того, всякий раз, когда команда удаления выдается пользователем или операционной системой, команда TRIM немедленно уничтожает страницы или блоки, где хранятся файлы. Это означает, что в следующий раз, когда операционная система попытается записать новые данные в этой области, она не должна ждать сначала, чтобы удалить ее.
Давайте углубимся в это понятие: понять, что такое TRIM, и что он вам сначала нужно знать, как работают SSD и как они обрабатывают информацию, хранящуюся на них.
Твердотельный накопитель — это не что иное, как устройство, полное чипов флэш-памяти. Операционная система должна иметь возможность читать и обрабатывать данные об этих чипах. Для этого SSD должен иметь способ организовать эти данные. Информация, хранящаяся на SSD, делится на блоки данных. Эти блоки, в свою очередь, делятся на страницы данных. Чтобы лучше продемонстрировать, представьте, что SSD является библиотекой. В библиотеке много полки, и эти полки заполнены книгами.
Однако что происходит, когда вы больше не хотите хранить одну из этих книг? Скажите, что вы хотите продать его или одолжить другу. Казалось бы, вам нужно только снять книгу с этой полки. Ну, если ваша библиотека — твердотельный диск, все будет работать не так. На SSD, если вы решите удалить некоторые данные, не имеет значения, занимает ли он только страницу из блока. Весь блок нужно будет удалить! Вся информация на других страницах переместилась во временную буферную память, а затем вернется в исходный блок. Это похоже на освобождение целой полки из вашей библиотеки, когда вы хотите взять книгу или заменить ее на новую. Тогда вам нужно будет вернуть все остальные книги на свои места. Это не эффективно!
В заключение, для твердотельного диска для записи новых данных в ранее занятом пространстве сначала необходимо полностью стереть его. Выполнение этого при каждом перемещении или удалении данных на вашем SSD приводит к снижению производительности для скорости записи данных.
Недостатки
Некоторые схемы шифрования, которые можно отрицать, заставляют весь диск выглядеть как случайный мусор. Использование TRIM устраняет этот уровень правдоподобного отрицания, поскольку созданные блоки «все-ноль» (или «все-один») легко указывают, какие блоки используются. Утверждалось, что отключение TRIM тоже может быть подозрительным
Исходная версия команды TRIM была определена подкомитетом T13 как команда, не поставленная в очередь , и, следовательно, при неосторожном использовании, например, при отправке после каждой команды удаления файловой системы, она может повлечь за собой серьезные штрафы за выполнение. Не ставящая в очередь природа команды требует, чтобы драйвер сначала дождался завершения всех невыполненных команд, выдал команду TRIM, а затем возобновил обычные команды
TRIM может занять много времени, в зависимости от прошивки на SSD, и даже может вызвать цикл сборки мусора . Этот штраф можно минимизировать в решениях, которые периодически выполняют пакетную TRIM вместо обрезки при каждом удалении файла , путем планирования таких пакетных заданий на периоды, когда загрузка системы минимальна. Этот недостаток TRIM был преодолен в версии 3.1 Serial ATA с введением команды TRIM в очереди.
Неисправная прошивка накопителя, которая неверно сообщает о поддержке TRIM в очереди или имеет критические ошибки в ее реализации, была связана с серьезным повреждением данных на нескольких устройствах, в первую очередь Micron и Crucial M500 и Samsung 840 и 850 серии. Повреждение данных было подтверждено в операционной системе Linux (единственная ОС с поддержкой очереди обрезки по состоянию на 1 июля 2015 года).
Эти устройства занесены в черный список в файле libata-core.c ядра Linux, чтобы принудительно отправлять на эти диски не поставленные в очередь команды TRIM ( ATA_HORKAGE_NO_NCQ_TRIM ) вместо помещенных в очередь команд TRIM:
- Micron / Crucial M500 с использованием всех версий прошивки, включая повторно сертифицированные заводские твердотельные накопители
- Micron M510 с версией прошивки MU01
- Micron / Crucial M550 с версией прошивки MU01
- Crucial MX100 с версией прошивки MU01
- SSD-накопители Samsung серий 840 и 850 со всеми версиями прошивки
Этот файл также помещает SuperSSpeed S238 в черный список для TRIM в целом из-за того, что неправильные блоки теряют данные при выдаче TRIM.
libata-core.c также имеет белый список для перечисления твердотельных накопителей, которые надежно известны специалистам по обслуживанию подсистемы для правильной реализации флагов DRAT и RZAT ( ATA_HORKAGE_ZERO_AFTER_TRIM ), вместо того, чтобы игнорировать их, как это делают многие диски. В белый список включены следующие диски:
- SSD-накопители Crucial
- Твердотельные накопители Intel, за исключением Intel SSD 510
- Твердотельные накопители Micron
- SSD-накопители Samsung
- Твердотельные накопители Seagate
Функция TRIM для SSD-дисков и как проверить ее работу
Одним из способов продления срока службы жёстких дисков HDD является периодическая дефрагментация, кстати, совершенно излишняя для дисков SSD. И хотя с точки зрения операционной системы данные на твердотельном накопителе и выглядят разбросанными, в действительности они находятся там, где надо, там, где их разместил контроллер, в задачи которого, а вовсе не операционной системы входит оптимизация данных во флеш-памяти. Но есть в SSD нечто такое, без чего снижение производительности и общего срока службы практически неизбежно.
Это нечто — специальная функция, предназначенная для «уборки мусора» на SSD. Называется она TRIM. При удалении файла на жёстком диске HDD операционная система удаляет запись о файле из таблицы MFT, сам файл же остаётся на месте. Когда же пользователь записывает на диск новые данные, они размещаются поверх старых, перезаписывая их. Нечто подобное происходит и на SSD-дисках, но при этом из ячеек flash памяти удаляется и сами данные. В сущности, в этом и заключается работа функции TRIM. Благодаря одновременному удалению данных о файле и самого файла скорость записи на носитель увеличивается, а количество циклов перезаписи уменьшается.
Описание, конечно, примитивное, в реальности всё немного сложнее, но мы решили не вдаваться в технические подробности процесса. Главное, чтобы функция TRIM была включена, проверкой чего мы и займёмся. Как правило, работу функции TRIM проверяют командой fsutil behavior query disabledeletenotify, выполненной в запущенной от имени администратора командной строке. Если результатом выполнения команды будет , значит TRIM включена, если 1, соответственно отключена. Включается TRIM командой fsutil behavior set disabledeletenotify 0.
Как удостовериться, что TRIM действительно работает
Положительный результат команды fsutil не является стопроцентной гарантией того, что функция TRIM действительно работает. Она лишь показывает, что TRIM включена, а вот доходят ли отправляемые ею команды до контроллера или нет, неизвестно. Выяснить это наверняка можно с помощью бесплатной утилиты TRIMcheck. Для этого нужно запустить утилиту с проверяемого диска, нажать Enter, закрыть её, а затем спустя пару минут запустить повторно. Если TRIM работает, в консольном окне утилиты вы получите сообщение «CONCLUSION: TRIM appears to be WORKING!».
Как быть, если TRIM не работает
Использование TRIMcheck — отличный способ проверить работу функции TRIM, но и здесь есть небольшая заковырка. Если контроллер SSD имеет обыкновение делать своё дело при простое системы, с первого раза утилита может показать отрицательные результаты. В таком случае необходимо перезагрузить компьютер, а затем позволить ему перейти в режим бездействия, для чего достаточно просто оставить его на некоторое время в покое, после чего заново запустить TRIMcheck.
Если отрицательные результаты утилита выдаёт на второй и на третий день, весьма вероятно, что у контроллера есть проблемы с TRIM. Во-первых, убедитесь, что режим AHCI дискового контроллера активирован. Во-вторых, в Диспетчере устройств посмотрите какой драйвер контроллера используется, сторонний или стандартный (msahci.sys). Если сторонний, попробуйте обновить его, а затем заново пройти тест TRIMcheck.
Также решением проблемы может стать переход на стандартный драйвер Microsoft — msahci.sys. Для этого в Диспетчере устройств найдите контроллер SATA, кликом правой кнопкой мыши по нему вызовите меню и выберите опцию «Обновить драйверы». Используете ручной поиск. В списке найденных драйверов выберите стандартный SATA/AHCI и нажмите «Установить с диска».
Наконец, можно попробовать обновить прошивку SSD, скачав необходимый пакет с официального сайта производителя накопителя. Процедура эта очень простая, почти ничем не отличающаяся от установки обычных прикладных программ, но прибегать к ней стоит, когда все прочие варианты были исчерпаны.
Что такое TRIM
У электронных (SSD) дисков есть отличие от магнитно-механических (HDD) которое влияет на скорость записи. В HDD дисках запись выполняется «поверх» старых данных. Блоки диска, которые ранее содержали данные, а затем эти данные были удалены, просто помечаются как свободные. И когда нужно выполнять запись, контроллер HDD сразу записывает новые данные в эти свободные блоки.
Но при использовании флэш-памяти, блоки которые ранее содержали какую-то информацию, перед записью должны быть очищены. Это приводит к тому, что при записи в ранее использованные блоки скорость записи сильно падает, ведь контроллеру нужно их подготовить для записи (очистить).
Проблема в том, что операционные системы традиционно не работают с файловой системой таким образом, что при удалении файлов очищается содержание блоков на диске. Ведь на дисках HDD в этом не было необходимости.
Поэтому при использовании SSD дисков возникает эффект «деградации сборщика мусора». А эта подпрограмма обрабатывает все сектора из списка.
Сборщик мусора работает в те моменты, когда диск простаивает. То есть, когда операционная система не присылает запросы на чтение или запись данных. Поэтому с момента получения команды TRIM, до фактического удаления этих секторов проходит некоторое время.
Если в очереди на тримеризацию много секторов, их очистка может занять продолжительное время. Например, если выполнить быстрое форматирование целого раздела, то TRIM такого объема может быть длительным.
Однако нет необходимости сидеть и ждать когда процесс закончится. Даже если диск будет выключен, то обработка очереди возобновится после его включения.