Должен ли я дефрагментировать SSD диск? [Дубликат]

57

Могу ли я запустить Windows defragна SSDдиске?

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

Это правда, и если да, где я могу получить это?

Ройи Намир
источник
6
В действительности вам не нужно / не нужно дефрагментировать SSD-накопитель ... это не сделает ваш доступ быстрее и т. Д.
woliveirajr
Я думаю, что почти все эти ответы о фрагментации SSD-суперпользователей неверны ... по крайней мере, в отношении фрагментированных записей. Да, носите выравнивающие файлы специально. Однако это происходит с приращением размера стираемого блока. Если минимальный фрагмент файловой системы меньше, чем блок стирания (почти всегда и по большому коэффициенту), то при записи фрагментированный файл приведет к переписыванию еще большего количества блоков стирания. На самом деле это может быть довольно существенным ударом по производительности записи, если куски / кластеры / inodes / etc в различных блоках стирания сильно фрагментированы.
Даррон
И с «дешевыми» флеш-накопителями, такими как USB и SD, становится намного хуже: google.com/search?q=how%20to%20damage%20flash%20storage
MarcH

Ответы:

110

Поскольку, похоже, по этому поводу есть спор, я подумал, что было бы полезно дать подробное объяснение:

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

Это означает, что физическое размещение данных, показанное дефрагментатором на его причудливой диаграмме сектора, не имеет ничего общего с реальностью. Данные НЕ находятся там, где их считает Windows, и Windows не контролирует, где эти данные фактически размещаются.

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

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

Маленький помощник
источник
8
@Royi На самом деле чтение не повредит SSD, а запись делает.
Маленький помощник
54
Кроме того, у SSD нет времени поиска, поэтому не будет никакого выигрыша в производительности, если вы будете размещать файлы в последовательных блоках.
200_success
5
@OlivierDulac: хотя ваши данные верны, выводы совершенно неверны. Это 3K циклов на ячейку , твердотельные накопители имеют усовершенствованные микросхемы, обеспечивающие равномерное распределение записей по ячейкам и предотвращение появления горячих точек. А с TLC это даже всего 1000 циклов на ячейку. Это означает, что 256 ГБ TLC SSD с 10 ГБ в день записи с 3-кратным усилением будет работать 12 лет. 256 ГБ MLC SSD при тех же условиях прослужит 70 лет . И даже то , что очень консервативные оценки, в реальной жизни они , кажется, в последний раз , намного больше anandtech.com/show/6459/...
Vartec
5
@ 200_success На самом деле, у SSD есть время поиска. В частности, твердотельные накопители читают и пишут быстрее, когда вы используете данные последовательно. Этот человек объясняет это намного лучше меня: dpreview.com/forums/post/40353067 Я не знаю, происходит ли это увеличение скорости из-за какого-то «промаха кеша», потому что изменение адреса требует времени или что-то, что я могу » Представьте себе, но SSD имеют задержку для непоследовательного использования. И это, для меня, люди, означает, что они ищут время.
Патрик М
25

Кто-то (200_success) сделал комментарий, который гораздо более актуален для вопроса и заслуживает лучшей детализации.

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

Образ диска

Сектор обозначен буквой C.

Сейчас этот сектор очень маленький: всего 512 байт. Таким образом, для хранения обычного файла размером 10 КБ вам потребуется использовать много секторов.

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

Вот как все должно работать.

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

Это займет много времени. Мы говорим о физическом движении головы. Чем больше движется голова, тем дольше это занимает.

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

Хорошо, пока? Итак, мы начинаем говорить о SSD: они представляют собой набор микросхем памяти на плате. Когда вы сохраняете или считываете что-то с них, чип контроллера просто должен активировать некоторые биты, и, вуаля , правильный чип считывается из памяти. И не имеет значения, где он хранится, доступ к микросхеме памяти происходит намного быстрее, чем физическое перемещение жесткого диска. Итак, грубо говоря, вы не заметите это время в фрагментированном файле на SDD.

И, будучи более подробным и корректным, микросхема контроллера будет распределять ваш файл среди множества микросхем, чтобы использовать преимущества параллельных чтений и т. Д., Поэтому он знает, как обрабатывать ваши файлы, чтобы они всегда хранились наилучшим образом (оптимизировано для скорости и износ этих чипов памяти), чем Windows могла знать.

woliveirajr
источник
Фрагментация - это проблема не только физического диска, но и файловой системы, управляющей вашими данными. Сильно фрагментированные файлы содержат множество расширений / прогонов, хранящихся в их записи NTFS, которые необходимо обрабатывать, когда вы читаете весь файл с диска. Это не отличается на SSD.
Джин
Дефрагментация, решающая некоторые незначительные проблемы организации NTFS, отличается от дефрагментации, компенсирующей проблемы с производительностью из-за вращения дисков с движущимися головками. Единственная причина, по которой у NTFS есть такие экстенты, это вращающиеся диски с движущимися головками, верно?
Каз
@Gene: Он не говорил, что использует NTFS ... Да, дефрагментация помогает повысить производительность, если вы топ-пользователь :-). Но не тот удивительный результат, который был у кого-то, когда он дефрагментировал диск в эпоху Win95. И запуск дефрагментации часто только для того, чтобы заработать эти 0,01 микросекунды, не стоит износа. Беспокоясь о дефрагментации в SSD, и через несколько дней мы будем обсуждать, будет ли стоить изменение чередования секторов в SSD, как это было на этих дискетах . ;-)
woliveirajr
2
@woliveirajr - я помню изменение чередования на моем жестком диске в конце 1980-х, и скорость моего ПК более чем удвоилась. Я иногда задаюсь вопросом, будет ли чередование иметь какое-либо значение на современных ПК.
Пэдди Ландау
@PaddyLandau :) Насколько я знаю, все жесткие диски фактически не нуждаются в чередовании (все сектора читаются подряд, нет необходимости устанавливать чередование)
woliveirajr
13

Встроенный инструмент дефрагментации в Windows 8 не будет дефрагментировать ваш SSD, но отправит кучу команд обрезки на устройство. Подробнее об этом см. Этот вопрос . Как уже отмечал Робертс, вы вообще не хотите дефрагментировать свой SSD.

Ген
источник
2
Это круто, я не знал, что Windows 8 может оптимизировать твердотельные накопители. Для моего накопителя Intel в Windows 7 вы можете использовать программу SSD Toolbox от Intel для оптимизации производительности накопителя. Я никогда не замечал, что это действительно имеет какое-то значение.
Тим Б