Интерфейс ATA (AT Attachment for Disk Drives) разработан в 1986 г. для подключения накопителей на жестких магнитных дисках в компьютерах IBM PC/AT с шиной ISA-Bus. Интерфейс появился в результате установки контроллера жесткого диска в сам накопитель, то есть создания устройства со встроенным контроллером — IDE (Integrated Device Electronic). Фактически контроллер жесткого диска был перенесен с материнской платы PC/AT на плату электроники накопителя. Поскольку стандартный контроллер жестких дисков AT позволял подключать до двух накопителей, эту возможность включили и в новый интерфейс. Оба накопителя подключили к одной интерфейсной шине, а для обеспечения программной совместимости бит выбора накопителя в регистре номера головки и номера устройства стали использовать для выбора устройства (фактически, для выбора контроллера). Для организации взаимодействия пары устройств на шине ввели несколько дополнительных сигналов. Поскольку набор сигналов получился достаточно универсальным, он позволяет подключать любое устройство со встроенным контроллером, которому в пространстве портов ввода/вывода достаточно того же набора регистров и которое способно поддержать принятый режим выбора устройства. Принятая система команд и регистров, являющаяся частью спецификации АТА, ориентирована на блочный обмен данными с устройствами прямого доступа. Для иных устройств существует спецификация ATAPI, основанная на тех же аппаратных средствах.
Стандарт ATA имеет систему команд, рассчитанную на приводы магнитных дисков. Для операций, связанных с обменом данными, предназначены команды, использующие программные режимы РIO (Programmed Input/Output) или блочные режимы DMA (Direct Memory Access). Блочный режим за счет сокращения числа прерываний, которые должен обслужить процессор, в многозадачной системе позволяет повысить производительность дискового обмена. Обмен по каналу DMA в отличие от РIO занимает только шины ввода/вывода и памяти. Процессору требуется выполнить только процедуру инициализации канала, после чего до прерывания от устройства, полученному в конце передачи блока, он свободен. Режимы обмена по каналу DMA могут быть одиночными и множественными. При множественном режиме (Multiword DMA) на сигнал запроса хост отвечает потоком циклов DMA. Если устройство не справляется с этим потоком, оно может приостановить поток, а по готовности к продолжению — возобновить. Множественный режим позволяет развивать более высокую скорость передачи. В режиме Ultra DMA за каждый такт передаются два слова данных, одно по фронту синхронизирующего сигнала, другое по спаду. Это позволяет повысить пропускную способность шины, не увеличивая максимальную частоту переключений сигналов. На сегодняшний день последней спецификацией интерфейса считается АТА-133. Ее появление обусловлено тем, что спецификацией АТА-100 допускалось использование жестких дисков объемом до 137 Гбайт, что связано с 28-битной адресацией сектора. Однако современные диски быстро преодолели этот рубеж. В спецификации АТА-133 используется 48-битная адресация сектора, что позволяет адресовать диски объемом до 144 петабайт. Кроме того, внедрение режима Multiword DMA Mode 7 позволило увеличить скорость передачи до 133 Мбайт/с.
Спецификация ATAPI Для подключения к интерфейсу АТА накопителей CD-ROM, стримеров и ряда других устройств набора регистров и системы команд АТА оказывается недостаточно. Для них существует аппаратно-программный интерфейс ATAPI (ATA Package Interface — пакетный интерфейс АТА). Устройство ATAPI поддерживает минимальный набор команд АТА, а также 16-байтный командный пакет, который пересылается хост-контроллером в регистр данных устройства. Структура командного пакета аналогична таковой для шины SCSI, что обеспечивает схожесть драйверов одних и тех же устройств, имеющих интерфейсы SCSI и ATAPI. Классификация устройств совпадает с принятой в SCSI, информация о классе устройства размещается им самостоятельно в начале блока параметров идентификации. Интерфейс ATAPI можно использовать с любыми адаптерами АТА, поскольку для контроллера поддержка ATAPI иногда выполняется чисто программными средствами. Специфические команды вместе с необходимыми параметрами передаются по команде Packet, код которой является недействительным для устройств АТА.