Когда я сталкиваюсь с жестким диском, который может выходить из строя, я сканирую его с помощью ViVARD, который надежно сообщает мне, нуждается ли диск в замене.
Как работают эти виды инструментов? Как они могут отличить плохой сектор от хорошего?
Современные жесткие диски реализуют систему в прошивке под названием SMART. Эта система собирает статистику производительности диска и автоматически предотвращает потерю данных, удаляя данные из поврежденных секторов.
Средства диагностики запрашивают программное обеспечение SMART на жестком диске, чтобы создать отчет о проверке работоспособности.
Плохие сектора обнаруживаются при доступе к жесткому диску и предотвращаются и перемещаются системой SMART.
Я не знаю ViVARD, так что это общий ответ.
УМНЫЙ
SMART является частью большинства современных накопителей. Он регистрируется, когда жесткий диск видит поврежденный сектор, когда время поиска или вращения больше нормального. Все это показатели сбоя жесткого диска.
Способ, которым жесткий диск спасает неисправный сектор, связан с кодами исправления ошибок (обычно это код Рида-Соломона), которые могут спасти, если несколько битов неверны. Если много битов неверно, жесткий диск пытается спасти, читая сектор снова и снова. Когда он, наконец, все делает правильно, он сохраняет его в одном из резервных секторов.
Сектор чтения
Жесткий диск перераспределяет сектора с ошибками чтения в набор резервных секторов, которые зарезервированы для этого. ОС обычно не видит этого, но видит весь диск как без ошибок. Только когда больше нет секторов для перераспределения (или сектор не может быть спасен), ОС увидит сломанные сектора.
Но можно обойти исправление ошибок (я полагаю, что это отличается для каждой модели - может быть, ViVARD делает это?). Таким образом, вы можете прочитать фактические данные на диске. Прочитав это, вы сможете увидеть, в каких секторах есть ошибки - даже если ОС не видит ошибок.
Используйте SMART. Производители жестких дисков должны загрузить для них программное обеспечение на своем веб-сайте. Когда вы используете SMART - запустите полное сканирование.
Если бы я написал такую диагностическую программу, моя программа проходила бы по секторам с помощью следующей процедуры:
Конечно, это просто наивная версия. Я подозреваю, что сегодня используются алгоритмы, чтобы сделать этот общий процесс более эффективным. Кроме того, существуют разные шаблоны, которые инструменты используют для "известных новых данных", и разные уровни повторения.