Интерфейсы ПК

       

Дополнительные сервисные функции


6.3.3. Дополнительные сервисные функции

Устройства АТА и ATAPI могут поддерживать управление энергопотреблением, защищать данные от несанкциониро- ванного доступа, выполнять мониторинг своего состояния для предупреждения об угрозе отказа и перезаписывать встроенную микропрограмму.

Средства управления энергопотреблением - Power Management - не обязательны. Различают следующие состояния, перечис- ленные в порядке возрастания энергопотребления:

Sleep - "заснувшее" устройство - потребляет минимум энер- гии, "разбудить" его может только сброс. Время "пробуж- дения" - не более 30 с.

Standby Mode (дежурный режим) - устройство способно при- нимать команду по интерфейсу, но для доступа к носителю может потребоваться столь же большое время. В это состоя- ние устройство может перейти как по команде, так и по тай- меру (Standby Timer), отсчитывающему время от последнего запроса, полученного в состоянии ожидания или активном состоянии. Время срабатывания таймера программируется;

он может быть запрещен.

Idle Mode (состояние ожидания) - устройство способно сразу начать обслуживание обращения к носителю, не слишком быстро, так как некоторые узлы отключены.

Active Mode (активный режим) - устройство все запросы об- служивает за кратчайшее время.

Команда проверки режима энергопотребления Check Power Mode через регистр SC возвращает состояние: SC=0 - уст- ройство находится в состоянии Standby или переходит в него, SCSS - устройство активно или в состоянии ожидания.

Команда Idle переводит устройство в режим ожидания из активного или дежурного режимов, а также через регистр SC программирует таймер дежурного режима (табл. 6.9).

Команда Idle Immediate непосредственного перевода в режим ожидания таймер не программирует.



Содержимое SC

Тайм-аут

О(ООЬ)

Тайм-аут запрещен

x=l-240(01h-FOh)

(хх5)с

х-241-251 (Flh-FBh)

((х-240)х30) мин

252(FCh)

21 мин

253 (FDh)

Период, заданный производителем (в пределах 8-12 ч)

254 (FEh)

Зарезервировано

255(FFh)

21 мин 15 с

<
Команда Steep является единственным способом перевода устройства в "спящий" режим. После получения команды устройство генерирует запрос прерывания. Хост должен счи- тать регистр состояния, что сбросит прерывание и позволит устройству "заснуть". "Разбудить" устройство можно толь- ко аппаратным или программным сбросом. Состояние, в ко- торое оно перейдет, определяется типом сброса и програм- мируется. Поскольку не каждый хост "знает", что после команды нужно прочитать регистр состояния, устройство ав- томатически сбросит запрос прерывания и "заснет" через определенный период времени (не менее 2 с).

Команда Standby переводит устройство в дежурный режим потребления и через параметр в регистре SC программирует таймер. Команда Standby Immediate таймер не программирует.

Устройства могут поддерживать расширенное управление энергопотреблением АРМ (Advanced Power Management). При этом задается уровень АРМ Level, определяющий степень активности: Olh - минимальное потребление, FEh - макси- мальная производительность. Уровень выше 80h не позво-

ляет устройству останавливать двигатель. АРМ управляет- ся подкомандами Set Features. Устройства с пакетным ин- терфейсом для управления энергопотреблением могут ис- пользовать также команды пакетного протокола.

Начиная с АТА-3 в стандарт введена группа команд защиты. Защищенное устройство по включению питания или аппа- ратному сбросу будет находиться в заблокированном состо- янии, при котором любой доступ к информации на носите- ле запрещен. Система защиты поддерживает два пароля - главный (Master Password) и пользовательский (User Password). Главный пароль устанавливается изготовителем или продав- цом устройства. Пароль устанавливается командой Security Set Password, этой же командой устанавливается защита. В передаваемом блоке данных (512 байт) нулевое слово явля- ется управляющим:

