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

       

Служебные команды


6.3.2. Служебные команды

В системе команд имеются средства идентификации и управления свойствами устройств. Команда идентификации Identify Device позволяет считать из контроллера блок из 256 слов, характеризующих устройство АТА. Устройства с па- кетным интерфейсом эту команду должны отвергать, для них имеется команда Identify Packet Device (см. 6.7). Блок пара- метров может храниться как в энергонезависимой памяти устройства, так и на самом носителе в месте, недоступном для обычных обращений. Состав полей блока для непакет- ных устройств приведен в табл. 6.5. Графа "F/V" определяет свойства соответствующих полей: F - содержимое фиксиро- вано, V - содержимое меняется в зависимости от состояния устройства или выполненных команд, Х - специфично для данного устройства (может быть и F, и V), R - зарезервиро- ванные поля. Для устройств со сменными носителями зна- чения полей F могут меняться при смене носителя.

Слово

F/V

Назначение

о



F

Оби конфигурационная информация Бит 15: 0 для всех устройств АТА Бит 7: 1 - устройство со сменным носителем Бит 6: 1 - устройство (контроллер) с несменным носителем Бит 0 - зарезервирован Значение остальных бит специфично для устройств

1

F

Число логических цилиндров

Оюво

F/V

Назначение

2

R

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

3

F

Число логических головок

4

X

Специфично

5

X

Специфично

6

F

Число логических секторов на логическом треке

7-9

X

Специфично

10-19

F

Серийный номер (20 символов ASCII), если слово 10 ненулевое, иначе - специфичная информация

20

X

Специфично

21

X

Специфично

22

F

Число дополнительных байт в командах "длинного" чтения и записи (в АТА-4 объявлено устаревшим)

23-26

F

Версия встроенного ПО (8 символов ASCII), если слово 23 ненулевое, иначе - специфичная информация

27-46

F

Номер модели (40 символов ASCII), если слово 27 ненулевое, иначе - специфичная информация

47

X

Биты 15-8 специфичны (в АТА-4 - 80h)

F

Биты 7-0 - возможности множественных операций: 0 - зарезервирован, Olh-FFh - максимальное количество секторов, передаваемых за сеанс

48

R

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

49

R F

R

F

F F

Возможности.

Биты 15-14 - зарезервированы для Identify Packet Device

Бит 13 - значения таймера режима Standby: 1 - соответствуют стандарту, 0 - задаются особо

Бит 12 зарезервирован для Identify Packet Device

Бит 11: 1 - IORDY поддерживается (для PIO Mode 3 и выше - обязательно), 0 - IORDY может поддерживаться

Бит 10: 1 - сигнал IORDY может быть запрещен командой Set Features

Бит 9 =1 (в АТА-4 используется для Identify Packet Device, в АТА-2 - как указание на поддержку LBA и действительности слов 60-61)

<
Слово F/V Назначение
F X Бит 8=1 (в АТА- 4 используется для Identify Packet Device, в АТА-2 - как указание на поддержку DMA) Биты 7-0 специфичны
50 F Возможности (АТА-4): Бит 15°0 Бит 14-1 Биты 13-1 - зарезервирован Бит О"! указывает на специфичное значение минимума для Standby Timer
51 F X Биты 15-8: длительность цикла обмена в режиме PIO. Если значение параметра не соответствует режимам 0, 1 или 2, используется PIO Mode 0 Биты 7-0 специфичны
52 F X Специфично. В АТА-2 биты 15-8: временной режим цикла одиночного обмена DMA (Single Word DMA). Если значение параметра не соответствует режимам 0, 1 или 2, используется Mode 0. Если поддерживаются слова 62 или 63, значение поля игнорируется Биты 7-0 специфичны
53 R F F V Биты 15-3 зарезервированы Бит 2: 1 - поля в слове 88 действительны, О-нет Бит 1: 1 - поля в словах 64-70 действительны, О-нет. Любое устройство, поддерживающее PIO Mode 3 и старше или Multiword DMA Mode 1 и выше, должно использовать эти поля Бит 0: 1 - поля в словах 54-58 действительны, 0 - поля могут быть действительны
54 V Текущее число логических цилиндров. Для устройств АТА-1, если команда Initialize Device Parameters не применялась, значение слова специфично
55 V Текущее число логических головок. Для устройств АТА-1, если команда Initialize Device Parameters не применялась, значение слова специфично
Слово F/V Назначение
56 V Текущее число логических секторов на трек. Для устройств АТА-1, если команда Initialize Device Parameters не применялась, значение слова специфично
57-58 V Текущая емкость в секторах (произведение слов 54, 55, 56)
59 R V V Биты 15-9 зарезервированы Бит 8: 1 - установка для многосекторной передачи действительна Биты 7-0: текущая установка максимального числа секторов для многосекторных команд
60-61 F Общее число секторов, адресуемых пользователем (только в режиме LBA)
62 V F Для АТА-4 специфично, в АТА-2 - режим одиночного обмена DMA: Биты 15-8: активный режим: бит 8=1 - Mode 0, бит 9=1 - Mode 1 и т. д. Единичное значение может иметь только один бит Биты 7-0 - поддерживаемые режимы: бит 0=1 - Mode 0, бит 1=1 - Mode 1 и т. д.
63 V F Режим множественного обмена Multiword DMA: Биты 15-8: активный режим, аналогично слову 62 БИТЬ! 7-0: поддерживаемые режимы, аналогично слову 62
64 R F Биты 15-8 зарезервированы Биты 7-0 - поддерживаемые прогрессивные режимы программного обмена (Advanced PIO): бит 0=1 - PIO Mode 3, бит 1=1 -PIO Mode 4, биты 2-7 - зарезервированы
65 F Минимальная длительность цикла передачи множественного DMA (в наносекундах)
66 F Рекомендованная длительность цикла передачи множественного DMA (в наносекундах). При многосекторной передаче обеспечивает оптимальную скорость, при которой устройство не будет тормозить поток снятием запроса DMARQ
<
Слово

