Проблемы с микрокодом на винчестерах Western Digital

Довольно распространенная неисправность современных жестких дисков WD (Western Digital) с которой приходится сталкиваться инженеру по ремонту HDD в своей практике это проблема со служебной информацией вышедшего из строя hdd. По другому говорят - сбой микропрограммы жесткого диска, слетела прошивка на WD, нужно перепрошить жесткий диск и т.п. Суть у этого явления одна — один или несколько модулей, критичных для корректной инициализации винчестера не могут быть прочитаны, в результате чего накопитель не в состоянии корректно выполнить стартовую инициализацию.

Сразу нужно отметить, что в случаях сбоя накопителя WD на уровне микрокода, никакие комплексные, заводские прошивки не помогут — их просто нет в природе. Вам нужно будет обратиться в нашу лабораторию для проведения диагностики и ремонта.

Жесткий диск WD нуждающийся в коррекции микрокода

На восстановление принесли жесткий диск WD10EADS-00M2B0 относящийся к семейству DragFly2, который при старте раскручивает двигатель, распарковывает головки, на слух рекалибруется, выдает в регистрах состояния сочетание DRDY и DRSC в среде специалистов по восстановлению данных и ремонту жетских дисков именуемое "готовность" но на запрос Get Drive ID отдает пустой паспорт.

Часто такое поведение накопителя WD вызвано нечитаемостью модулей таблиц SMART или пользовательского дефект-листа (G-List). И это в принципе легко объяснимо, ведь именно эти модули микрокода жесткого диска чаще всего подвергаются модификации самим накопителем в процессе его работы. Но в данной ситуации все оказалось необычнее.

Попытка подать команду Get DIR из kernel или safe mode к успеху не приводила — диск выдавал ошибку. При том, что головы чтения\записи были исправны и поверхность по ABA читалась без ошибок. Dir или таблица модулей является ключевым модулем в микропрограмме HDD Western Digital, если диск не читает по той или иной причине таблицу модулей, то он не в состоянии вычитать с service area ничего более.

Углубленный анализ ситуации выявил достаточно интересную поломку, которая на моей практике крайне редко встречается у дисков WD — нарушение контрольной суммы модуля Dir при том, что сам модуль читается без ошибок. Для того чтобы исправить проблему (или, как говорят в простонародье, прошить жесткий диск WD) в такой ситуации требуется прогрузить в ОЗУ платы электроники основной оверлей (id11), после чего считать оригинальный модуль dir, пересчитать контрольную сумму и записать обе копии исправленного модуля на диск назад. После рестарта по питанию диск заработал в штатном режиме и всю необходимую пользователю информацию удалось скопировать в полном объеме.