4.5. Альтернативная служебная зона
Известно, что альтернативная служебная зона (или ALT-SA) реализована у семейств N40P, CALYPSO и SABRE. При этом не все накопители N40P имеют альтернативную служебную зону. Для удобства пользования утилитой при ее старте в протокол выводится сообщение «У HDD есть альтернативная служебная зона». Идентификация наличия альтернативной зоны производится по отсутствию в таблице модуля PN=95h, т.е. если модуль 95h есть, то альтернативной служебной зоны нет. Это правило определения не однозначное и есть исключение для N40P, состоящее в том, что если в накопитель, имеющий альтернативную служебную зону, загрузить лоадер от накопителя без альтернативной служебной зоны, то в списке модулей появится модуль 95h, но, если его прочитать, то он будет пустой.
Альтернативная служебная зона используется при производстве дисков для формирования основной служебной зоны и скрытия в ней дефектов и имеет тот же самый набор модулей, что и основная, но их содержимое отличается.
Альтернативная программа имеет версию NCRxxxx0 для N40P или YCRxxxx0 для Calypso, сокращенно: «программа C». Соответственно программа из основной служебной зоны называется «программа A».
В случае HDD с альтернативной служебной зоной Boot-ROM после запуска двигателя считывает модули с кодом и транслятор из основной служебной зоны и проверяет их структуру. Если оказывается, что структура неисправна или модуль не читается, тогда загрузка переключается на альтернативную служебную зону (см. рис.1). В этом случае накопитель сам запускается в альтернативную служебную зону. Следовательно, чтобы переключить накопитель обратно в работу с основной служебной зоной, нужно починить в ней модули транслятора и программы. Возможность записи в альтернативную служебную зону основной от другого HDD пока изучена плохо. Можно только предположить, что произойдет. Программа из основной служебной зоны настроена на работу с ее физическим расположением, а запускается она из альтернативной. Boot-ROM код программы A запустит из альтернативной зоны, но модули данных все ровно будут читаться из основной. Если загрузить лоадер с программой А, то будет подключена к пространству UBA основная служебная зона, а если с программой C, то альтернативная. Есть еще одно отличие программ A и C: оверлеи программы A модифицируется на этапе самотестирования, а оверлеи программы C для одной и той же контрольной суммы ПЗУ одинаковые.
Микропрограмма С не умеет запускать транслятор пользовательской зоны и имеет неподходящие для ее чтения адаптивные модули. Следовательно, такой диск не будет виден по LBA.
В параграфе 4.1 были введены понятия: «программа 1» и «программа 2». Важно не путать альтернативную служебную зону с программой 2. Это скорее всего происходит потому, что в накопителе реализован механизм переключения между запуском из программы 1 или из программы 2 при помощи модуля PN=95h. В случае же с альтернативной служебной зоной переключателя как такового нет. Переключение происходит при проблемах в основной служебной зоне.
Как на исправном накопителе переключаться между служебными зонами? Перевод исправного накопителя в альтернативную служебную зону можно осуществить двумя способами:
1. Загрузить альтернативный лоадер, сделанный, когда накопитель сам запускается в ALT-SA.
2. Перевести накопитель из основной служебной зоны в альтернативную можно, установив опцию «Записывать все копии модулей» в диалоге «Состояние утилиты» (рис. 2), затем изменить какой- нибудь байт в заголовке модуля PN=18h при помощи режима просмотра модулей (Ctrl-Alt-2) и сохранить модуль.
В некоторых накопителях «программа 2» в альтернативной (4.1) служебной зоне содержит программу A до модификации самотестом, но полезно то, что она имеет точно такую же версию ПЗУ, как и основная.
Чтобы запустить накопитель при помощи этой программы следует:
• установить перемычку «safe mode«;
• загрузить альтернативный лоадер;
• выполнить «Рестарт по собств. SA», выбрав «программу 2».
В главе 9 описание семейств N40P и CALYPSO содержат дополнения относительно альтернативной служебной зоны.