F/V

Назначение

67

F

Минимальная длительность цикла передачи РЮ без использования сигнала готовности (в наносекундах)

68

F

Минимальная длительность цикла передачи РЮ с использованием сигнала готовности (в наносекундах)

69-70

R

Зарезервировано для поддержки перекрытия команд и очередей

71-74

R

Зарезервировано для команды Identify Packet Device

75

F

Глубина очереди команд-. Биты 15-5 - зарезервированы Биты 4-0 - максимальная глубина очереди

76-79

R

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

80

F

Номер основной версии интерфейса (если не OOOOh или FFFFh): 1 -АТА-1, 2 - АТА-2, 4 - ATA/ATAPI-4...

81

F

Младший номер версии интерфейса (если не OOOOh или FFFFh)

82

F

Поддержка команд и свойств (если слова 82 и 83 не равны OOOOh или FFFFh): Бит 15 - не используется Бит 14 - команды Nop Бит 13 - команды Read Buffer Бит 12 - команды Write Buffer Бит 11 - не используется Бит 10 - ограничение доступного пространства Бит 9 - команда Device Reset Бит 8 - вырабатывание прерывания во время выполнения команды Service Бит 7 - прерывание по освобождению шины Бит 6 - кэширование с упреждающим чтением Бит 5 - кэширование записи Бит 4 - команда Packet Бит 3 - управление энергопотреблением Бит 2 - смена носителя Бит 1 - команды Security Бит 0 - SMART

Слово

F/V

Назначение

83

F

Поддержка команд и свойств (как и слово 82): Бит 15-0 Бит 14 = 1 БИТЬ! 13-5 зарезервированы Бит 4 - уведомление о смене носителя Бит 3 - расширенное управление энергопотреблением Бит 2 - команды CFA Бит 1 - команды Read/Write DMA Queued Бит 0 - команда Download Microcode

84

F

Поддержка команд и свойств (если слова 82, 83 и 84 не равны OOOOh или FFFFh): Бит 15 ° 0 Бит 14 = 1 Биты 13-0 зарезервированы

85-87

F

Разрешенные команды и свойства; поля и правила аналогичны словам 82-84

88

R

R

V

Режим Uttm DMA Биты 15-11 зарезервированы Биты 10-8: активный режим Ultra DMA: бит 8-1 - Mode 0, бит 9"1 - Mode 1 и т. д. Единичное значение может иметь только один бит

Биты 7-3 зарезервированы Биты 2-0: поддерживаемые режимы одиночного обмена DMA бит 0=1 - Mode 0, бит 1=1 - Mode 1 и т. д.

89

F

Время защитного стирания: О-не указано; значение 1 - 254, умноженное на 2, дает время в минутах, 255 - более 508 мин

90

F

Время расширенного защитного стирания (аналогично слову 89)

91

V

Текущий уровень Advanced Power Management

92-126

R

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

127

R

F

Биты 15-2 -зарезервированы Биты 1 -0 - уведомление о смене носителя: 00 - не поддерживается, 01 - поддерживается, 1х - зарезервированы

<


Слово

F/V

Назначение

128

V

Состояние защиты:

Биты 15-9 зарезервированы

Бит 8 - уровень защиты:

0 - высокий,

1 - максимальный

Биты 7-6 - зарезервированы

Бит 5: 1 - поддержка расширенного защитного

стирания

Бит 4: 1 - счетчик попыток иссяк

Бит 3: 1 - команды защиты блокированы

Бит 2: 1 - устройство заблокировано

Бит 1: 1 -защита разрешена

Бит 0: 1 - защита поддерживается

129-159

