Восстановление производительности и оценка жизни используемого твердотельного диска?

Мой старый твердотельный диск на 128 ГБ составляет приблизительно полтора года, старые теперь, и я с тех пор обновил до другого диска.

Я хотел бы очистить мой старый SSD к...

  • восстановите его производительность к почти новым уровням

  • реабилитируйте его и обычно давайте ему проверку состояния

Как я иду о выполнении этого?

70
задан 15.05.2011, 03:51

0 ответов

На Linux, просто запущенном

hdparm --trim-sector-ranges start:count /dev/sda

передача блока располагается, Вы хотите ОБРЕЗАТЬ вместо start и count и устройство SSD вместо /dev/sda. Это имеет преимущество того, чтобы быть быстрым и не пишущие нули на диске. Скорее это просто отправляет команды ДЛЯ ОБРЕЗКИ на контроллер SSD, позволяющий этому знать, что Вы не заботитесь о данных в тех блоках, и это может свободно предположить, что они не использованы в его алгоритме сборки "мусора".

Вероятно, необходимо выполнить эту команду как корень. Так как эта команда чрезвычайно опасна, поскольку она может сразу вызвать крупную потерю данных, также необходимо передать --please-destroy-my-drive аргумент hdparm (Я не добавил это к командной строке для предотвращения случайной потери данных, вызванной копией и вставкой.)

В вышеупомянутой командной строке, /dev/sda должен быть заменен устройством SSD, в которое Вы хотите отправить команды ДЛЯ ОБРЕЗКИ. start адрес первого блока (сектор) для ОБРЕЗКИ, и count количество блоков для маркировки как лишенный того начального адреса. Можно передать несколько диапазонов команде.

Лично сделав это с hdparm v9.32 на Ubuntu 11.04 на моем ноутбуке с Решающим RealSSD C300 на 128 ГБ, я должен указать на проблему: Я не смог передать общее количество дисковых блоков (0:250069680) как диапазон. Я вручную (по существу "двоичный файл, искавший" вручную), нашел достаточно большое значение для количества блока, которое работавший (40000) и смог дать команды ДЛЯ ОБРЕЗКИ на последовательности 40 000 диапазонов к свободному весь диск. Возможно сделать так с простым сценарием оболочки как это (протестированный на Ubuntu 11.04 под корнем):

 # fdisk -lu /dev/sda

 Disk /dev/sda: 128.0 GB, 128035676160 bytes
 255 heads, 63 sectors/track, 15566 cylinders, total 250069680 sectors
 ...  

для стирания всего диска возьмите то общее количество секторов и замените 250069680 в следующей строке с тем числом и работайте (добавить --please-destroy-my-drive):

 # i=0; while [ $i -lt 250069680 ]; do echo $i:40000; i=$(((i+40000))); done \
 | hdparm --trim-sector-ranges-stdin /dev/sda

И Вы сделаны! Можно попытаться читать необработанное содержание диска с hexedit /dev/sda прежде и после и проверяют, что диск отбросил данные.


Конечно, даже если Вы не хотите использовать Linux в качестве основной ОС машины, можно усилить этот прием путем начальной загрузки от живого CD и выполнения его на диске.

56
ответ дан 07.12.2019, 08:11

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

Так, чтобы сделать это в Windows:

  • запустите командную строку с Прав администратора
  • выполните команду diskpart

Однажды в утилите Вы будете видеть a DISKPART> запросите и дайте следующие команды:

DISKPART> list disk
DISKPART> select disk x

Очевидно, УДОСТОВЕРЬТЕСЬ, что ВЫ ВЫБРАЛИ КОРРЕКТНЫЙ ТВЕРДОТЕЛЬНЫЙ ДИСК перед продолжением!

DISKPART> clean all
DISKPART> create partition primary
DISKPART> format quick fs=NTFS 

Волшебство здесь clean all который пишет все нули в диск:

