ATA

Материал из свободной русской энциклопедии «Традиция»
Перейти к навигации Перейти к поиску
ATA on mainboard.jpg

ATA (англ. Advanced Technology Attachment) — интерфейс подключения накопителей (например, жёстких дисков или оптических приводов) был разработан в 1989 году. Широко применяется на платформе IBM PC. Использование интерфейса ATA подразумевается при упоминании аббревиатур IDE, UDMA и ATAPI.

Организация интерфейса ATA и история его модификации[править | править код]

ATA cables.jpg

Хотя официально данный стандарт всегда назывался «ATA», по маркетинговым соображениям он довольно рано получил название IDE (Integrated Drive Electronics, т. е. «Электроника, встроенная в привод»), каковое название призвано было подчеркнуть, что контроллер привода располагается в нём самом, а не в виде отдельной платы расширения, как в предшествующем стандарте ST-506 и существовавших тогда интерфейсов SCSI и ST412. Это нововведение позволило удешевить производство новых накопителей.

В стандарт АТА определен интерфейс между контроллером и накопителем, а также передаваемые по нему команды.

Интерфейс имеет 8 регистров, занимающих 8 адресов в пространстве ввода-вывода. Ширина шины данных составляет 16 бит. Количество каналов, присутствующих в системе, может быть больше 2. Главное, чтобы адреса каналов не пересекались с адресами других устройств ввода-вывода. К каждому каналу можно подключить 2 устройства (master и slave), но в каждый момент времени может работать лишь одно устройство. Принцип адресации CHS заложен в названии. Сперва блок головок устанавливается позиционером на требуемую дорожку (Cylinder), после этого выбирается требуемая головка (Head), а затем считывается информация из требуемого сектора (Sector).

Стандарт EIDE (Enhanced IDE, т. е. «расширенный IDE»), появившийся вслед за IDE, позволял использование приводов ёмкостью, превышающей 528 МБ (504 МиБ), вплоть до 8,4 ГБ. Хотя эти аббревиатуры возникли как торговые, а не официальные названия стандарта, термины IDE и EIDE часто употребляются вместо термина ATA. После введения в 2003 году стандарта Serial ATA («Последовательный ATA»), традиционный ATA стали именовать Parallel ATA, имея в виду, способ передачи данных по 40-жильному кабелю.

Поначалу этот интерфейс использовался с жёсткими дисками, но затем стандарт был расширен для работы и с другими устройствами, в основном — использующими сменные носители. К числу таких устройств относятся приводы CD-ROM и DVD-ROM, ленточные накопители, а также дискеты большой ёмкости, такие, как ZIP и магнитооптические диски (LS-120/240). Этот расширенный стандарт получил название Advanced Technology Attachment Packet Interface (ATAPI), в связи с чем полное наименование стандарта выглядит как ATA/ATAPI.

Первоначальные расширения ATA для работы с приводами CD-ROM не обладали полной совместимостью, являлись фирменными. В результате, для подключения CD-ROM было необходимо устанавливать отдельную плату расширения, специфичную для конкретного производителя, например для Panasonic (существовало не менее 5 специфичных варианта ATA, предназначенных для подключения CD-ROM). Некоторые варианты звуковых карт, например Sound Blaster, оснащались именно такими портами.

Другим важным этапом в развитии ATA стал переход от PIO (Programmed input/output, Программный ввод/вывод) к DMA (Direct memory access, Прямой доступ к памяти). При использовании PIO считыванием данных с диска управлял центральный процессор компьютера (CPU), что приводило к повышенной нагрузке на процессор и замедлению работы в целом. По причине этого компьютеры, использующие интерфейс ATA, обычно выполняли операции, связанные с диском, медленнее, чем компьютеры, использующие SCSI и другие интерфейсы. Введение DMA существенно снизило затраты процессорного времени на операции с диском. В данной технологии потоком данных управляет сам накопитель, считывая даные в память или из памяти почти без участия CPU, который выдает лишь команды на выполнение того или иного действия. При этом жесткий диск выдает сигнал запроса 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. 1-й регистр с адресом 0 является 16-разрядный, и используется для передачи данных между диском и контроллером. Остальные регистры 8-битные и используются для управления.

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

Эти ограничения на размер могут проявляться в том, что система думает, что объём диска меньше его реального значения, или вовсе отказывается загружаться и виснет на стадии инициализации жёстких дисков. В некоторых случаях проблему удаётся решить обновлением BIOS. Другим возможным решением является использование специальных программ, таких, как Ontrack DiskManager, загружающих в память свой драйвер до загрузки операционной системы. Недостатком таких решений является то, что используется нестандартная разбивка диска, при которой разделы диска оказываются недоступны, в случае загрузки, например, с обычной DOS-овской загрузочной дискеты. Впрочем, многие современные операционных системы (начиная от Windows NT4 SP3) могут работать с дисками большего размера, даже если BIOS компьютера этот размер корректно не определяет).

