Стоит ли удалять файлы с SSD дисков, чтобы освободить место на диске?

406
Gary Dekker

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

У меня есть диск на 60 ГБ. В настоящее время у меня есть раздел C: 44 ГБ с 3 ГБ свободного дискового пространства и раздел D: 12 ГБ с 1 ГБ свободного дискового пространства.

Короче говоря, что может быть лучше для долговечности диска - иметь много свободного места или уменьшить массовое уничтожение таких файлов?

PS Я знаю, что наличие большего свободного места увеличит скорость диска, и моя система будет работать быстрее. Мне все равно Это достаточно быстро для меня.

0
Даже самый низкий SSD рассчитан на обработку множества ТБ записей в течение срока службы. В чем причина вашего беспокойства по поводу этого относительно тривиального объема использования диска? Twisty Impersonator 6 лет назад 4
Ваш вопрос основан на ошибочных предположениях. * «так, чтобы это свободное дисковое пространство помогло бы уменьшить износ диска», - ложно, выравнивание износа включает в себя как используемые, так и неиспользуемые сектора. * «удаление файлов приведет к перезаписи этих файлов нулями (« TRIM »)» * - Ложь, контроллер умнее, чем вы думаете. «Нули», полученные при чтении, могут не совпадать с фактическими данными, хранящимися во флэш-памяти. См. Https://superuser.com/questions/1242000/can-i-emulate-trim-by-writing-all-zeros. sawdust 6 лет назад 1
@TwistyImpersonator, мой SSD-накопитель (или его SMART) не показывает, сколько ГБ было записано на него, только количество записей «LifeTime», поэтому я не знал, что это тривиальный объем использования накопителя. Теперь я установил утилиту (SsdReady), которая показывает, что, по оценкам, на диск записывается около 1-2 ГБ в день. Теперь я понимаю, что если я удалю несколько гигабайт файлов, это будет капля в море. Спасибо Gary Dekker 6 лет назад 0
@sawdust, я просто 1) пытаюсь сократить количество записанных данных до минимума, что обычно не сложно сделать, потому что я устанавливаю приложения на другие диски и сохраняю временные файлы и файлы подкачки на других дисках; 2) пытаться получить как можно больше свободного места (что довольно сложно). Я делаю это напрасно? Спасибо Gary Dekker 6 лет назад 0
Да, это будет сделано напрасно. Вам нужно было бы избегать на порядок больше записей на диск, чтобы иметь какое-либо значение в реальном мире. Twisty Impersonator 6 лет назад 1

2 ответа на вопрос

2
Nironda

Короче:

Это зависит от данных, которые будут удалены, от размера диска и варианта использования.

  • маленький диск, регулярно пользуйтесь: удаляйте данные
  • маленький диск, редко используемый (может, даже довольно старый SSD): рассмотрите возможность хранения данных
  • большой диск, небольшие данные, которые будут удалены: вы можете сохранить их
  • большой диск, большой объем данных: удалить данные

Общая причина:

Информация: SSD фактически не записывает нули, как HDD, а скорее удаляет эти ячейки. (проверьте, что именно TRIM точно? ).

Каждая ячейка имеет приблизительное количество раз для записи / удаления данных (в зависимости от накопителя; считывание может выполняться более-менее, пока не произойдет сбой контроллера). Для продления срока службы твердотельных накопителей и другой (в основном флэш-памяти) с последних лет используется методика, называемая «выравнивание износа» (кажется, этот термин может быть не понятен для всех). Обычно вы хотите иметь как можно больше свободного места, чтобы каждая ячейка получала одинаковое количество операций записи. Но SSD обычно используют:

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

Теперь запомните, что каждая ячейка сколько раз записывает / удаляет данные, если ей постоянно приходится перемещать 44 ГБ * (что, вероятно, не будет делать в целом, контроллеры достаточно умны), возможно, перемещение файлов приводит к сокращению срок жизни. Хотя вам нужно знать, что большинство контроллеров работают по-разному, стараясь сделать их (намечено) лучше, но определенно не все ячейки получают одинаковое количество записей.

Также имейте в виду, что системные диски много пишут за короткое время. У меня был накопитель на 256 ГБ, использовался 60 ГБ, только для бизнес-целей (<50 МБ файлов, таких как xls / pdf), и мне удалось записать почти 2 ТБ за 3,5 года! (В основном это были обновления для Win10, следующей большой темой была база данных sql)

Учитывайте размер диска:

Это имеет большое значение, если вы перемещаете 44 ГБ на 60 ГБ SSD или на 4 ТБ + SSD. Новые SSD имеют дополнительное пространство, недоступное, используемое для избыточной подготовки. Правило: чем больше размер SSD, тем выше избыточное выделение ресурсов.

2
sawdust

Стоит ли удалять файлы с SSD дисков, чтобы освободить место на диске?

Нет, особенно если вам нужны эти файлы.

это свободное дисковое пространство поможет уменьшить износ диска,

Ошибочное предположение.
Выравнивание износа охватывает как используемые, так и неиспользуемые сектора.

потому что удаление файлов приведет к перезаписи этих файлов нулями («TRIM»), что также вызывает износ диска.

Ошибочное предположение.
Удаление файла не вызывает никакой (автоматической) « перезаписи »; Вот почему файлы могут быть «восстановлены».
Операция TRIM не записывает нули во флэш-память. Однако сектора, которые были «обрезаны», могут быть сконфигурированы для считывания нулей. Это реализуется встроенным контроллером SSD и не отражает сохраненные данные.

Документация по SSD четко указывает, что контроллер будет отвечать нулями за данные, когда этот флаг установлен для «свободного» (т.е. не отображенного) LBA / сектора. Это не означает, что LBA / сектор на самом деле содержит нули, так как это на самом деле снизит производительность (то есть он не удален и не готов к записи). См. Последний абзац раздела 3.8.2 данного руководства по продукту Seagete .

Я ожидаю, что удаление этих файлов вызовет такой взрыв записи, что мой диск не видел с тех пор, как я установил систему.

Ошибочное предположение.
Удаление файла влечет за собой только изменение метаданных файловой системы, например, записей каталога и таблиц размещения. К секторам данных файла нет доступа во время удаления (если не существует какого-либо специального протокола безопасности).

Короче говоря, что может быть лучше для долговечности диска - иметь много свободного места или уменьшить массовое уничтожение таких файлов?

Ни один из этих вариантов существенно не повлияет на «долговечность» SSD.
Это запись (которая вызывает стирание блоков ), которая влияет на срок службы флеш-чипов.

Теперь вы можете придумать сценарий наихудшего случая, когда нераспределенные секторы настолько широко разбросаны по блокам стирания, что задача выравнивания износа должна выполнять многочисленные операции чтения-стирания-записи (т.е. внутреннего копирования) для получения записываемых секторов. Но такие сценарии могут возникнуть только после многократных циклов записи и удаления файлов на «полном» диске.

PS Я знаю, что наличие большего свободного места увеличит скорость диска, и моя система будет работать быстрее.

Верно только в том смысле, что операция записи не будет отложена из-за недоступности стертых блоков.
На скорость операций чтения не влияет количество ранее сохраненных данных.

Похожие вопросы