При определении всего параметра каждый сектор может быть обнулен, и все данные, которые содержатся на диске, могут быть удалены.

После выполнения этого я могу подтвердить, что производительность диска повысилась существенно.

17
ответ дан 07.12.2019, 08:11

Я также нашел инструмент, Жизнь SSD Pro. Это имеет некоторые плохие новости для меня.

SSDLife Pro -- drive health is bad!

Относительно того, как это вычисляет, что, использует индикаторы SMART SSD. По-видимому, это пытается предсказать на основе данных S.M.A.R.T.:

  • Время жизни флэш-памяти, на которой базируются SSD, ограничено 10 000 записей на ячейку
  • большинство дисков также показывает данные о записанном и/или информации о чтении в их параметрах S.M.A.R.T.

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

01 Read Error Rate   7
09 Power-on Hours Count  7085
0C Power Cycle Count   318
B8 Initial Bad Block Count   15
C3 Program Failure Block Count   0
C4 Erase Failure Block Count   0
C5 Read Failure Block Count  0
C6 Read Sectors   5468243171
C7 Write Sectors  41640920876
C8 Read Commands  100482453
C9 Write Commands   417315851
CA Error Bits from Flash  345270
CB Read Sectors with Correctable Bit Error  340001
CC Bad Block Full Flag   0
CD Maximum P/E Count Specification   5000
CE Minimum Erase Count   3774
CF Maximum Erase Count   65348
D0 Average Erase Count   4837
D1 Remaining Drive Life  4

Страшное число там является Жизнью Остального диска, которая равняется 4.. процент!

И получающиеся вычисления:

Model: CRUCIAL_CT128M225
Size: 128 GB
Serial number: xxxxxxxxxxxxxxxxx456
Firmware: 2030
Powered on times: 318    
TRIM support in drive/OS: enabled/enabled
Worked time: 9 months 16 days 5 hours
Total data read: 2607.46 GB
written: 19855.94 GB

Для записи этот диск был первоначально куплен в октябре 2009, таким образом, это - немногим более, чем полтора старые года.

16
ответ дан 07.12.2019, 08:11

Прежде всего давайте начнем путем понимания, что это - который вызывает снижение производительности. Не зная это, многие люди предложат неверные решения (поскольку я уже вижу случай). Затруднение этого всего затруднительного положения в основном сводится к следующему факту, как процитировано Википедию. Помните это, это важно:

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

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

Ради ясности я дифференцируюсь между пустыми страницами, используемыми страницами и удаленными страницами с ∅, 1, и X. Так как ключ - это существует различие между каждым из них с точки зрения контроллеров! Это не столь просто как 1's и 0. Так, для запуска страницы на нашем новом диске похожи так:

∅, ∅, ∅, ∅ (все пустеют),

Теперь, мы идем для записи некоторых данных в диск, и это заканчивает тем, что было сохранено на той первой странице, таким образом:

1, ∅, ∅, ∅

Затем, мы пишем немного больше данных, только на этот раз достаточно, что требуется две страницы и таким образом, это заканчивает тем, что было сохранено на 2-й и 3-й странице:

1, 1, 1, ∅

У нас заканчивается пространство! Мы решаем, что нам действительно не нужны исходные данные, которые мы записали, поэтому позволяет, удаляют его для создания места.:

X, 1, 1, ∅

Наконец, у нас есть другой большой набор данных, которые мы должны хранить, который использует остающиеся две страницы. ЭТО - ТО, ГДЕ ХИТ ПРОИЗВОДИТЕЛЬНОСТИ ПРОИСХОДИТ В ДИСКАХ БЕЗ ОБРЕЗКИ!! Движение от нашего последнего состояния до этого:

1, 1, 1, 1

... требует большего количества работы, чем большинство людей понимает. Снова это - то, вследствие того, что флэш-память может только стереться мудрым блоком способом, не мудрым страницей, который является точно, к чему выше призывает заключительный переход. Дифференциатор между и основанным на необрезке SSD ДЛЯ ОБРЕЗКИ - когда следующая работа выполняется!