Интерфейс PATA[править | править код]

Для подключения жёстких дисков с интерфейсом 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-проводная версия. Все дополнительные проводники — это проводники заземления, чередующиеся с информационными проводниками. Такое чередование проводников уменьшает ёмкостную связь между ними, тем самым сокращая взаимные наводки. Ёмкостная связь являются проблемой при высоких скоростях передачи, поэтому данное нововведение было необходимо для обеспечения нормальной работы установленной спецификацией UDMA4 скорости передачи 66 МБ/с (мегабайт в секунду). Более быстрые режимы UDMA5 и UDMA6 также требуют 80-проводного кабеля.

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

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

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

Если на шлейфе только один привод, он в большинстве случаев должен быть сконфигурирован, как ведущий. Однако, некоторые диски (в частности, производства Western Digital) имеют специальную настройку, именуемую single (т. е. «один диск на кабеле»). Также, в зависимости от аппаратного и программного обеспечения, единственный привод на кабеле может работать, даже если он сконфигурирован, как ведомый (такое часто встречается при подключении CD-ROM’а на отдельный канал).

Настройка, именуемая cable select (т. е., «выбор, определяемый кабелем»), была описана, как опциональная, в спецификации ATA-1 и стала широко распространена с ATA-5 и более поздними. Если привод сконфигурирован, как cable select, он автоматически устанавливается, как ведущий или ведомый, в зависимости от его местоположения на шлейфе. Эта позиция определяется контактом 28 (CSEL). У одного из разъёмов (серого цвета) контакт 28 не подключён. Контроллер заземляет этот контакт. Если привод видит, что контакт заземлён, он устанавливается, как мастер. Если контакт не заземлён, привод становится слейвом.

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

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

Термины master и slave, хотя и являются широко распространёнными, не используются в текущей версии стандарта ATA. Более правильно называть ведущий и ведомый диски соответственно device 0 (устройство 0) и device 1 (устройство 1). Существует распространённый миф, что ведущий диск руководит доступом дисков к каналу. На самом деле, управление доступом дисков и очерёдностью выполнения команд осуществляют драйверы операционной системы. Если устройство 1 выполняет команду, то, до окончания её выполнения, устройство 0 не может начать выполнение своей команды, и наоборот. Поэтому не имеет оснований предположение, что одно устройство спрашивает другое, можно ли ему использовать канал. Фактически оба они являются ведомыми по отношению к драйверу ОС.

Версии стандарта ATA, скорость передачи и свойства[править | править код]

В приводимой далее таблице приведены названия версий стандарта ATA, и поддерживаемые ими режимы и скорость передачи. Следует отметить, что скорость передачи, указываемая для каждого стандарта (например, 66,7 МБ/с для UDMA4, именуемого обычно «Ultra-DMA 66») указывает максимальную теоретически возможную скорость в кабеле. Это просто два байта, умноженные на фактическую частоту, и предполагает, что каждый цикл используется для передачи пользовательских данных. На практике скорость, естественно, меньше.

Перегрузка на шине, к которой подключён ATA-контроллер, также может ограничивать максимальный уровень передачи. Например, максимальная пропускная способность шины PCI , работающей на частоте 33 МГц и имеющей разрядность 32 бита, составляет 133 МБ/с, и эта скорость делится между всеми подключёнными к шине устройствами.

Более того, по данным на октябрь 2005 г., не существует ATA-дисков, имеющих устойчивую скорость передачи выше 80 МБ/с. Да и эти тесты не дают реальной картины, поскольку спроектированы так, что при их работе практически не встречается задержек на поиск или время ожидания. В большинстве реальных ситуаций эти два фактора являются во многом определяющими; третьим по важности фактором является пропускная способность шины ATA. Следовательно, скорости свыше 66 МБ/с только тогда оказывают реальное влияние на производительность, когда диск все операции ввода/вывода производит со своим внутренним кэшем — ситуация достаточно необычная, особенно в виду того, что данные в этом случае обычно уже кэшированы операционной системой.

Стандарт Другие названия Добавлены режимы передачи (MБ/с) Максимально поддерживаемый размер диска Другие свойства 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)
up to 137 GB 28-bit LBA X3.221-1994
(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
(obsolete since 2001)
ATA-3 EIDE
S.M.A.R.T., Security
X3.298-1997
(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
ATA/ATAPI-6 ATA-6, Ultra ATA/100 UDMA 5 (100)
aka Ultra DMA 100
up to 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 -- in progress

Смотри также[править | править код]

Ссылки[править | править код]

hu:Ata lt:ATA ur:پیشرفتہ طرزی وابستگی