Как проверить SSD или NVMe на наличие бадблоков?

1967
masgo

С традиционными вращающимися дисками диагностика довольно проста. Если вы подозреваете, что диск неисправен, вы можете проверить значения SMART, запустить расширенный тест SMART и badblocks -wsvтест. Если все три теста не показывают ошибок, диск, вероятно, в порядке / обычно в порядке.

Что мы должны делать в случае SSD или современных накопителей NVMe?

Очевидно, что SMART все еще хорошая идея, но что, если он завершится без ошибок? badblocks -wsvХорошая идея - работать на флэш-памяти?

Есть ли другие варианты?

Кроме того, если использовать badblocksкакие варианты подходят? Следует ли использовать «размер блока стирания» SSD?


Этот вопрос похож на Могу ли я доказать, что SSD сломан? Но ответы есть с 2013 года. С тех пор мы видели несколько поколений флэш-технологий. - Кроме того, хотя они предполагают badblocks, что мне не хватает обсуждения погоды, это вообще хорошая идея. Ultimatley, некоторые флэш-воспоминания не любят, чтобы это было написано на все 100%. Кроме того, как мы скажем SSD впоследствии, какие сектора свободны (снова)?

Как исправить плохие блоки на SSD также не удовлетворяет.

Насколько безопасно запускать CHKDSK на SSD? обсуждается только влияниеchkdsk

Я не мог найти другие ресурсы, которые занимаются этой проблемой.

3
Я не вижу причин, по которым подходы для проверки состояния работоспособности SSD могли бы измениться. Индивидуальные ограничения записи в ячейки все еще существуют или, что более важно, не находятся на уровнях, которые делают невозможным их достижение. Таким образом, те же самые подходы могут использоваться даже с более новыми продуктами. Ramhound 6 лет назад 0
Но это хорошая идея или я могу повредить ssd с помощью бадблоков? Я отредактировал вопрос, включив в него «размер блока стирания». Потому что, если я запускаю badblocks и он использует 512k блоков, то каждая ячейка будет записана по дюжине раз. masgo 6 лет назад 1
Я бы сказал, что запуск бадблоков на SSD никогда не был полезным / значимым, и даже автор связанного ответа указал, что это так. Ramhound 6 лет назад 0
Ваш вопрос имеет смысл ИМХО. Я только что потерял данные Samsung SSD из-за плохих блоков. Я удалил диск, и расширенные тесты SMART теперь говорят, что все в порядке (атрибуты SMART Used_Rsvd_Blk_Cnt_Tot = 68 из Unused_Rsvd_Blk_Cnt_Tot = 17503, износ Wear_Leveling_Count низкий). Так что на первый взгляд этот SSD выглядит хорошо, но я бы хотел провести дополнительное тестирование, прежде чем перезапустить накопитель! ИМХО [этот комментарий] (https://unix.stackexchange.com/questions/93686/can-i-prove-that-an-ssd-is-broken/93690#comment475560_93691) указывает в правильном направлении, но как вы определяете подходящий размер блока на уровне SSD? sxc731 6 лет назад 0
Я видел другой пост о том, как определить размер блока. Вы в основном делаете тесты на скорость записи с различными размерами и смотрите, где скорость меняется. Вы также можете использовать блоки размером 4 МБ. Это, вероятно, гарантирует, что вы будете выше размера блока. Если вы получите ошибку, показанный «сектор» мало поможет, но, по крайней мере, вы знаете, что есть ошибка. masgo 6 лет назад 1

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

1
Nate Strickland

В общем, вам не нужно этого делать, если не обращать внимания на то, что SMART уже говорит вам. Причина в том, что твердотельные накопители используют выравнивание износа, поэтому у них есть усовершенствованный контроллер, который уже заботится об обнаружении и повторном отображении плохих блоков в фоновом режиме, так что с точки зрения операционной системы и с точки зрения стандартных утилит, таких как badblocks, любые блоки, которые пошли плохие невидимы, потому что они уже были переназначены. Если бы badblocks каким-то образом нашел блок, который был плохим, он был бы немедленно переназначен и, таким образом, снова стал бы «хорошим» при следующем чтении.

Чтобы действительно получить информацию о работоспособности вашего накопителя, вам нужно знать, сколько поврежденных блоков контроллер уже переназначил, и сколько осталось свободного места, чтобы позволить его переназначению в дальнейшем. Данные SMART должны дать вам это для SATA, или NVMe имеет эквивалентные страницы журнала, которые содержат ту же информацию. В частности, атрибут «Доступные запасные» даст вам процент от того, сколько из общей возможности переназначения диска было использовано.

На этой странице есть несколько инструментов командной строки, которые вы можете использовать для SATA или NVMe: https://www.percona.com/blog/2017/02/09/using-nvme-command-line-tools-to-check-nvme- флэш-здоровье /