Так как мы должны использовать пустую страницу и удаленную страницу, SSD должен сначала считать содержание всего блока в некоторое внешнее устройство хранения данных/память, стереть исходный блок, изменить содержание и затем записать то содержание обратно в блок. Это не столь просто как "запись", вместо этого это теперь стало "записью стирания чтения". Это - большое изменение, и чтобы это произошло, в то время как мы пишем, что много данных является, вероятно, самым несвоевременным временем для него для появления. Можно было все избежать, была ли та "удаленная" страница восстановлена заранее, который является точно, что ОБРЕЗКА предназначается, чтобы сделать. С ОБРЕЗКОЙ SSD или сразу восстанавливает наши удаленные страницы после удаления или в некоторое другое подходящее время, когда это - алгоритмы ДЛЯ ОБРЕЗКИ, считают соответствующими. Важная часть, хотя то, что с ОБРЕЗКОЙ этого не происходит, когда мы посреди записи!

Без ОБРЕЗКИ мы в конечном счете не можем избежать вышеупомянутого сценария, поскольку мы заполняем наши диски данными. К счастью движение некоторого более нового SSD вне просто ОБРЕЗКИ и эффективно делает то же самое как ОБРЕЗКУ в фоновом режиме на аппаратном уровне без необходимых команд ATA (некоторый вызов эта сборка "мусора"). Но для тех из нас достаточно неудачный, чтобы не иметь также, важно знать, что запись нулей ко всему диску не достаточна для исправления исходной производительности!!!!! Запись всех нулей к диску не указывает к контроллеру, что страница во флэш-памяти свободна для записи. Единственный способ сделать это на диске, который не поддерживает ОБРЕЗКУ, должно вызвать ATA безопасная команда стирания на Ваш диск с помощью инструмента, такого как HDDErase (с помощью Wayback Machine).

Я полагаю, что был некоторый ранний SSD, который только поддерживал ОБРЕЗКУ после удаления разделов или на такие вещи, как Windows 7 "diskpart чистит все", а не после удаления отдельных файлов. Это может быть причиной, почему более старый диск, казалось, возвращал производительность после выполнения той команды. Это кажется немного туманным мне хотя...

Большая часть моего знания и аппаратных средств/гаджетов SSD в целом прибывает из anandtech.com. Я думал, что у него была большая рецензия, объясняя все это, но ни за что в жизни я не могу найти его!

24
ответ дан 07.12.2019, 08:11

Я нашел, что запись нуля через диск не является лучшим подходом. В то время как это могло бы помочь вскоре, я нашел, что это определенно не восстановило мой диск к своей полной производительности (у меня есть довольно старый Intel-SSD non-TRIM-enabled). После year-so довольно тяжелого использования, я запуск, сталкивающийся с 1-2 вторыми замораживаниями, когда SSD попытался бы записать в любой файл, даже после zero'ing SSD.

Единственной вещью я нашел, что полностью восстанавливает производительность, было безопасное использование стирания hdparm. Я делал это привычкой к безопасному стиранию мой SSD каждые 6-12 месяцев, когда это начинает страдать от некоторых легких отклонений. Кто-то на MacRumors сделал Mac определенным учебным руководством о том, как сделать для Mac* устройства.

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

6
ответ дан 07.12.2019, 08:11

На Mac проверьте digilloydTools DiskTester. Существуют также некоторые интересные точки данных там для наблюдения эффектов восстановления на производительности диска.

5
ответ дан 07.12.2019, 08:11

ThinkPads имеют скрытое меню BIOS (включите с http://www-307.ibm.com/pc/support/site.wss/MIGR-68369.html), который сбрасывает Ваш SSD.

4
ответ дан 07.12.2019, 08:11

Теги

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