Влияет ли недостаток дискового пространства на производительность SSD?

16

Мне было интересно, повлияет ли на производительность SSD менее 5-10 ГБ свободного места на SSD. Это специфично для SSD или это скорее аспект операционной системы?

Например, на Intel X-25 G2 с поддержкой TRIM (в Windows 7).

Гейб
источник

Ответы:

14

Большинство твердотельных накопителей замедляются по мере заполнения. Твердотельные накопители, как правило, выбирают пустые блоки для записи, поскольку они могут изменять блок только путем стирания и перезаписи всего блока. После того как все эти блоки будут частично заполнены, каждая операция записи потребует стирания и перезаписи, то есть SSD должен прочитать блок в кэш, изменить кэш новыми данными, затем стереть блок и записать кэш. Это касается одной операции чтения и двух операций программирования для каждого блока, который необходимо изменить. Кроме того, хотя фрагментация практически не влияет на твердотельные накопители, высокая фрагментация и тот факт, что большинство ОС не знают о твердотельных накопителях, могут привести к тому, что ОС будет производить больше операций записи, чем необходимо. Блоки SSD обычно больше, чем единицы выделения ОС, поэтому, если SSD не ожидает дополнительных записей, в конечном итоге он может повторить один и тот же трехэтапный процесс несколько раз на блок, тем самым замедляя запись еще больше. Даже удаление файлов не решает эту проблему, потому что данные остаются там, и SSD не знает, что они больше не используются, и продолжает перезаписывать эти удаленные данные.

Операция TRIM, поддерживаемая вашим диском, позволяет ОС сообщать диску об удалении удаленных данных. Это позволяет приводу восстанавливать пустые блоки. Однако единственными операционными системами, которые поддерживают TRIM, являются дистрибутивы Windows 7, Windows Server 2008 R2 и Linux, использующие ядро ​​2.6.33 или новее.

Так как у вас Windows 7, ваша система использует команду TRIM и может вернуть неиспользованные блоки. Тем не менее, TRIM не переупорядочивает данные, поэтому, если накопитель близок к полному, высокая фрагментация может по-прежнему приводить к тому, что данные частично занимают блоки, и ограничивает эффективность TRIM. Насколько я могу судить, лучше всего освободить как можно больше дискового пространства. Если вы можете освободить достаточно места, тогда можно обрезать полные блоки, и ваш привод вернется к некоторой скорости. Кроме того, существуют программы дефрагментации, ориентированные на твердотельные накопители, что означает, что они будут дефрагментировать только достаточно, чтобы обрезать несколько дополнительных блоков, но я не знаю ни одной свободной. Я думаю, что Diskeeper должен делать это, но это дорого, и я слышал очень смешанные отзывы.

TuxRug
источник
1
Уровень FTL находится ниже уровня файловой системы. Хотя может показаться, что файловая система фрагментирована, это НЕ означает, что уровень FTL фрагментирован. Эти программы «дефрагментации» SSD бесполезны, они не могут получить доступ к слою FTL, это змеиное масло. Теперь, из-за нехватки свободного места SSD замедляется, так как у него меньше места для сборки мусора, выравнивания износа и всего такого хорошего. SSD не выбирают автоматически пустые блоки как таковые, они также должны учитывать выравнивание износа. Суть в том, что файловая система НЕ знает ничего о том, как она хранит вещи на уровне FTL
Time Twin
Файловые системы, не оптимизированные для SSD, не могут обрезаться так сильно, что имеет тот же эффект, что и меньшее свободное пространство.
Basilevs
4

В этой превосходной статье в AnandTech они исследуют взаимосвязь между резервной областью и производительностью SSD. Суть в том, что все твердотельные накопители повышают / сохраняют производительность, когда часть их пространства не используется. Иногда даже есть разница между 25% свободного и 50% свободного пространства.

Стефан Зайдель
источник
3

Это зависит от конкретной модели SSD, поставщика и моделей использования.

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

ocsid80
источник
Например, на Intel X-25 G2 с поддержкой TRIM (в Windows 7).
Гейб
0

Я слышал, что твердотельные накопители имеют тенденцию замедляться, когда они почти заполнены, но я предполагаю, что для того, чтобы вы почувствовали что-либо подобное, для этого потребуется менее 5-10 ГБ свободного места. Может быть, когда у вас осталось менее 1 ГБ или что-то.

Бен
источник
0

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

горилла
источник
2
Это не относится к твердотельным накопителям, потому что нет движущихся частей, поэтому произвольный доступ добавляет незначительное количество времени доступа. Вам может понадобиться файл, скачущий по тысячам случайно размещенных фрагментов, чтобы оказать какое-либо заметное влияние, которое в основном будет зависеть от самой ОС, планирующей чтение и запись.
TuxRug
1
Существует разница между последовательным чтением и случайным чтением. Например, codinghorror.com/blog/2008/06/… выдает 26 МБ / с для последовательного чтения и 6 МБ / с для случайного чтения.
горилла
@TuxRug: Диски сгруппированы в блоки стирания сотнями килобайт или более; как только страница (представляющая 512 или 4096 байт данных «логического диска») записана, она не может быть перезаписана, кроме как путем удаления всех страниц в своем блоке. Когда сектор «логический диск» перезаписывается, накопитель выделяет ранее пустую страницу для хранения своего нового содержимого и отмечает, что старую страницу можно считать устаревшей. Вместо немедленного удаления устаревших страниц большинство накопителей будут ждать, пока им не понадобится место, а затем искать блок, в котором большинство или все страницы устарели.
суперкат
@TuxRug: Если количество пустых страниц становится критически низким, производительность накопителя будет пропорциональна наибольшему количеству свободных или устаревших страниц в любом блоке [если в каждом блоке по 10 блоков с 15 устаревшими страницами, то для следующих 150 операций записи выполняется запись / цикл стирания понадобится каждые 15 числа. Если бы в каждом блоке было по три блока по 50 устаревших страниц, то цикл записи / стирания потребовался бы только при каждой 50-й записи.] Фрагментация повышает вероятность того, что один из них будет иметь множество блоков, в каждом из которых будет только несколько устаревших страниц.
суперкат
0

Другим важным фактором является, если и сколько избыточных ресурсов установлено производителем SSD, как описано здесь . Чрезмерное выделение ресурсов означает, что некоторое пространство зарезервировано для фоновых операций, таких как сборка мусора, и недоступно для пользователя. Например, SSD, объявленный как 256 ГБ, может фактически быть 282 ГБ, если установлено 10% избыточного выделения.

Если производитель твердотельных накопителей был щедрым на избыточное пространство, малое дисковое пространство может не сильно повлиять на производительность, например, даже если накопитель на 100% заполнен, он может быть заполнен только на 85%. Но если вы действительно сможете заполнить свой SSD почти до 100%, это приведет к значительному снижению производительности.

Короче говоря, величина эффекта и то, будет ли он заметен, зависит от SSD. Но, как правило, SSD работают лучше всего, когда они в основном пусты, и их производительность ухудшается по мере заполнения, по причинам, объясненным в других ответах и ​​в ссылке.

Деби Даунер
источник