Книга: Аппаратные интерфейсы ПК. Энциклопедия
9.2. Интерфейс ATA/ATAPI (IDE)
Интерфейс ATA (AT Attachment for Disk Drives) разрабатывался в 1986–1990 гг. для подключения накопителей на жестких магнитных дисках к компьютерам IBM PC AT с шиной ISA. Стандарт, выработанный комитетом X3T10, определяет набор регистров устройств и назначение сигналов 40-контактного интерфейсного разъема. Интерфейс появился в результате переноса стандартного (для PC/AT) контроллера жесткого диска ближе к накопителю, то есть создания устройств со встроенным контроллером — IDE (Integrated Drive Electronics). Стандартный контроллер AT позволял подключать до двух накопителей, что в интерфейсе ATA означает параллельное подключение контроллеров двух устройств. В спецификации ATA фигурируют следующие компоненты.
? Хост-адаптер — средства сопряжения интерфейса ATA с шиной компьютера. Хостом мы будем называть компьютер с хост-адаптером интерфейса ATA. Хост-контроллер — более развитый вариант хост-адаптера.
? Ведущее устройство (Master) — ПУ, в спецификации ATA официально называемое Device-0 (устройство 0).
? Ведомое устройство (Slave) — ПУ, в спецификации официально называемое Device-1 (устройство 1).
Хост-адаптер и устройства объединяются кабелем-шлейфом, соединяющим параллельно одноименные контакты интерфейсных разъемов. Регистры обоих контроллеров оказываются расположенными в одних и тех же областях пространства ввода-вывода. Для выбора устройства, исполняющего текущую команду, используется бит выбора накопителя (DEV
) в регистре номера устройства и головки (drive/head register). Если бит DEV
=0, выбрано ведущее устройство, если DEV
=1 — ведомое. Запись в этот регистр воспринимается сразу обоими устройствами, на обращения к остальным регистрам реагирует только выбранное. Достаточно универсальный набор сигналов позволяет подключать любое устройство со встроенным контроллером, которому в пространстве портов ввода-вывода достаточно того же набора регистров, способное поддержать режим выбора устройства через вышеупомянутый бит. Принятая система команд и регистров, являющаяся частью спецификации ATA, ориентирована на блочный обмен данными с устройствами прямого доступа. Для иных устройств существует спецификация ATAPI, основанная на тех же аппаратных средствах, но позволяющая обмениваться пакетами управляющей информации (Package Interface, PI). Структура и наполнение пакетов позаимствованы из универсального интерфейса SCSI. Пакетный интерфейс позволяет расширить границы применения шины ATA.
Адресация в ATA имеет «дисковые корни»: для накопителей изначально указывали адрес цилиндра (cylinder), головки (head) и сектора (sector) — так называемая трехмерная адресация CHS. Сначала эта адресация точно соответствовала реальной геометрии — физически сектор действительно находился по указанному адресу. Позже по ряду причин диски ATA стали описывать внешней геометрией, отличающейся от реальной внутренней (например, разные зоны треков имеют разное число секторов, причем часть секторов может резервироваться на случай замены дефектных). При этом одно и то же устройство может иметь различную внешнюю геометрию. Преобразование адресов в реальные выполняется встроенным контроллером устройства. В системе CHS устройство ATA позволяет адресовать до 267 386 880 (65 536?16?255) секторов (блоков), что при размере сектора в 512 байт дает 136 902 082 560 байт (около 137 Гбайт). Позже пришли к линейной адресации логических блоков LBA (Logical Block Addressing), где адрес блока (сектора) определяется 28-битным числом, что позволяет адресовать до 268 435 455 (228) блоков (немного больше, чем в CHS). Для устройств ATА, поддерживающих и CHS, и LBA, режим адресации определяется для каждой команды битом L
(бит 6) регистра D/H
; режимы могут чередоваться произвольным образом. Устройства ATAPI используют принятую в SCSI 32-битную логическую адресацию, позволяющую адресовать до 2 Тбайт (при 512-байтном блоке).
Если к шине ATA подключено одно устройство, оно должно быть ведущим. Если подключены два устройства, одно должно быть ведущим, другое — ведомым. О своей роли (ведущее или ведомое) устройства «узнают» с помощью предварительно установленных конфигурационных джамперов. Если применяется «кабельная выборка» (см. ниже), роль устройства определяется его положением на специальном ленточном кабеле. Оба устройства воспринимают команды от хост-адаптера одновременно. Однако исполнять команду будет лишь выбранное устройство. Выводить выходные сигналы на шину ATA имеет право только выбранное устройство. Такая система подразумевает, что, начав операцию обмена с одним из устройств, хост-адаптер не может переключиться на обслуживание другого до завершения начатой операции. Параллельно могут работать только устройства IDE, подключаемые к разным шинам (каналам) ATA. Спецификация ATA-4 определяет способ обхода этого ограничения, но эту возможность используют редко.
Для устройств IDE существует несколько разновидностей интерфейса.
? ATA, он же AT-BUS, — 16-битный интерфейс подключения к шине компьютера AT. Наиболее распространенный 40-проводный сигнальный и 4-проводный питающий интерфейс для подключения дисковых накопителей к компьютерам AT. Для миниатюрных (2,5" и менее) накопителей используют 44-проводный кабель, по которому передается и питание.
? PC Card ATA — 16-битный интерфейс с 68-контактным разъемом PC Card (PCMCIA) для подключения к блокнотным PC.
? XT IDE (8 бит), он же XT-BUS, — 40-проводный интерфейс, похожий на ATA, но несовместимый с ним.
? MCA IDE (16 бит) — 72-проводный интерфейс, предназначенный специально для шины и накопителей PS/2.
? ATA-2 — расширенная спецификация ATA. Включает 2 канала, 4 устройства, PIO Mode 3, Multiword DMA Mode 1, Block mode, объем диска до 8 Гбайт, поддержка LBA и CHS.
? Fast ATA-2 разрешает использовать Multiword DMA Mode 2 (13,3 Мбайт/с), PIO Mode 4.
? ATA-3 — расширение ATA-2. Включает средства парольной защиты, улучшенного управления питанием, самотестирования с предупреждением приближения отказа — SMART (Self Monitoring Analysis and Report Technology).
? ATA/ATAPI-4 — расширение ATA-3, включающее режим Ultra DMA со скоростью обмена до 33 Мбайт/с и пакетный интерфейс ATAPI. Появляется поддержка очередей и возможность перекрытия команд.
? ATA/ATAPI-5 — ревизия ATA/ATAPI-4: удаляются устаревшие команды и биты, добавляются новые возможности защиты и управления энергопотреблением. Включает режим Ultra DMA со скоростью обмена до 66 Мбайт/с.
? ATA/ATAPI-6 — дополнения к ATA/ATAPI-5: потоковое расширение для чтения/записи аудио- и видеоданных, управление акустическим шумом, режим Ultra DMA со скоростью обмена до 100 Мбайт/с.
? Serial ATA — последовательный интерфейс.
? E-IDE (Enhanced IDE) — расширенный интерфейс, введенный фирмой Western Digital. Реализуется в адаптерах для шин PCI и VLB. Позволяет подключать до 4 устройств (к двум каналам), включая CD-ROM и стриммеры (ATAPI). Поддерживает PIO Mode 3, Multiword DMA Mode 1, объем диска до 8 Гбайт, LBA и CHS. С аппаратной точки зрения практически полностью соответствует спецификации ATA-2.
Устройства ATA IDE, E-IDE, ATA-2, Fast ATA-2, ATA-3, ATA/ATAPI-4, ATA/ATAPI-5 и ATA/ATAPI-6 электрически совместимы. Степень логической совместимости достаточно высока (все базовые возможности ATA доступны). Однако для полного использования всех расширений необходимо соответствие спецификаций устройств, хост-адаптера и его ПО.
Разработкой спецификаций ATA/ATAPI занимается технический комитет T13 американского Национального Комитета но стандартизации в области информационных технологий (NCITS). Разработанные им спецификации оформляются в виде стандартов ANSI. Спецификация ATA/ATAPI-6 объявлена последней версией параллельного интерфейса ATA, за которой следует последовательный интерфейс Serial ATA.
- Интерфейсы накопителей на жестких магнитных дисках
- Интерфейс SATA
- Глава 10 Интерфейсы компьютерных сетей
- 8.4.4. Цифровые интерфейсы P&D, DVI и DFP
- 9.2.1. Параллельный интерфейс ATA
- 9.2. Интерфейс ATA
- 9.2.2. Последовательный интерфейс Serial ATA
- Интерфейс IEquatable
- Интерфейсы IDataReader и IDataRecord
- Привязка DataTable к интерфейсу пользователя
- Интерфейсы IDbDataAdapter и IDataAdapter
- Интерфейсы IDbDataParameter и IDataParameter