вые команды чтения и записи в режимах РIO и DMA, а также новый журнал со-
общений об ошибках потоковых команд. Потоковые команды позволяют
управлять поведением устройства в случае обнаружения ошибок, а также
«подсказывать» устройству правильную политику кэширования. Заметим, что
ранее потоковое расширение в несколько ином виде (Audio Visual Data features,
AV) планировалось ввести в ATA/ATAPI-6, но в окончательную версию этого
стандарта команды не вошли.
Пакетный интерфейс ATAPI
Для подключения к интерфейсу АТА приводов CD/DVD и стримеров (а
также других устройств) недостаточно набора регистров и системы команд
АТА. Для них существует аппаратно-программный интерфейс ATAPI (АТА
Package Interface — пакетный интерфейс АТА). Устройство ATAPI
поддерживает минимальный набор команд АТА, который неограниченно
расширяется 16-байтным командным пакетом. Командный пакет посылается
хостом в регистр данных устройства (в режиме PIO) по команде Packet.
Структура командного пакета (блок дескрипторов) происходит от SCSI, что
обеспечивает схожесть драйверов для устройств с интерфейсами SCSI и ATAPI.
При любой длине блока дескрипторов, которая определяется кодом команды
(нулевой байт пакета), передаваемый пакет имеет длину 16 байт, но
используется только указанное количество байтов. Классификация устройств
совпадает с принятой в SCSI , класс устройства сообщается им в начале блока
параметров идентификации. Систему команд и структуру пакетов стандарт
ATA/ATAPI не описывает, но для каждого класса устройств в SCSI определен
стандартизованный набор команд с определенной структурой пакетов.
Получив команду Packet, устройство устанавливает бит занятости BSY и
готовится принять пакет. По готовности к приему оно устанавливает бит DRQ и
сбрасывает бит BSY, что является сигналом хосту для передачи пакета в режиме
PIO. Во время передачи последнего слова устройство сбрасывает бит DRQ,
устанавливает бит BSY и начинает отработку пакетной команды.
При подаче команды Packet регистр свойств FR содержит признаки команды:
(регистры ATAPI-контроллера перечислены в таблице 1):
♦бит 0 — DMA — является указанием на использование режима DMA или
Ultra-DMA для обмена данными;
♦бит 1 — 0VL — является признаком возможности перекрытия команд.
Регистры СН и CL содержат лимит счетчика байтов данных, передаваемых
по каждому введению бита DRQ в режиме PIO.
Регистр D/H используется только для выбора устройства. Для устройств,
поддерживающих очереди команд, биты [7:3] регистра SC содержат тег задания
(Tag).
После подачи команды регистр SC помимо тега будет содержать следующие
биты:
♦бит 2 — REL (Release) — признак освобождения шины (для
перекрывающихся команд);