Назад | Перейти на главную страницу

Программное обеспечение для исправления снижения производительности SSD

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

Либо что-то, что будет работать в фоновом режиме, либо инструмент «восстановления», который можно оставить на ночь для выполнения работы; Я не могу придумать причину, по которой такие инструменты не могут существовать, но я не смог их найти.

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

Причина в том, что на жестком диске, отличном от SSD, данные физически хранятся в известном месте. Зная LBA адрес данных, теперь инструмент дефрагментации, когда данные физически находятся на жестком диске и могут перемещать их куда угодно. (это почти правда, но не во всех случаях)

На SSD данные также хранятся по адресу LBA (так работает ATA / SATA). Но, в то время как традиционный жесткий диск (в большинстве случаев) хранит адрес LBA 1 в начале диска, за которым следует адрес 2, 3, 4, ..., N; SSD не будет хранить адрес линейно, потому что линейное хранение будет очень медленным, если вы напишете по адресу 1, а затем, позже, по адресу 2, потому что SSD должен будет перезаписать данные, хранящиеся по адресу 1 (это означает, чтобы прочитать их, сохранить в кеше). , сотрите адреса с 1 по N (SSD должен записывать весь блок адреса N каждый раз, когда вы записываете данные)), запишите адреса 1 и 2. Это медленно). Вот почему SSD будет хранить адрес 2 «далеко» (в пространстве памяти) от адреса 1. Это ускорит запись, но замедлит работу диска, когда будет использован весь блок.

Таким образом, инструмент не может знать, как данные хранятся на SSD, и не может решить, как сделать что-то вроде «дефрагментации». Единственный способ сделать это - запустить программу внутри контроллеров жестких дисков, использовать инструмент, который может попросить SSD рассказать ему, как хранятся данные, и сообщить ему, как их затем перемещать (используя адрес внутренней памяти, а не адрес LBA) ( для этого нет стандартной команды ATA, это будет означать 1 инструмент для каждого поставщика SSD. Я даже не знаю, можно ли использовать такую ​​проприетарную команду по протоколу ATA. (WIPER может быть таким инструментом )) или воспользуйтесь известной командой TRIM.

Через некоторое время вы получаете весь блок адреса N с использованием только нескольких адресов (потому что вы удалили что-то и т. Д.), И он начинает работать медленно, потому что каждый раз, когда вы записываете данные, блок должен быть прочитан, стерт, записан. Вот почему вам нужно ОБРЕЗАТЬ, чтобы большинство блоков было заполнено данными и новые пустые блоки.

PS: Для ясности, это очень упрощенное объяснение. Также в большинстве случаев вы напишете не только 1 адрес LBA, но и много данных (потому что файл большой), так что вы запишете X блоков адреса N, но получите X-е блоки не полностью.

Лучше всего получить обновление прошивки от производителя.

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

У Anandtech есть пошаговое руководство по процессу с использованием HDDErase от Intel. Вот

Применение теории на практике: понимание проблемы снижения производительности SSD

Эта статья отлично объясняет, почему SSD-диски бывают быстрыми, когда они новые, но затем становятся медленнее.

Насколько я понимаю, проблема в том, что вам придется подождать обновления прошивки от производителя.

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