Значение кодов ошибок при диагностике жестких дисков
- Бит 0 (Error) — показывает, что предыдущая команда закончилась с ошибкой и что один или несколько битов установлены в регистре ошибок.
- Бит 1 (Index) — устанавливается в 1 при каждом обороте магнитного диска. В современных HDD не используется.
- Бит 2 (Corrected Data) — показывает, что при считывании данных с диска возникла ошибка, которая была скоректирована аппаратурой контрольно-чиклического кода.
- Бит 3 (Data Request) — показывает, что имеется запрос на обмен данными с буфером сектора при выполнении команд чтения/записи.
- Бит 4 (Drive Seek Complete) — показывает, что головки чтения/записи завершили операцию поиска.
- Бит 5 (Write Fault) — информирует о неисправности в накопителе или попытке выполнить команду запись с некорректными параметрами.
- Бит 6 (Drive Ready) — установленный в 1 означает готовность накопителя к выполнению команды.
- Бит 7 (Busy) — определяет состояние накопителя. Устанавливается в 1 во время выполнения команды или диагностики ХДД после системного сброса. Когда этот бит установлен, никакие другие биты регистра состояния не являются действительными. Бит Busy должен быть проверен перед чтением любого регистра состояния.
регистр ошибок
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| BBK | UNC | 0 | IDNF | 0 | ABRT | TONF | AMNF |
- Бит TONF (Track 0 Not Found) в регистре ошибок устанавливается, если при выполнении команды рекалибровка ХДД не обнаружил нулевую дорожку. Такой дефект может возникнуть из-за отсутствия физического формата на нулевой дорожке или из-за неисправности в канале чтения/преобразвания данных, вследствии которой ХДД не может прочитать формат.
Остальные биты в регистре ошибок связаны с неисправностью канала чтения/преобразования данных HDD, ошибки перечислены в порядке уменьшения степени неисправности:
- Бит IDNF (ID Not Found) — идентификатор не найден. Поле идентификации (заданные головка, цилиндр и сектор) не найдены, точнее не найден адресный маркер (АМ) поля идентификации или, если АМ поля идентификации найден, то контрольно-циклический код не совпадает. Такая ошибка может возникать при отсутствии физического формата или его разрушении. Также ошибка может возникать при неисправности в канале чтения — отсутствие чтения, или из-за неисправности схемы преобразования данных, или из-за неправильной работы схемы КЦК в однокристальном микроконтроллере.
- Бит AMNF (Data Adres Mark Not Found) — адресный маркер поля данных не обнаружен после правильного нахождения поля идентификации. Такая ошибка возникает в основном при частично разрушенном физическом формате. Канал чтения/преобразования данных по всей видимости работает, так как АМ поля идентификации найден и КЦК поля идентификации совпадает.
- Бит UNC (Uncorrect Data) — данные не скорректированы. При выполнении команды чтения сектора поле идентификации считано правильно, АМ поля данных найден, но при считывании поля данных не совпал КЦК и аппаратура исправления ошибок не смогла скорректировать ошибку. Такие ошибки возникают в основном по причине дефектов магнитных поверхностей.
- Бит CORR — данные скорректированы. При выполнении команды чтения сектора поле идентификации считано правильно, адресный маркер поля данных найден, но при считывании поля данных не совпал с КЦК и аппаратура исправления ошибок успешно скорректировало ошибку. Такие ошибки возникают в основном по причине дефектов магнитных поверхностей. Очень часто перезапись физического формата исправляет данные ошибки (Low Level Format).
- Бит BBK (Bad Mark Block) — указывает, что данный сектор, к которому произошло обращение, являетсядефектным и помечен как BAD. Данный бит не является ошибочным, а информационным.
