Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Hardware » Магнитные носители информации » Ремонт накопителей Seagate. Часть 10

Модерирует : Akam1, Dr_StandBy, vertex4

Akam1 (07-08-2019 06:41): http://forum.ru-board.com/topic.cgi?forum=84&topic=5470  Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

   

E123



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Загружается оно вкратце так:
- Маска контроллера, она по 0x100000 - проверяет кэш, читает внешнее ПЗУ, распаковывает, проверяет КС-ки.  Умеет память, флеш, терминал. Понимает QNR (двухстраничную ПЗУ), определяет рабочую страницу из которой нужно грузится. Она - это "SEA Boot ROM....", Bogus ISR тоже она. Распаковала код, разложила адаптивы - передает управление в загруженную бут-фирмварь в начальных адресах в памяти.
- Бутфирмварь умеет мотор, регистры, дружит с сервой, обрабатывает ресет, прерывания. Если основной код в ПЗУ - то передает управление ему. Если майн на блинах, то запускает "предварительный майн" распакованый из ПЗУ. Тот уже умеет работать с DIR, сис-файлами. Он загружает блинварь.
Блинварь имеет свой бут и свой майн. И размером кода больше тех, что "пре-". Она копируется в адреса "поверх" предварительных бут и майн из бутфирмвари.
 
Двойная загрузка: если фирмварь поддерживает QNR, то помимо двух страниц в ПЗУ, допускающих наличие двух версий FW, на блинах есть два варианта блинвари. Основной и резервный. Если при обновлении текущей фирмвари происходит какой-то сбой, то механизм QNR автоматически загрузит предыдущую версию FW (комбинацию бутварь в ПЗУ + соответствующую блинварь) из другой копии. Испорченный вариант останется, но при загрузке будет проигнорирован.  Лайфхак: если по какой-то причине необходимо загрузиться в пердыдущую версию fw, можно в текущей странице в ROM "забить" сигнатуру "csiD" по смещению 0x10 текущей страницы паттерном 0xff. При следующем запуске автоматически запустится предыдущая версия f/w.

Дальше постоянно работает основной код(загруженный из ПЗУ, либо из блинвари), но сейчас он уже распакован и лежит в оперативной памяти. В нем содержится основной DIR, в котором прописана геометрия всех сис-файлов. Он уже загружает и понимает листы, транслятор, логи смарт, поддерживает ограниченный функционал терминала (T>V, T>m, и др.) и АТА (либо SCSI) команды.
По мере необходимости подгружаются оверлеи (основные, они реализуют дополнительные режимы АТА(?), диагностические (остальные команды терминала), реализуют что-то связанное с безопасностью(на SED). Они динамические. То есть то загружаются в память, то выгружаются по мере необходимости.
На саптах-джулиусах-дезару-яррахBP есть недо-блинварь реализованная в виде оверлея. Она работает не вместо, а вместе с основным кодом из ПЗУ. Но как точно я не знаю.
 
Стирая служебку - стираете оверлеи и блинварь(если была). Если  после формата служебки сразу вернуться на интерфейс(Ctrl-R), то загруженного на этот момент в память функционала должно хватить принять лоадер по АТА и положить его на блины. Если этого сразу не сделать, то после ресета некому уже будет это сделать. ПЗУ можно переписать программатором или специальной программой, если после подачи питания вызвать код из бут-ROM(зажать Shift-U или закоротить ноги флешь). Блинварь после сброса обычными средствами переписать не получится(!). Диск превратится в кирпич.

Всего записей: 1032 | Зарегистр. 18-03-2008 | Отправлено: 21:48 21-05-2019 | Исправлено: E123, 12:15 23-05-2019
   

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Hardware » Магнитные носители информации » Ремонт накопителей Seagate. Часть 10
Akam1 (07-08-2019 06:41): http://forum.ru-board.com/topic.cgi?forum=84&topic=5470


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru