ATA

ATA (AT Attachment) — параллельный интерфейс для подключения накопителей к ПК. В 90-е являлся стандартом, построенным на платформе IBM PC. В настоящее время стремительно вытесняется на рынке своим же последователем — SATA. С момента появления SATA, ATA переименовали в PATA (Parallel ATA).

История

Первоначально интерфейс получил предварительное название PC/AT Attachment («Соединение с PC/AT»), поскольку он предназначался для подключения к 16-битной шине ISA (известна как шина AT). В окончательной версии название переделали в «AT Attachment» во избежании проблем с торговыми марками.

Первая версия стандарта была разработана в 1986 году компанией Western Digital, она имела название IDE (Integrated Drive Electronics — «встроенная в привод электроника»). Название отображало существенное нововведение: контроллер привода располагался в нем самом, а не в виде отдельной платы расширения, как в предшествующем стандарте ST-506 и существовавших тогда интерфейсах SCSI и ST-412. Благодаря этому нововведению были улучшены характеристики накопителей. Меньшее расстояние до контроллера, упрощенное управление им, поскольку контроллер канала IDE абстрагировался от деталей работы привода, более дешевое производство. 

Правильное название контроллера канала IDE - хост-адаптер, потому что он перешел от прямого управления приводом к обмену данными с ним по протоколу. 

Интерфейс между контроллером и накопителем определен в стандарте АТА. Интерфейс оснащен 8 регистрами, которые занимают 8 адресов в пространстве ввода-вывода. Ширина шины данных равна 16 битам. Число каналов, находящихся в системе, может превышать 2. Важно, чтобы адреса каналов не пересекались с адресами других устройств ввода-вывода. Каждый канал позволяет подключить к себе 2 устройства (master и slave), однако в каждый момент времени может работать лишь одно устройство.

Принцип адресации CHS заключается в следующем: прежде всего блок головок устанавливается позиционером на требуемую дорожку, после чего выбирается требуемая головка, а затем из требуемого сектора считывается информация.

Стандарт EIDE (Enhanced IDE — «расширенный IDE») появился сразу вслед за IDE. Он позволял использовать приводы с емкостью более 528 Мб (504 МиБ), вплоть до 8,4 Гб. 

Хоть эти аббревиатуры возникли в качестве торговых линеек, а не официальных названий стандарта, термины IDE и EIDE обычно употребляются вместо термина ATA.

После выхода стандарта Serial ATA («последовательный ATA»), который состоялся в 2003 году, традиционный ATA стал называться Parallel ATA, что подразумивало под собой ничто иное, как способ передачи данных по параллельному 40- или 80-жильному кабелю.

Первоначально, интерфейс применялся с жесткими дисками, однако затем стандарт был расширен для работы и с другими устройствами, преимущественно, со сменными носителями. На шину ATAPI подключали даже FDD. Такой расширенный стандарт получил название Advanced Technology Attachment Packet Interface (ATAPI), а полное наименование стандарта выглядит как ATA/ATAPI. ATAPI почти полностью совпадает со SCSI на уровне команд.

Сперва интерфейсы по подключению приводов CD-ROM не были стандартизованы, являясь исключительно частными разработками производителей приводов. По этой причине, для подключения CD-ROM необходимо было устанавливать отдельную плату расширения, настроенную под конкретного производителя. Некоторые версии звуковых карт, например Sound Blaster, оснащались именно такими портами. Выход на рынок ATAPI позволил стандартизировать всю периферию и дать возможность подключать ее к любому контроллеру.

Еще одним немаловажным этапом развития ATA стал переход от PIO (Programmed input/output — программный ввод/вывод) к DMA (Direct memory access — прямой доступ к памяти). В ходе использования PIO управлением считыванием данных с диска занимался центральный процессор, а это, в свою очередь, приводило к повышенной нагрузке на процессор и снижению его производтельности. По этой причине компьютеры, которые использовали интерфейс ATA, выполняли операции, связанные с диском, медленнее, чем компьютеры, работающие на SCSI и прочих интерфейсах. Внедрение DMA значительно сократило затраты процессорного времени на операции с диском.

Потоком данных в этой технологии управляет сам накопитель. Он считывает данные из памяти почти без участия процессора, а тот, в свою очередь, просто выдает команды на выполнение того или иного действия. При этом жесткий диск выдает сигнал запроса DMARQ на операцию DMA контроллеру. Если операция DMA возможна, контроллер посылает сигнал DMACK и жесткий диск выдает данные в 1-й регистр (DATA), с которого контроллер считывает их. Так, процессор практически не задействован в этой цепочке.

Операция DMA возможна только в том случае, если режим поддерживается одновременно BIOS, контроллером и операционной системой. В противном случае, возможен лишь режим PIO. При развитии стандарта (АТА-3), инженерами был введен дополнительный режим UltraDMA 2 (UDMA 33), который имеет временные характеристики DMA Mode 2. Однако, данные передаются и по переднему, и по заднему фронту сигнала DIOR/DIOW, что вдвое увеличивает скорость передачи данных по интерфейсу. Кроме того, введена проверка на четность CRC, что увеличивает надежность передачи.

История развития ATA включала в себя ряд барьеров (в частности, ограничения на максимальный размер диска в 504 МиБ, около 8 ГиБ, около 32 ГиБ, и 128 ГиБ), связанных с организацией доступа к данным. Большинство из этих барьеров, благодаря современным системам адресации, были преодолены. Впрочем, существовали и другие барьеры, в основном связанные с драйверами устройств, и организацией ввода/вывода в ОС, не работающих в ATA.

В оригинальной спецификации АТА предусматривался 28-битный режим адресации, что позволяло адресовать 228 (268 435 456) секторов по 512 байт каждый. Это давало максимальную емкость в 137 Гб (128 ГиБ). В стандартных PC BIOS поддерживал до 7,88 ГиБ (8,46 Гб), допуская максимум 1024 цилиндра, 256 головок и 63 сектора. Это ограничение на число цилиндров/головок/секторов CHS (Cyllinder-Head-Sector) в сочетании со стандартом IDE привело к ограничению адресуемого пространства в 504 МиБ (528 Мб). В целях преодоления этого ограничения была введена схема адресации LBA (Logical Block Address), что позволило адресовать до 7,88 ГиБ. Со временем, данное ограничение было снято. Это дало возможность адресовать сначала 32 ГиБ, а затем и 128 ГиБ, используя все 28 разрядов (в АТА-4) для адресации сектора. Запись 28-битного числа организована путем записи его частей в соответствующие регистры накопителя (с 1 по 8 бит в 4-й регистр, 9-16 в 5-й, 17-24 в 6-й и 25-28 в 7-й).

Адресация регистров организована тремя адресными линиями DA0-DA2. Первый регистр с адресом 0 - 16-разрядный. Он используется в целях передачи данных между диском и контроллером. Остальные регистры 8-битные и применяются для управления.

Новейшие спецификации ATA предполагают 48-битную адресацию, расширяя возможный предел до 128 ПиБ (144 петабайт).

Ограничения на размер проявляются в том, что система идентифицирует объем диска меньше его реального значения, либо же вовсе отказывается загружаться и виснет на стадии инициализации жестких дисков. Иногда проблему удатся решить обновлением BIOS. Другое возможное решение -  использование специальных программ (например, Ontrack DiskManager), которые загружают в память свой драйвер до загрузки операционной системы. Недостатком таких решений является то, что используется нестандартная разбивка диска (разделы диска оказываются недоступны, в случае загрузки с обычной DOS-овской загрузочной дискеты). Впрочем, большинство современных ОС может работать с дисками большего размера, даже если BIOS компьютера не определяет размер как требуется.

Чтобы подключить HDD с интерфейсом PATA обычно используется специальный шлейф - 40-проводный кабель. Каждый шлейф обычно оснащен двумя или тремя разъемами, один из которых подключается к разъему контроллера на материнской плате, а остальные два - к дискам. В один момент времени шлейф P-ATA передает 16 бит данных. Иногда встречаются шлейфы IDE, которые позволяют подключать до трех дисков к одному IDE каналу, однако, в этом случае один из дисков работает в режиме read-only.

Разводка Parallel ATA

Контакт

Назначение

Контакт

Назначение

1

Reset

2

Ground

3

Data 7

4

Data 8

5

Data 6

6

Data 9

7

Data 5

8

Data 10

9

Data 4

10

Data 11

11

Data 3

12

Data 12

13

Data 2

14

Data 13

15

Data 1

16

Data 14

17

Data 0

18

Data 15

19

Ground

20

Key

21

DDRQ

22

Ground

23

I/O Write

24

Ground

25

I/O Read

26

Ground

27

IOC HRDY

28

Cable Select

29

DDACK

30

Ground

31

IRQ

32

No Connect

33

Addr 1

34

GPIO_DMA66_Detect

35

Addr 0

36

Addr 2

37

Chip Select 1P

38

Chip Select 3P

39

Activity

40

Ground

На протяжении длительного времени шлейф ATA содержал в себе 40 проводников, однако с введением режима Ultra DMA/66 (UDMA4) появилась его 80-проводная версия. Все дополнительные проводники — лишь проводники заземления, которые чередуются с информационными проводниками. Так, вместо семи проводников заземления их стало 47. Такое чередование проводников уменьшает емкостную связь между ними, тем самым сокращая взаимные наводки. Емкостная связь - это большая проблема при высоких скоростях передачи. Вот почему нововведение было необходимо для обеспечения нормальной работы установленной спецификацией UDMA4 скорости передачи 66 МБ/с. Что касается более быстрых режимом UDMA5 и UDMA6, то они также требуют 80-проводного кабеля.

