Диаграмма запуска HDD
Неисправные жесткие диски часто останавливаются на стадии запуска и не позволяют прочитать с них данные. Эта ситуация внешне проявляется, как «HDD не определяется в БИОСе». Запуск жесткого диска — это многоступенчатый процесс и, в зависимости от той или иной неисправности, сбой может произойти на любом из этапов. Понимание этих этапов позволит быстро диагностировать причину неисправности. В этой статье описаны основные процессы, происходящие при запуске жесткого диска, с указанием частных примеров. Детально разобрать стартовые процессы не получится, так как это коммерческая тайна производителей жестких дисков.
Итак, приступим. Рассмотрим первую часть диаграммы запуска.
Подача питания
Запуск жесткого диска начинается с подачи питания. Диски форм-фактора 3.5 дюйма используют два напряжения питания 5 и 12 вольт. Диски 2.5 дюйма используют только 5 вольт. Для других форм-факторов напряжение питания обычно 3.3 вольта. На всех платах электроники по входным цепям стоят защитные элементы: Transient Voltage Suppression (TVS). Они защищают плату от скачков напряжения.
За цепями защиты в схеме стоят преобразователи напряжения на 3.3 вольт, 1.8 вольт и другие, в зависимости от схемотехники конкретного диска. Кроме преобразователей, еще есть схема контроля входных напряжений питания. Если питание падает ниже минимально допустимого порога, накопитель переходит в режим парковки, при котором шпиндельный двигатель, благодаря накопленному в нем моменту инерции, переключается в режим генерации электричества, которого хватает чтобы переместить головки в зону парковки.
Как только напряжение питания после включения набирает нормальное значение, схема контроля напряжений дает команду на запуск процессора. В случае если в разъеме питания жесткого диска плохой контакт или высохли выходные сглаживающие конденсаторы в блоке питания (при этом материнская плата работать будет, так как в ней качество входных напряжений питания обычно не контролируется), жесткий диск будет набирать обороты и через небольшое время отключаться и так постоянно: запуск-останов.
Видеоролик в тему электроники жесткого диска.
Запуск boot-ПЗУ внутри процессора
По сигналу сброса процессор начинает выполнять небольшой по объему (~8KB) и функциям программный код, расположенный всегда во внутреннем ПЗУ процессора. Смысл работы кода: определить, откуда будет проводиться загрузка, с какими параметрами (например, что-то не грузить), и примитивная первоначальная диагностика, вроде теста буферного ОЗУ. Только что собранный жесткий диск на заводе загружается по последовательному порту от технологического компьютера, а уже у пользователя с внешней flash-ПЗУ на плате электроники.
Проверка на защищенный режим
Практически у всех жестких дисков и SSD есть перемычки, переводящие накопитель в защищенный режим. Если перемычки(-а) установлены, то запуск останавливается на стадии boot-ПЗУ и происходит переход к ожиданию внешнего управления через интерфейс SATA, а иногда (например, Seagate) через последовательный порт.
Диски Seagate переводятся в защищенный режим подачей последовательности символов в последовательный порт в момент включения питания.
Если перемычки(-а) не установлены, то продолжается загрузка из последовательной flash-ПЗУ.
Красным отмечена внешняя flash-ПЗУ.
Запуск шпиндельного двигателя, набор оборотов
Микросхеме управления двигателем подается команда на набор оборотов. Микросхема формирует переменное напряжение на обмотки шпиндельного двигателя. Варианты сбоев на этом этапе:
- вышла из строя микросхема управления шпиндельным двигателем;
- заклинивание подшипника шпиндельного двигателя;
- магнитные головки прилипли к поверхности и не дают дискам вращаться;
- обрыв или короткое замыкание в обмотках шпиндельного двигателя;
- в некоторых моделях дисков перед запуском шпиндельного двигателя устанавливается связь с микросхемой усилителя/коммутатора, стоящая на блоке головок и если от нее нет отклика, то команда запуска не подается — создается впечатление, что не работает плата электроники или шпиндельный двигатель, а проблема оказывается не в них.
При сбое на этом шаге продолжение запуска невозможно (очевидно, что для того, чтобы читать данные с диска они должны вращаться) и программа останавливается по фатальной ошибке, HDD в БИОС не определяется. Однако, есть SSHD диски с большим NAND-кэшем. Такие диски в случае не запуска двигателя определяться будут.
Вывод блока головок в рабочую зону и поиск сервометок
За успешным запуском и набором оборотов шпиндельного двигателя блок головок выводится в рабочую зону и осуществляется поиск магнитных меток (сервометок), по которым программа управления определяет положение головки и скорость вращения диска.
Неисправность на этом шаге проявляется в виде следующего за набором оборотов двигателя стуком или шумом. После нескольких попыток получить отклик диск отключается. Очень маловероятно, но возможно:
- прилипание блока головок к детали, удерживающей блок головок в зоне парковки;
- обрыв провода, ведущий к звуковой катушке.
Если сигнал от магнитных меток есть, то блок головок будет выведен в место, где находится служебная зона (с характерным звуком «тык»). Обычно, это место либо в середине диска, либо около внешнего края.
Кратко резюмируем текущее положение в процессе запуска. Диск нормально набрал обороты; отклик от магнитных меток позиционирования (сервометок) есть; головки захватили трек; слышен характерный звук первого успешного позиционирования «тык». Этот момент запуска важно выделить потому, что он является неким водоразделом между механической/электронной частью старта и загрузкой основной программы управления и ее данных из служебной зоны. В случае проблем с чтением служебной зоны дальше этого места запуск не идет и не будет слышно звуков, характерных для следующего этапа запуска.
Чтение служебной зоны, загрузка оверлеев
Часть программы управления размещена на самом жестком диске в области, называемой «служебная зона». Она расположена в «самом лучшем месте». Там размещен код основной программы управления и ее данные. На этом шаге неисправность может проявляться либо в виде остановки запуска и ситуации «диск не определяется в БИОСе корректно», либо диск все-таки определяется, но очень медленно из-за большого количества попыток прочитать нужные для работы места служебной зоны.
Калибровка механики и проверка работоспособности записи
Эта стадия процесса запуска сопровождается характерным звуком. В библиотеке звуков R.LAB они обозначены как «нормальный запуск». Обычно это что-то напоминающее «т-т-т-ррр-т».
Так как жесткий диск имеет дело с нанометрами и прочим «нано», то линейные размеры и частоты колебаний импульсов с магнитных головок зависят от окружающей среды и требуют постоянной подстройки. На современных дисках кроме датчика температуры и вибрации появился еще и датчик атмосферного давления.
В дисках большого объема для минимизации влияния среды производители стали делать гермоблок по-настоящему герметичным и заполнять его гелием для улучшения охлаждения. Это приводит к лучшей, по сравнению с обычной технологией, стабилизации высоты полета головки и снижает риск появления термических нестабильностей магнитной записи, следовательно, позволяет увеличить объем хранимой информации.
Какие именно параметры настраиваются на этом шаге запуска диска?
- параметры позиционирования (именно поэтому слышен характерный, каждый раз одинаковый треск «т-т-т-ррр-т» включения);
- высота полета головки;
- тестируется запись;
- настраивается фильтрация сигнала снимаемого с магнитных головок и его усиление;
- система предсказания биения подшипников.
Сбои при выполнении некоторых процедур калибровки могут привести к остановке процесса запуска по фатальной ошибке. Наиболее часто встречается сбой на этапе настройки параметров позиционирования и тестирования записи.
Загрузка таблиц дефектов
В дисках используется несколько таблиц со списком дефектных секторов. Таблица P-List перечисляет сектора, которые нужно перепрыгивать (формируется в процессе производства), G-List содержит список переназначенных секторов (формируется в процессе работы диска у пользователя) и еще есть списки подозрительных секторов и областей (так же формируется «на ходу»). Неисправности загрузки таблиц дефектов могут проявляться по-разному. При сбое загрузки жесткий диск иногда зависает, иногда выдаётся не фатальная ошибка и отображается нулевая ёмкость диска.
Загрузка таблиц дефектов
Инициализация S.M.A.R.T.
Система диагностики состояния диска хранит накопленные данные в служебной зоне. На этом шаге производится чтение предыдущих параметров и попытка записи информации о новом включении.
Обычно, если сектора служебной зоны, относящиеся к S.M.A.R.T.-у, не читаются, то это просто приводит к ошибке получения соответствующих параметров в утилитах или БИОСе («ругается на смарт»). Однако, иногда появляются диски-исключения, которые при обращении к сбойным секторам S.M.A.R.T.-а могут зависнуть и тем самым не давать возможности получить доступ к данным пользователя (олдскульный пример: Fujitsu MPG, относительно современный — это Seagate 7200.11).
Спецификация определяет две сущности S.M.A.R.T.: характеристические атрибуты и логи ошибок.
Работа в режиме пользователя
Жесткий диск, который при запуске дошел до этого места, «определяется в БИОСе» или, еще говорят, «читает паспорт».
Далее, у накопителя может быть всего две проблемы: дефектные блоки или зависание. Да, эти проблемы могут «раздуться», но не всегда. Например, диск, на котором изначально было немного дефектных секторов, спустя некоторое время стал зависать при включении. Бывает, что диск определился и практически сразу виснет.
Автор статьи Сергей Яценко.
Перепечатка или цитирование разрешены при условии сохранения прямой ссылки на первоисточник: R.LAB, восстановление данных с жесткого диска.
Отзывы о статье Диаграмма запуска HDD