X

Специфично

160-255

R

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

Команда установки параметров Initialize Device Parameters за- дает режим трансляции логической геометрии в системе CHS. Регистр SC указывает число логических секторов на трек, а в поле номера головки регистра DH указывается уменьшен- ное на единицу число логических головок. Если запрошенный режим трансляции устройство не поддерживает, оно выдаст ошибку "команда отвергнута" (прежняя спецификация АТА не четко описывала эту ситуацию, и некоторые системы не обнаруживали отказ при данной команде). После запроса неподдерживаемого режима трансляции устройство блоки- рует доступ к носителю с ошибкой ID Not Found до запроса поддерживаемого режима трансляции. Устройство обязано поддерживать режим, описанный словами 1, 3 и 6 блока его параметров. Некоторые устройства АТА-1 требовали, чтобы данная команда выполнялась до доступа к носителю.

Команда установки свойств Set Features (специфичная для устройства) подразумевает помещение кода подкоманды (табл. 6.6) в регистр свойств.

Код

Назначение

01h1

Разрешение 8-битного обмена

02h

Разрешение кэширования записи

Код

пвг-вчснмс

03h

Установка режима передачи по значению регистра SC (табл. 6.7)

04h'

Разрешение автоматического переназначения дефектных блоков

05h

Разрешение расширенного управления энергопотреблением (уровень в регистре SC)

31h

Запрет уведомления о смене носителя

33h'

Запрет повторов

44h'

Установка количества дополнительных байт в командах Read Long/Write Long

54h1

Установка количества сегментов кэша по значению регистра SC

55h

Запрет упреждающего чтения

5Dh

Разрешение прерывания по освобождению шины

5Eh

Разрешение прерывания при выполнении команды Service

66h

Запрет возврата к параметрам по умолчанию при включении питания

77h1

Запрет ЕСС

81 h1

Запрет 8-битного обмена

82h

Запрет кэширования записи

84h1

Запрет автоматического переназначения дефектных блоков

85h

Запрет расширенного управления энергопотреблением

88h1

Разрешение ЕСС

99h1

Разрешение повторов

9Ah1

Ограничение тока потребления значением в регистре SC, умноженным на 4 (мА)

AAh

Разрешение упреждающего чтения

ABh1

Установка максимального количества кэшируемых блоков по регистру SC

BBh1

Установка 4-байтной длины дополнительного поля для команд Read Long/Write Long

CCh

Разрешение возврата к параметрам по умолчанию при включении питания

DDh

Запрет прерывания по освобождению шины

DEh

Запрет прерывания при выполнении команды Service

<


1 В АТА-4 подкоманда изъята. 9 Зак.№530

После включения питания или аппаратного сброса установ- ленные свойства заменяются на принятые по умолчанию. Ре- зультат подкоманд можно и закрепить, подав подкоманду 66h (отмена - подкоманда с кодом CCh).

Биты [7:0]

Режим обмена

00000000

Режим PIO, принятый для устройства по умолчанию

00000001

Режим PIO, принятый для устройства по умолчанию; запрет IORDY

00001 mm

Режим PIO Mode x* с сигналом IORDY

00010 ппп

Режим одиночного DMA Mode x

00100 ппп

Режим множественного DMA Mode x

01000 ппп

Режим Ultra DMA Mode x

10000 mm

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

* x определяется значением поля ппп

Команда задания параметров блочного режима передачи Set Multiple Mode через регистр SC указывает число секторов, передаваемых с одним запросом прерывания. Значению SC==0 соответствует запрет блочного режима. После включения питания или аппаратного сброса блочный режим запрещен.

Команда диагностики Execute Device Diagnostic, адресуясь все- гда к ведущему устройству, выполняется одновременно обоими устройствами. О ее результате ведомое устройство сообщает ведущему (сигналом PDIAG#). Состояние обоих устройств опре- деляется по диагностическому коду (табл. 6.8), который счи- тывается из бит [6:0] регистра ошибок нулевого устройства.

Фиктивная команда Nop, не изменяя содержимого регистров, позволяет считать информацию о состоянии устройства, вы- полнив всего одну 16-битную запись по адресу в регистре DH. Команда всегда возвращает бит ошибки "команда отвергну- та". В АТА-4 команда объявлена обязательной для устройств ATAPI и всех, поддерживающих перекрывающиеся команды. Она имеет подкоманды, указываемые в регистре свойств. Под- команда с кодом 00 сбрасывает всю оставшуюся очередь, а с кодом 01 (NOP Auto Poll) на очередь не влияет.

Код

Ведущее устройство

Ведомое устройство

Olh

Нормально

Нормально или отсутствует

OOh, 02h-7Fh

Неисправно

Нормально или отсутствует

81h

Нормально

Неисправно

80h, 82h-FFh

Неисправно

Неисправно


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