ш Бит 0 определяет тип пароля (0 - User, 1 - Master);

Бит 8 определяет степень защиты (0 - High, 1 - Maximum).



Слова 1- 16 содержат пароль, остальные игнорируются. При установке главного пароля состояние защиты не меняется.

Разблокировать устройство позволяет команда Security Unlock, при этом необходимо указать пароль пользователя. Если пароль утерян, можно использовать главный пароль, но доступ к данным будет предоставлен, только если была выбрана степень защиты High. Если была выбрана степень защиты Maximum, разблокировать устройство по главному паролю можно только командой Security Erase Unit, но при этом вся информация с носителя будет стерта. Чтобы за- страховаться от случайного стирания, непосредственно пе- ред этой командой должна быть выполнена команда Security Erase Prepare. Команда Security Freeze Lock блокирует вы- полнение любых команд защиты до следующего сброса. Для осложнения подбора пароля (его длина составляет 32 байт) служит счетчик неудачных попыток разблокировки, по сра- батывании которого команды разблокировки будут отвер- гаться до выключения питания или аппаратного сброса. От- менить защиту разблокированного устройства можно командой Security Disable Password (предъявив один из двух паролей).

Команды защиты в АТА-4 дополнены ограничением макси- мального адреса, доступного пользователю (сообщаемого в блоке параметров идентификации), командой Set Max Address. Узнать реальный максимальный адрес позволяет команда Read Native Address.

Для предупреждения о возможном отказе устройства слу- жит технология SMART (Self-Monitoring, Analysis and Reporting Technology - технология самонаблюдения, анали- за и сообщений). Предсказуемые отказы (Predictable Failure) появляются в результате выхода параметров за некоторый порог. Отслеживаемые параметры: время разгона до заданной скорости, время позиционирования, процент ошибок пози- ционирования, высота полета головок, производительность (зависящая от числа повторов), количество использованных резервных секторов и др. Мониторинг может осуществлять- ся двояко: в рабочем режиме (On-Line) одновременно с вы- полнением команд хоста (при некотором возможном замед- лении).


Мониторинг Off-Line выполняется устройством в паузе между "полезными" командами, не снижая произво- дительности. Если во время выполнения этой процедуры придет внешняя команда, то мониторинг прервется на вре- мя исполнения команды, но начало исполнения команды может задержаться на время до двух секунд. Значения ат- рибутов, за которыми ведется наблюдение, сохраняются в энергонезависимой памяти устройства.

Для непакетных устройств имеется команда Smart (пакет- ные используют для этих целей собственный протокол), под- команды которой задаются через регистр свойств. Из этих подкоманд стандартизованы следующие:

Smart Read Data (DOh) - чтение блока данных SMART;

Smart Enable/Disable Attribute Autosave (D2h) -управле- ние автосохранением атрибутов;

Smart Save Attribute Values (D3h) - сохранение значений атрибутов;

Smart Execute Off-Line Immediate (D4h) - немедленное выполнение мониторинга Off-Line;

Smart Enable Operations (D8h) - разрешение команд и внутренних функций SMART;

Smart Disable Operations (D9h) - запрет команд и функ- ций SMART;

Smart Return Status (DAh) - опрос результатов монито- ринга. Если какой-либо порог перейден, регистры СН и CL будут иметь значения C2h и 4Fh соответственно, если все в порядке - 2Ch и F4h.

Команда загрузки микрокода Download Microcode позволяет модифицировать firmware - встроенное ПО устройства. В зависимости от кода в регистре свойств загруженный мик- рокод будет действовать до выключения питания (Ffl=01h) или постоянно (РД=07п). Количество загруженных блоков задается регистром SN (старший байт) и SC (младший байт). Таким образом может быть загружено от 0 до 33 553 920 байт, что более чем достаточно для встроенного ПО. Некоррект- ная модификация кода может привести к выходу устрой- ства из строя.


Содержание раздела