Несмотря на то, что число проводников удвоилось, количество контактов осталось прежним, впрочем, как и внешний вид разъемов. Внутренняя разводка, однако, отличается. Разъемы для 80-проводного кабеля должны присоединять большое число проводников заземления к небольшому числу контактов заземления, тогда как в 40-проводном кабеле проводники присоединяются каждый к своему контакту. 80-проводных кабели имеют разъемы, размеченные расцветкой (синий, серый и черный), в отличие от 40-проводных, где обычно все разъемы одного цвета (зачастую, черного).

В стандарте ATA максимальная длина кабеля составляет 46 см. Такое ограничение затрудняет присоединение устройств в больших корпусах, или подключение нескольких приводов к одному компьютеру, и практически полностью исключает возможность использования дисков PATA в качестве внешних дисков. Однако в продаже широко распространены кабели большей длины, не соответствующие стандарту. То же можно сказать и про широко-распространенные «круглые» кабели. Стандартом ATA описаны только плоские кабели с конкретными характеристиками полного и емкостного сопротивления. Это не означает, что другие кабели не будут работать, впрочем, в любом случае, к использованию нестандартных кабелей лучше относиться осторожно.

Если к одному шлейфу подключено два устройства, одно из них носит признак «master» (ведущее), а друго - slave (ведомое). Как правило, ведущее устройство стоит перед ведомым в списке дисков, перечисляемых BIOS’ом. В старых BIOS’ах (486 и раньше) диски часто обозначались буквами «C» для ведущего диска и «D» для ведомого. Правильно называть «ведущий» и «ведомый» диски соответственно device 0 (устройство 0) и device 1 (устройство 1). 

Если на шлейфе располагается лишь один привод, он в большинстве случаев является ведущмй. Некоторые диски имеют специальную надстройку, именуемую single (единый диск на кабеле). В большинстве случаев, единый привод на кабеле может работать и как ведомый.

Также существует настройка под названием «cable select» («выбор, определяемый кабелем»), она является опциональной в спецификации ATA-1 и была широко распространена начиная с ATA-5. Благодаря ней, исключена необходимость переставлять перемычки на дисках при любых переподключениях. Так, если привод установлен в режим cable select, он автоматически устанавливается как ведущий или ведомый, в зависимости от своего местоположения на шлейфе. 

Во времена 40-проводных кабелей была широко распространена практика установки режима cable select путем простого перерезания проводника 28 между двумя разъемами. При этом, ведомый привод оказывался на конце кабеля, а ведущий в середине. Такое размещение в поздних версиях спецификации было стандартизировано. 80-проводные кабели, используемые для UDMA4, были лишены таких недостатков. В них ведущее устройство всегда находится в конце шлейфа. Так, если подключено только одно устройство, ненужный отрезок кабеля не образуется. Кабельная выборка у них устанавливается на заводе. Поскольку для 80-проводных шлейфов требовались собственные разъемы, повсеместное внедрение не заставило себя долго ждать. Стандарт требует использования разъемов разных цветов, для более простой идентификации. Синий предназначен для подключения к контроллеру, черный — к ведущему устройству, серый — к ведомому.

Версии ATA

Стандарт

Другие названия

Добавлены режимы передачи (МБ/с)

Максимально поддерживаемый объём диска

Другие свойства

ANSI Reference

ATA-1

ATA, IDE

PIO 0,1,2 (3.3, 5.2, 8.3)

Single-word DMA 0,1,2 (2.1, 4.2, 8.3)

Multi-word DMA 0 (4.2)

137 ГБ

28-bit LBA

X3.221-1994[1] (obsolete since 1999)

ATA-2

EIDE, Fast ATA,

Fast IDE, Ultra ATA

PIO 3,4: (11.1, 16.6)

Multi-word DMA 1,2 (13.3, 16,6)

   

X3.279-1996[2] (obsolete since 2001)

ATA-3

EIDE

   

S.M.A.R.T., Security

X3.298-1997[3] (obsolete since 2002)

ATA/ATAPI-4

ATAPI-4, ATA-4, Ultra ATA/33

Ultra DMA 0,1,2 (16.7, 25.0, 33.3)

aka Ultra-DMA/33

 

Support for CD-ROM, etc.,

via ATAPI packet commands

NCITS 317—1998

ATA/ATAPI-5

ATA-5, Ultra ATA/66

Ultra DMA 3,4 (44.4, 66.7)

aka Ultra DMA 66

 

80-wire cables

NCITS 340—2000[4]

ATA/ATAPI-6

ATA-6, Ultra ATA/100

UDMA 5 (100)

aka Ultra DMA 100

144 PB

48-bit LBA

Automatic Acoustic Management

NCITS 347—2001

ATA/ATAPI-7

ATA-7, Ultra ATA/133

UDMA 6 (133)

aka Ultra DMA 133

SATA/150

 

SATA 1.0, Streaming feature set, long logical/physical sector feature set for non-packet devices

NCITS 361—2002

ATA/ATAPI-8

ATA-8

 

в процессе

#