Выберите Ваш город

Введите название вашего города

  • Абакан
  • Анадырь
  • Арзамас
  • Архангельск
  • Астрахань
  • Барнаул
  • Белгород
  • Биробиджан
  • Благовещенск
  • Брянск
Статьи

Восстановление Seagate методом перепрошивки

Artem Makarov aka Robin
25.10.2016
4763 просмотра

В продолжение этой заметки хочу описать процесс багфикса в микрокоде Seagate. Конечно назвать это действие словосочетанием "перепрошивка Seagate" не корректно, но граждане любят задавать подобные дурацкие запросы в поисковые системы, поэтому приходится адаптироваться.

Итак анамнез: HDD ST500DM002 семейства Pharaoh при подаче питания раскручивает шпиндельный двигатель, в терминале без криминала:

Boot 0x10M
Spin Up[0x00000000][0x0000BDA4][0x0000C138]
Trans.

Rst 0x10M
MC Internal LPC Process
Spin Up
(P) SATA Reset

RAW OFF
PASS

однако попытка подать любую команду по АТА, в том числе и Get ID, приводит к вот такому состоянию регистров:

Ошибка в регистрах при запросе паспорта накопителя

Ошибка в регистрах при запросе паспорта накопителя

Первым делом подозрение на плату, конечно. А ну как интерфейс битый? Однако плата отдельно от гермоблока вполне себе по АТА функционирует, и тот же запрос паспорта отрабатывает без проблем:

Паспорт диска ST500DM002 в safe mode (плата без гермоблока)

Паспорт диска ST500DM002 в safe mode (плата без гермоблока)

Очевидно, что проблема в служебной области, в микрокоде. Что-то при чтении поднимается такое, что приводит к печальным последствиям для работы по интерфейсу. Не смотря на то, что некоторые коллеги, из числа "умников", критиковали метод "разрушить до основания, а затем", если есть в голове знания и опыт за плечами, то метод форматирования служебной области является наиболее действенным в ситуациях когда не ясно, с какими именно модулями проблема, а времени на исследования нет — требуется восстановление данных за которые платят по тарифу "экстренный".

В результате форматирования SA всё служебной области прописывается паттерном 00h, после чего можно записать назад только то, что нужно для чтения user area, исключив всякое глючное и кривое.

По диагностическому терминалу диск работал без проблем, всё читалось и писалось. Первым делом я сохранил все модули, описанные в FID таблице, для перестраховки. Хотя объективно для работы данного конкретного диска Pharaoh нужны следующие модули: 03h, 28h, 93h, оверлеи 0,1,4,5, дискварь 20Eh, и на всякий пожарный, 35h.

Самый правильный способ следующий: после сохранения всего, чего можно, из микрокода, в память поднимаются оверлеи, как минимум 4-5, чтобы TrTw было доступно, потом командой форматируется служебная область, и после:

System Partition Format Successful - Elapsed Time 0 mins 18 secs

F3 T>

не переподключая питания, назад записываются вышеупомянутые модули.

Причём, если попытаться записать по АТА, то получится:

ASCII Online mode

ABORT!
SenseCode = 03310000
ReadyStatusFlags = 0002A1E1

поэтому писать надо по терминалу, да ещё и на дефолтной скорости, чтобы не поймать

Terminal, modem transfer: Out of sync!

Кроме того с диском, описываемым в текущей заметке работа по АТА и так исключалась.

Что будет, если не записав всё нужное, или не дописав того что надо, дёрнуть питание? Диск упадёт в такую позицию:

Boot 0x10M
Spin Up[0x00000000][0x0000BDA4][0x0000C138]
Trans.

LED:000000BB FAddr:00004254
LED:000000BB FAddr:00004254
LED:000000BB FAddr:00004254

Картина печальная, но при условии бэкапа всех необходимых потрошков, легко поправимая. Для лечения понадобится командой 92h залить дискварь и оверлеи в память и на поверхность. Для этого подаём питание на диск, и сразу лепим заглушку на диагностический порт. Диск встанет после:

Rst 0x10M
MC Internal LPC Process
Spin Up
(P) SATA Reset

(DOS) FWR Done

(DOS) File Save

Dither

и с диска без проблем читается вся нужная информация. Весь процесс организации доступа к UA путём "перепрошивки Сигейта" занимает пару минут!

Оставьте комментарий
Виктор
17 марта 2017, 15:47

У меня последняя описанная ситуация в этой статье. не получается запустить. Можно подробнее - "Для лечения понадобится командой 92h ". "и сразу лепим заглушку" что за заглушка и как лепить)))

Artem Makarov aka Robin
18 марта 2017, 10:37

Всё что можно сказать в открытом доступе — было сказано. Если у вас не получается самостоятельно, приносите (присылайте) в наш СЦ, сделаем.

Нужна консультация?

Мы одна из немногих лабораторий в России, которая восстанавливает данные самостоятельно.

Для этого у нас есть все необходимое:
Важно – кто будет первым!
восстанавливать
информацию