Есть ли смысл дефрагментировать SSD?
Многие пользователи периодически дефрагментируют жесткий диск, но нужна ли эта процедура для современных твердотельных накопителей — SSD? Разбираемся в нашей статье.
Дефрагментация SSD: есть ли в этом смысл?
Обычный жесткий диск имеет головку для записи и чтения. Она постоянно перемещается туда-сюда, чтобы найти нужные данные, разбросанные по разным местам. Информация на HDD всегда записываются туда, где есть свободное место. После удаления она исчезает, и в «ровном строю» файлов появляются пробелы. Дефрагментация упорядочивает эти данные, располагая их рядом. Таким образом, дефрагментация не только ускоряет работу жесткого диска, но и увеличивает срок его службы за счет снижения износа.
Твердотельный накопитель (SSD) не имеет такой головки для записи и чтения, поэтому дефрагментация не имеет смысла. В SSD данные хранятся на чипах памяти, поэтому могут быть извлечены значительно быстрее. Дефрагментация также приведет к упорядочению файлов, но это не поможет им быстрее запускаться. Поскольку во время дефрагментации выполняется множество операций записи, накопитель работает интенсивнее. Таким образом, частая дефрагментация не только не поможет, но и сократит срок службы SSD.
Windows: отключение дефрагментации SSD
Начиная с Windows 8, дефрагментация SSD-дисков отключается автоматически. Однако в более старых операционных системах настройки могут быть неправильными. Даже если вы собрали свой компьютер самостоятельно, советуем проверить этот параметр.
5 вещей, которые не следует делать с твердотельными дисками SSD.
Не делайте дефрагментацию.
Не следует выполнять дефрагментацию на твердотельных дисках. Диски SSD имеют ограниченное количество циклов записи — а дефрагментация выполняет множественные перезаписи при перемещении кусочков файлов.
Более того, после дефрагментации SSD вы не заметите никаких изменений в скорости работы. На механическом жестком диске дефрагментация полезна, поскольку уменьшает количество необходимых для считывания информации передвижений головки: на сильно фрагментированном HDD из-за значительного времени, необходимого на механический поиск фрагментов информации, компьютер может «тормозить» при операциях обращения к жесткому диску.
На твердотельных дисках механика не используется. Устройство просто считывает данные, в каких бы ячейках памяти на SSD они не находились. На самом деле SSD даже спроектированы таким образом, чтобы максимально распределить данные по всей памяти, а не накапливать их в одной области, что приводит к более быстрому износу SSD.
Не используйте Windows XP, Vista и не отключайте TRIM.
Если на вашем компьютере установлен SSD, следует использовать современную операционную систему. В частности, не нужно использовать Windows XP или Windows Vista. Обе эти ОС не поддерживают команду TRIM. Таким образом, когда вы удаляете файл в старой операционной системе, она не может послать данную команду твердотельному диску и, таким образом, данные остаются на нем.
В дополнение к тому, что это означает потенциальную возможность считать ваши данные, это приводит также и к более медленной работе компьютера. Когда ОС нужно записать данные на диск, она вынуждена предварительно стереть информацию, после чего произвести запись, что снижает скорость операций записи. По этой же причине не следует отключать TRIM на операционных системах Windows 7 и других, поддерживающих эту команду.
Не заполняйте SSD полностью.
Необходимо оставлять свободное место на твердотельном диске, в противном случае, скорость записи на него может значительно упасть. Это может показаться странным, но на самом деле, объясняется достаточно просто.
Когда на SSD имеется достаточное количество свободного места, твердотельный диск использует свободные блоки для записи новой информации.
Когда на SSD мало свободного пространства, на нем присутствует множество частично заполненных блоков. В этом случае, при записи происходит сначала чтение определенного частично заполненного блока памяти в кэш, его изменение и перезапись блока обратно на диск. Это происходит с каждым блоком информации твердотельного диска, который необходимо использовать для записи того или иного файла.
Другими словами, запись в пустой блок — это очень быстро, запись в частично заполненный — заставляет выполнять много вспомогательных операций, а соответственно происходит медленно.
Тести показывают, что следует использовать около 75% емкости SSD для идеального баланса между производительностью и количеством хранимой информации. Таким образом, на 128 Гб SSD оставляйте 28 Гб свободными и по аналогии для твердотельных дисков большего объема.
Ограничьте запись на SSD.
Чтобы продлить жизнь SSD, следует постараться по возможности уменьшить количество операций записи на твердотельный диск. Например, вы можете сделать это, настроив в программах запись временных файлов на обычный жесткий диск, если он имеется на вашем компьютере (однако, если ваш приоритет — высокая скорость работы, для чего, собственно и приобретается SSD, делать этого не следует). Неплохо бы отключить службы индексирования Windows при использовании SSD — это может даже ускорить поиск файлов на таких дисках, вместо того, чтобы замедлить его.
Не храните большие файлы, к которым не нужен быстрый доступ на SSD.
Это достаточно очевидный пункт. Твердотельные диски SSD меньше по объему и более дорогие, чем обычные жесткие диски. При этом они обеспечивают большую скорость, меньшее потребление энергии и шум при работе.
На SSD, особенно при наличии второго жесткого диска, следует хранить файлы операционной системы, программ, игр — для которых важен быстрый доступ и которые постоянно используются. Не следует хранить коллекции музыки и фильмов на твердотельных дисках — для доступа к этим файлам не нужна высокая скорость, они занимают много места и доступ к ним нужен не так уж и часто. Если у вас нет второго встроенного жесткого диска, хорошей идеей будет приобрести внешний диск для хранения ваших коллекций фильмов и музыки. Кстати, сюда же можно отнести и семейные фотографии.
Надеюсь, эта информация поможет вам увеличить срок жизни вашего SSD и радоваться скорости его работы.
Ещё один взгляд на вопрос «нужна ли дефрагментация для SSD»
Несомненно, вопрос, вынесенный в заголовок статьи, не нов, поднимался не раз и по нему достигнут консенсус «не особо нужна, и даже может быть вредна».
Однако недавнее обсуждение в комментариях заставило меня ещё раз задуматься.
Со временем любой SSD всё равно сильно фрагментируется (внутри, в FTL)… Свежезаписанный SSD при линейном чтении даст высокую скорость, а уже поработавший — гораздо ниже, потому что линейными оно будет только для вас.
Да, обычно такое не должно происходить: или мы пишем «понемногу» в мелкие файлы/небольшие блоки метаинформации ФС (скорость линейного чтения которых нас не особо волнует), либо же мы пишем «помногу» в большие файлы и всё будет хорошо. Бывает и дозапись мелкими блоками в большие файлы — логи, например, однако они относительно короткоживущие и особой проблемы я тут не вижу.
Но легко представился вполне реальный сценарий, при котором всё-таки внутренняя фрагментация SSD может проявиться: файл базы данных, в который идёт достаточно активная случайная запись. Со временем он (оставаясь нефрагментированным на уровне операционной системы) окажется физически очень даже фрагментированным, что может существенно снизить скорость seq scan, резервного копирования и т.п.
Для проверки я написал скрипт и провёл тесты.
Спойлер: проблема присутствует (существенно влияет на производительность) только на одной из попавшихся под руки моделей (и та позиционируется производителем не как datacenter, а как десктопная/ноутбучная).
Если в двух словах, SSD устроен очень непросто. В NAND flash можно писать (точнее стирать) только большими блоками. А операционная система видит SSD как набор 512-байтовых (или 4096-байтовых) секторов, каждый из которых может быть адресован независимо.
Чтобы как-то это совместить, придумана такая вещь, как FTL (flash translation layer): данные во flash-памяти лежат не последовательно, а (очень условно) в том порядке, в котором они были записаны, что-то вроде log-структурированных файловых систем.
Такие структуры очень хорошо обрабатывают случайную запись, превращая её в последовательную, но, увы, ничто не бывает бесплатно — в результате зачастую последовательное чтение превращается в случайное.
Алгоритмы, по которым работают FTL, закрыты, однако, насколько мы можем судить, у разных производителей они могут кардинально различаться. Соответственно, кардинально может различаться и поведение накопителей под нагрузкой.
Именно это мы и будет исследовать.
Идея скрипта: создаём файл на несколько гигабайт, заполненный случайными данными, замеряем скорость последовательного чтения.
Далее используя случайный доступ переписываем часть тестового файла и снова измеряем скорость линейного чтения. Если наши подозрения верны, то теперь чтение из файла будет идти медленнее.
После каждой записи делаем по три операции чтения с задержкой между ними на случай, если какой-то накопитель в фоне производит дефрагментацию и потом скорость чтения улучшится.
Не раз встречал обзоры, в которых запускают чтение с нового накопителя, получают какие-то фантастические цифры и, ничтоже сумняшеся, публикуют их. Через какое-то время тест повторяют уже на не столь девственном диске, и вдруг оказывается, что время доступа выросло, а скорость, соответственно, упала.
Дело в поддержке TRIM: контроллер внутри SSD может «знать», что в конкретном блоке нет полезных данных, информация об этом хранится в FTL. И при запросе на чтение из такого блока он не обращается к медленной NAND flash, а сразу возвращает нули. На новом накопителе все блоки помечены как неиспользуемые, соответственно, в тестах на чтение он готов ставить рекорды. Только нас же интересует с какой скоростью SSD умеет отдавать не нули, а данные.
Кроме этого, некоторые накопители умеют сжимать данные, и на хорошо сжимаемых тестовых данных могут показывать не совсем те результаты, которые будут в реальной жизни.
Поэтому, перед тестированием стоит заполнять SSD несжимаемыми данными (в linux хорошим источником может служить /dev/urandom ).
тестовый файл создаётся в текущем каталоге.
тестировал только под linux c dash, coreutils и fio из debian buster, с другими дистрибутивами навряд ли будут проблемы, а вот под freebsd и другие операционные системы скорее всего скрипт придётся «допиливать».
Обнаружилось, что NVMe-накопители intel у меня сейчас только на серверах с windows; пришлось с помощью гугла, stackexchange и какой-то матери слепить вариант и под винду
Из внешних зависимостей только fio ; путь к exe-файлу и временному файлу указывается в первых строчках скрипта.
Получил следующие результаты:
Время чтения (в секундах) файла размером 4Гб для разных дисков:
| Диск | Первое чтение после последовательного заполнения файла | После случайной записи 50Мб | +200Мб | +800Мб | +4000Мб |
|---|---|---|---|---|---|
| intel S3510 SSDSC2BB480G6 | 10.7 | 10.7 | 10.8 | 10.8 | 10.8 |
| toshiba XG5 KXG50ZNV512G | 1.9 | 2.9 | 3.7 | 4.8 | 6.8 |
| samsung PM963 MZQLW960HMJP | 2.8 | 3.2 | 3.5 | 3.7 | 4.2 |
| samsung PM983 MZQLB960HAJR | 3.3 | 3.6 | 3.4 | 3.4 | 3.4 |
| samsung PM981 MZVLB1T0HALR | 1.8 | 1.8 | 2.1 | 2.5 | 3.5 |
| samsung PM1725b MZPLL1T6HAJQ | 1.8 | 1.9 | 2.0 | 2.3 | 2.9 |
| micron 5200 eco | 9.3 | 9.8 | 10.4 | 12.2 | 10.7 |
| samsung PM883 MZ7LH1T9HMLT | 7.9 | 7.9 | 8.1 | 8.1 | 8.0 |
| intel P3520 (win) | 5.8 | 5.9 | 6.0 | 6.1 | 5.8 |
| intel P4500 (win) | 4.2 | 4.2 | 4.3 | 4.4 | 4.3 |
Жирным отмечены DC модели (остальные — десктопные/ноутбучные); где SATA, а где NVMe, думаю, видно без пояснений.
Мы видим, что по мере случайной записи в файл у самсунга PM981 скорость чтения падала и в итоге упала вдвое (но осталась, правда, достаточно неплохой), а у единственной тошибы в таблице — вовсе в 3.5 раза, фактически сравнявшись с таковой у SATA устройств.
С другой стороны, у большинства устройств случайная запись или вовсе не повлияла на производительность, или повлияла незначительно.
Моя интерпретация этих результатов: скорость линейного чтения у SSD действительно может деградировать со временем, однако деградация, вызванная внутренней фрагментацией, не носит совсем уж фатального характера на большинстве дисков (на дисках intel, например, она вовсе незаметна; на дисках samsung если и заметна, всё равно скорость чтения остаётся вполне приемлемой).
Остаётся открытым вопрос деградирует ли скорость чтения со временем по другим причинам (например, из-за износа NAND flash).
Могу сказать про тошибу XG5: разницы в поведении между диском, на который по SMART было записано >>150Тб, и новым диском я не заметил — или 300-400 перезаписей недостаточно, чтобы износ flash стал заметен, или он вовсе не влияет на производительность SSD.
По поводу падения производительности после случайной записи: у меня как раз на такой тошибе хранится достаточно нагруженная БД mysql размером около 100Гб. Действительно, в полном соответствии с изложенными выше теорией и измерениями, скорость чтения «боевых» таблиц mysql оказалась достаточно низкой (около 600Мб/с), скорость же чтения других крупных файлов с той же файловой системы гораздо выше (>2Гб/с).
Если хочется побороть, то можно воспользоваться одним из первых методов дефрагментации: делаем бэкап, удаляем файлы, восстанавливаем из бэкапа. Недостаток этого метода в том, что он достаточно долгий и подразумевает downtime (а через некоторое время данные во флеш-памяти снова окажутся фрагментированными и всё придётся повторять сначала). Так что проще или смириться, или выбирать диски, которые не подвержены этой проблеме.
Придумал относительно быстрый способ избавиться от внутренней (и только от внутренней) фрагментации SSD:
Не должно приводить к потере данных, но я не тестировал на боевых системах, ничего не гарантирую!
Есть ещё одно «но»: я не уверен на 100%, что все SSD правильно обрабатывают ситуацию «пишем нули в область, для которой до этого делали TRIM» (то есть с точки зрения накопителя области ФС, на которые ранее делали TRIM, могут теперь считаться не свободными, а занятыми данными).
В целом, рекомендация « забить смириться или выбирать диски» остаётся в силе.
Резюме: дефрагментация может быть полезна для некоторых SSD, однако не совсем такая (совсем не такая?) как для HDD. Нам важно не только то, что файл расположен в непрерывной цепочке секторов, но и то, что запись в эти секторы шла последовательно.
Можно и нужно ли дефрагментировать ssd диск: как продлить жизнь ssd
По сравнению с традиционным HDD, SSD жесткий диск обладает рядом преимуществ:
Но вместе с этим зародилось немало вопросов касательно использования твердотельных накопителей. Наиболее распространенные:
И так далее. Но чем больше вопросов, тем и мифов относительно работы Solid State Drive. Давайте по порядку разберемся, что правда, а что вымысел и как продлить жизнь SSD.
Можно ли делать дефрагментацию SSD?
Традиционные HDD требовали дефрагментацию для оптимизации пространства. Дефрагментация SSD не нужна. Такая процедура никак не повлияет на скорость работы носителя информации и может даже навредить. Дефрагментация диска — это постоянная перезапись файлов, а твердотельный внешний жесткий диск обладает конечным числом циклов записи.
Нужна дефрагментация только для HDD, потому что на них каждый файл лежит отдельными частями на различных секторах и при обращении к ним тормозит винчестер. Дефрагментация упорядочивает сектора ЖД и внутри устройства производится меньше механических движений. В твердотельных дисках таких действий не совершается и файлы из отдельных секторов читаются одинаково быстро. Таким образом, отключаем автоматическую дефрагментацию, если такая функция есть в вашей операционной системе.
Дефрагментация дисков не нужна SSD дискам
Какие операционные системы лучше использовать для SSD диска?
Команда TRIM — способ уведомить Solid State Drive о возможности физического удаления блоков данных, уже не содержащихся в файловой системе. Рекомендуется выбрать для установки на твердотельный накопитель ОС, поддерживающую такую команду. То есть операционная система для SSD должна современной. Идеально подойдут Windows 7, 8, 8.1 и 10.
установки на SSD. Вы можете их использовать, но работать они будут медленно.
Что будет, если на диске осталось мало места?
Не рекомендуется заполнять твердотельный накопитель на 100%. Иначе вы заметите, как сильно SSD тормозит при выполнении самых простых программ. Оптимальное заполнение диска — 75%. При этом сохранится гармония между производительностью и вместительностью накопителя.
Знатоки современных компьютерных технологий советуют оставлять некоторое свободное место на SSD, а лучше даже неразмеченное пространство. Правда, не стоит забывать и о наличии резервной области, которая начинает использоваться при критическом заполнении SSD.
Можно ли хранить большие файлы на SSD?
В большинстве случаев пользователи используют SSD для операционной системы и приложений.
Программа, запущенная с твердотельного накопителя будет работать быстрее, чем с HDD, а ОС быстрее загружаться.
Для хранения пользовательских файлов лучше использовать обычный HDD, работающий параллельно. Почему?
Во-первых, потому что емкость твердотельного диска зачастую невелика, а во-вторых стоимость SSD диска равна цене в разы более объемного HDD. Первый ускоряет загрузку и работу операционной системы и всех программ, да и по объему подходит только для них. Но не всегда есть возможность установить HDD (в ультрабуках).
В этом случае рекомендуется приобрести внешний hdd. Он лучше подходит для хранения фильмов, музыки и других больших файлов. На самом деле, ничего плохого с ним не произойдет, если хранить на нем большие файлы, но пока объемы таких дисков малы, а стоимость велика, лучше использовать их там, где они демонстрируют уверенный прирост производительности.
Что нельзя делать еще?
Множество советов по сбережению ресурсов SSD — миф. Часто пользователи озвучивают мысль, что чем меньше циклов перезаписи данных испытывает на себе твердотельный накопитель, тем лучше. Да, это так, но чтобы угробить SSD перезаписью, придется попотеть. Даже если вы будете полностью перезаписывать его по 10 раз в день, вряд ли через год или два с качественным накопителем что-то случится и вам понадобится ремонт SSD дисков.
Но чего уж точно делать не стоит, так это ремонт SSD своими руками. Исключение из правил — если вы специалист соответствующего профиля. Максимум, что вы можете сделать без опыта и навыков — прошивка SSD (замена заводского ПО на новую версию). Очень часто «кривая» прошивка с завода становится причиной слишком медленной скорости работы SSD и отказа читать и записывать файлы с заявленной скоростью.
Исправлять это путем перепрошивки легко, ведь многие производители предлагают специальные приложения. Такая программа для SSD возвращает ему необходимое быстродействие по принципу «далее — далее — далее — завершить».
Выполнять такие операции можно без страха за сам диск. Главное быть уверенным в правильности выбора официальной прошивки для вашего накопителя. Восстановление SSD OCZ после серьезного краха лучше доверить профессионалам.
Итоги
Чтобы не беспокоиться за здоровье твердотельного накопителя пользуйтесь разнообразными утилитами для мониторинга. Многочисленные программы для работы с SSD дисками нетрудно отыскать как на просторах интернета, так и на официальных сайтах производителей SSD.
Вам нужно дефрагментировать SSD? Что произойдет, если вы дефрагментируете твердотельный накопитель
Большинство из них весьма смущены вопросами, следует ли нам дефрагментировать твердотельные накопители или твердотельные накопители в Windows 10/8/7 и сама ли Windows дефрагментирует их во время автоматического обслуживания. Но у многих есть такие вопросы – стоит ли дефрагментировать SSD или твердотельный накопитель? Вам нужно дефрагментировать SSD? Что произойдет, если вы дефрагментируете SSD? Здесь больше света на эту тему.
Вам нужно дефрагментировать SSD?
SSD или твердотельный накопитель, также известный как электронные диски, не имеют движущихся механических частей, таких как подвижные головки для чтения и записи и вращающиеся диски. В отличие от жестких дисков (или жестких дисков) твердотельные накопители используют энергонезависимую флэш-память. Общее представление о твердотельных накопителях состоит в том, что эти диски имеют более короткий срок службы и что эти диски могут обрабатывать очень ограниченное количество операций записи. Таким образом, дефрагментация SSD не является хорошей идеей. Таким образом, возникает вопрос, будет ли Windows автоматически дефрагментировать SSD; тогда это хорошо?
Проводит ли Windows дефрагментацию SSD
Скотт Хансельман из Microsoft, говорит в своем блоге,
«Оптимизатор хранилища будет дефрагментировать SSD раз в месяц, если включены моментальные снимки тома. Это сделано специально и необходимо из-за медленного копирования volsnap при записи на фрагментированные тома SSD. Это также своего рода заблуждение, что фрагментация не является проблемой для твердотельных накопителей. Если SSD становится слишком фрагментированным, вы можете достичь максимальной фрагментации файла (когда метаданные больше не могут представлять фрагменты файла), что приведет к ошибкам при попытке записи/расширения файла. Кроме того, чем больше фрагментов файла, тем больше метаданных нужно обрабатывать при чтении/записи файла, что может привести к снижению производительности ».
Должен ли я дефрагментировать мой SSD или твердотельный накопитель?
Гансельман заключает, сказав:
Windows не глупо или вслепую запускает дефрагментацию на вашем SSD каждую ночь, и нет, дефрагментация Windows не сокращает срок службы вашего SSD без необходимости. Современные твердотельные накопители не работают так же, как мы привыкли к традиционным жестким дискам. Файловая система вашего SSD иногда нуждается в некоторой дефрагментации, и она обрабатывается Windows ежемесячно по умолчанию, когда это необходимо. Цель состоит в том, чтобы максимизировать производительность и долгую жизнь. Если вы полностью отключите дефрагментацию, вы рискуете, что метаданные вашей файловой системы могут достичь максимальной фрагментации и привести к потенциальным проблемам.
Короче говоря, из-за этой дефрагментации увеличивается срок службы ваших SSD. Производительность диска также увеличивается за счет регулярной дефрагментации. Если дефрагментация вообще не выполняется, метаданные вашей файловой системы дойдут до максимальной фрагментации, а срок службы твердотельных накопителей резко сократится.











