SMART-тест поверхности почти наверняка является единственным и, безусловно, неразрушающим, проходом чтения. Как было указано, он также является внутренним для привода; с возможным исключением второстепенных контрольных данных, данные не передаются на хост или с хоста во время теста.
С другой стороны, badblocks -w
делает четыре прохода по диску, каждый с одной записью и одним чтением. Уже одно это составляет 8-кратную разницу во времени, затраченном на тестирование, плюс задержку вращения. Так как это программное обеспечение работает на хосте, все эти данные должны быть перетасованы через интерфейс диска в ОЗУ и обработаны программным обеспечением (в нашем случае, бадблоки).
Если мы возьмем задержку вращения в худшем случае, равную 1 × (диск должен сделать один полный оборот после записи данных, чтобы прочитать их обратно, и это почти то, что вы увидите, если вам нравятся плохие блоки, которые сначала заполняют все диск, а затем прочитать все обратно, вместо того, чтобы выполнять ввод-вывод по одной физической дорожке за раз, что с LBA почти невозможно), мы получаем худший случай (1 + 1) × 8 × = 16 × столько времени, сколько необходимо для завершить операцию. 16 × 2,5 ч = 40 ч, что, безусловно, соответствует вашим цифрам и все еще предполагает, что мы имеем дело только с хранением данных на диске, и это происходит так же быстро, как диск может поддерживать последовательный ввод-вывод.
badblocks
параметров «последний блок» «первый блок» и выполнять тесты немного в день?