ATA (Advanced Technology Attachment)

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 20:24, 4 ноября 2017.
ATA (Advanced Technology Attachment)
800px-ATA on mainboard.jpg
Вид интерфейса ATA-контроллера на материнской плате (два снизу): синий первичный (Primary) и черный вторичный (Secondary)
Year created 1986
Supersedes Parallel ATA (PATA)[1]
Speed 11.1, 13.3, 16.6, 33.3, 66.6,100 and 133  Mbit/s
Hotplugging interface Yes
External interface Optional (SATA)

ATA (англ. Advanced Technology Attachment) — параллельный интерфейс подключения накопителей (жёстких дисков и оптических дисководов) к компьютеру. В 1990-е годы был стандартом на платформе IBM PC; в настоящее время вытеснен своим последователем — SATA (Serial ATA) — и с его появлением получил название PATA (Parallel ATA)[Источник 1].

История: происхождение ATA

Предварительное название интерфейса было PC/AT Attachment («Соединение с PC/AT»), так как он предназначался для подсоединения к 16-битной шине ISA (Instruction Set Architecture), известной тогда как шина AT. В окончательной версии название переделали в «AT Attachment» для избежания проблем с торговыми марками. Первоначальная версия стандарта была разработана в 1986 году фирмой Western Digital[2] и по маркетинговым соображениям получила название IDE (англ. Integrated Drive Electronics — «электроника, встроенная в привод»)[3]. Оно подчеркивало важное нововведение: контроллер привода располагается в нём самом, а не в виде отдельной платы расширения, как в предшествующем стандарте ST-506 и существовавших тогда интерфейсах SCSI (Small Computer Systems Interface) и ST-412[4]. Это позволило улучшить характеристики накопителей (за счёт меньшего расстояния до контроллера), упростить управление им (так как контроллер канала IDE абстрагировался от деталей работы привода) и удешевить производство (контроллер привода мог быть рассчитан только на «свой» привод, а не на все возможные; контроллер канала же вообще становился стандартным). Следует отметить, что контроллер канала IDE правильнее называть хост-адаптером[5], поскольку он перешёл от прямого управления приводом к обмену данными с ним по протоколу.

Шлейфы ATA (IDE): 40-проводной сверху, 80-проводной с кабельной выборкой снизу

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

Внешний вид интерфейса SCSI на плате и кабеля подключения к нему

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

Вид интерфейса SATA на материнской плате

Поначалу этот интерфейс использовался с жёсткими дисками, но затем стандарт был расширен для работы и с другими устройствами, в основном — использующими сменные носители. К числу таких устройств относятся приводы CD-ROM и DVD-ROM, ленточные накопители, а также дискеты большой ёмкости, такие, как ZIP и флоптические (используют магнитные головки с лазерным наведением) диски (LS-120/240). Кроме того, из файла конфигурации ядра FreeBSD можно сделать вывод, что на шину ATAPI подключали даже накопители на гибких магнитных дисках (дискета). Этот расширенный стандарт получил название Advanced Technology Attachment Packet Interface (ATAPI), в связи с чем полное наименование стандарта выглядит как ATA/ATAPI. ATAPI практически полностью совпадает со SCSI (Small Computer Systems Interface) на уровне команд и, по сути, есть «SCSI по ATA-кабелю». Первоначально интерфейсы для подключения приводов CD-ROM не были стандартизованы и являлись проприетарными разработками производителей приводов. В результате для подключения CD-ROM было необходимо устанавливать отдельную плату расширения, специфичную для конкретного производителя, например, для Panasonic (существовало не менее 5 специфичных вариантов интерфейсов, предназначенных для подключения CD-ROM). Некоторые варианты звуковых карт, например, Sound Blaster, оснащались именно такими портами (часто привод CD-ROM и звуковая плата поставлялись в виде мультимедиа-комплекта). Появление ATAPI позволило стандартизировать всю эту периферию и дать возможность подключать её к любому контроллеру, к которому можно подключить жесткий диск. Другим важным этапом в развитии ATA стал переход от PIO (англ. Programmed input/output — программный ввод-вывод)[7] к DMA (англ. Direct memory access — прямой доступ к памяти)[8]. При использовании PIO считыванием данных с диска управлял центральный процессор компьютера, что приводило к повышенной нагрузке на процессор и замедлению работы в целом. По причине этого компьютеры, использовавшие интерфейс ATA, обычно выполняли операции, связанные с диском, медленнее, чем компьютеры, использовавшие SCSI и другие интерфейсы. Введение DMA существенно снизило затраты процессорного времени на операции с диском. В данной технологии потоком данных управляет сам накопитель, считывая данные в память или из памяти почти без участия процессора, который выдаёт лишь команды на выполнение того или иного действия. При этом жёсткий диск выдаёт сигнал запроса DMARQ[9] на операцию DMA контроллеру. Если операция DMA возможна, контроллер выдаёт сигнал DMACK[10], и жёсткий диск начинает выдавать данные в 1-й регистр (DATA), с которого контроллер считывает данные в память без участия процессора. Операция DMA возможна, если режим поддерживается одновременно BIOS (Basic Input/Output System), контроллером и операционной системой, в противном случае возможен лишь режим PIO. В дальнейшем развитии стандарта (АТА-3) был введён дополнительный режим UltraDMA 2 (UDMA 33). Этот режим имеет временные характеристики DMA Mode 2, однако данные передаются и по переднему, и по заднему фронту сигнала DIOR/DIOW. Это вдвое увеличивает скорость передачи данных по интерфейсу. Также введена проверка на чётность CRC[11], что повышает надёжность передачи информации. В истории развития 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)[12] в сочетании со стандартом IDE привело к ограничению адресуемого пространства в 504 МиБ (528 Мб).
Система адресации сектора (CHS)
Для преодоления этого ограничения была введена схема адресации LBA (Logical Block Address)[13], что позволило адресовать до 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 (Basic Input/Output System). Другим возможным решением является использование специальных программ, таких, как Ontrack DiskManager, загружающих в память свой драйвер до загрузки операционной системы. Недостатком таких решений является то, что используется нестандартная разбивка диска, при которой разделы диска оказываются недоступны, в случае загрузки, например, с обычной DOS-овской загрузочной дискеты. Впрочем, многие современные операционные системы (начиная от Windows NT4 SP3) могут работать с дисками большего размера, даже если BIOS компьютера этот размер корректно не определяет.

Краткий обзор интерфейса IDE/ATA

Стандарт IDE

Интерфейс, используемый для подключения жестких дисков и оптических накопителей к современным компьютерам, обычно называют IDE (Integrated Drive Electronics — встроенный интерфейс накопителей); однако я всегда подчеркиваю, что официальное название интерфейса — ATA (AT Attachment). В нем отражено то, что данный интерфейс изначально был предназначен для подключения комбинации накопителя и контроллера к 16-разрядной шине представленного в 1984 году компьютера IBM AT, а также совместимых с ним. Шина AT больше известна как ISA (Industry Standard Architecture — архитектура шины промышленного стандарта). Хотя официально интерфейс называется ATA, часто используется маркетинговое название IDE, которое некоторые производители накопителей также применяют для описания комбинации накопителя и контроллера ATA. Название Integrated Drive Electronics говорит о том, что электроника интерфейса или контроллера встроена в накопитель, а не расположена на отдельной плате, как в устройствах предыдущих поколений. Поэтому, несмотря на официальное “техническое” название ATA, название IDE получило гораздо большее распространение. Но выход из подобной ситуации, безусловно, существует: под IDE следует понимать любой интерфейс накопителя, который характеризуется встроенным контроллером, в то время как под ATA — конкретную реализацию IDE, используемую в большинстве современных ПК. Изначально ATA представлял собой 16-разрядный параллельный интерфейс, что означает возможность одновременной передачи по кабелю 16 бит данных. Новый интерфейс, который называется Serial ATA, был официально представлен в конце 2000 года; впервые он появился в настольных системах в 2003 году, а в портативных компьютерах — в конце 2005 года. Интерфейс Serial ATA (SATA) передает данные по кабелю по одному биту за такт, что означает возможность использования более тонких кабелей, а также обеспечение более высокого быстродействия благодаря меньшим задержкам и скорости передачи данных. SATA — совершенно новый физический интерфейс, однако на программном уровне он совместим с предыдущей реализацией ATA, которая в последнее время получила новое название — Parallel ATA (параллельный ATA). В настоящей книге под ATA подразумевается как параллельная, так и последовательная версия этого интерфейса. При указании параллельной версии будет использоваться название Parallel ATA (PATA), а последовательной — Serial ATA (SATA).[Источник 2]

История развития интерфейса IDE

За время существования ПК было разработано несколько интерфейсов. В табл. приведены типы интерфейсов и период их использования. С каждым новым поколением компьютеров появляются новые интерфейсы, в то же время старые отмирают и в современных системах не используются.

Интерфейс Когда использовался
ST-506/412 1978-1989 годы (устарел)
ESDI 1983-1991 годы (устарел)
IDE (не ATA) 1987–1993 годы (устарел)
SCSI С 1986 года по настоящее время
IDE (Parallel ATA) С 1986 года по настоящее время
Serial ATA С 2003 года по настоящее время

Из них только первые два можно считать настоящими интерфейсами между контроллером и диском, и все они устарели. Версии интерфейса IDE (не ATA) использовались в основном в системах PS/2 и тоже отжили свое. Современные SCSI, ATA и SATA — это интерфейсы системного уровня, в которых контроллер одного из первых двух типов выполнен в виде набора микросхем и встроен в диск. Например, в большинстве дисков SCSI, IDE и SATA установлено устройство, собранное по той же схеме, что и автономный контроллер ESDI. В интерфейсе SCSI между контроллером и системной шиной вводится еще один уровень организации данных и управления, а IDE и SATA взаимодействуют непосредственно с системной шиной. Несмотря на эти отличия, платы SCSI, ATA и Serial ATA именуются не платами контроллера, а адаптерами интерфейса, так как реальные контроллеры встраиваются непосредственно в накопители на жестких дисках. Практически все современные накопители подключаются к ПК с помощью интерфейсов ATA, Serial ATA и SCSI.

Версии (стандарты) ATA

ATA-1

ATA-1

ATA-1 IDE (АТА-1 ИДЕ), исторически первый IDE интерфейс для жестких дисков с поддержкой 2-х устройств на шине. Режимы PIO и DMA Первой реализацией интерфейса IDE стала версия ATA-1, в которой поддерживалось всего два устройства на шине, причем эти устройства должны были быть жесткими дисками. В соответствии со спецификацией к одному разъему IDE можно подключить два устройства, используя их соединение в виде цепочки (daisy chain) по схеме «управляющий» (master) — «управляемый» (slave). Режим работы устройства (master или slave) задается на этих устройствах при помощи механического переключателя. Таким образом реализована примитивная адресация устройств на шине IDE. Интерфейс IDE поддерживал режимы PIO Mode 1 и 2, а также режим DMA. Максимальная скорость передачи данных по шине в режиме PIO Mode 2 составляла 8,3 Мбайт/с.

ATA-3

ATA-3

ATA-3 EIDE (Ultra DMA), АТА-3 ЕИДЕ УльтраДМА. Модификации UltraATA, ATA/100, UltraDMA/66, SerialATA (SATA, САТА). Система SMART Спецификация интерфейса EIDE, претерпев изменения, направленные на повышение производительности и надежности передачи данных, получила название ATA-3 (или Fast ATA-3). Во-первых, в линию передачи введено терминирование. Во-вторых, обеспечена поддержка технологии предупреждения отказов жестких дисков SMART (Self-Monitoring Analysis and Reporting Technology). Следующим шагом в развитии интерфейса IDE стала разработанная компанией Quantum спецификация UltraATA, которая на сегодняшний день поддерживается подавляющим большинством новых моделей накопителей и материнских плат. В ней применен новый протокол передачи данных UltraDMA (синонимы: UDMA, UltraDMA/33, UDMA/33). За счет передачи информации по фронту и срезу тактового сигнала скорость передачи в UltraATA составила 33,3 Мбайт/с, что в два раза выше достигаемой в Multi Word DMA Mode 2. Благодаря сохранению прежней тактовой частоты обеспечена обратная совместимость с существующими стандартами IDE. Протокол UltraDMA/33 активно использует Bus Mastering DMA для передачи данных, что снижает загрузку процессора. Для проверки целостности данных используются контрольные коды CRC (Cyclical Redundancy Code). Длина интерфейсного кабеля по-прежнему должна быть менее 45 см (на практике рекомендуется использовать как можно более короткий кабель, но не короче 15 см между отдельными устройствами). В качестве дальнейшего развития UltraDMA компания Quantum при поддержке Intel и Western Digital предложила спецификацию UltraDMA/66 с пиковой производительностью 66 Мбайт/с. В настоящее время полную поддержку производителей получил новый протокол ATA/100 со скоростью до 100 Мб/с. Большой интерес вызывает появление накопителей с интерфейсом SerialATA. Главные достоинства этого интерфейса - сочетание высоких скоростей передачи данных (уже в первых моделях - до 187,5 Мб/с) с использованием удобных тонких кабелей.

EIDE

EIDE

Интерфейс EIDE, ЕИДЕ (ATA-2). Расширение ATAPI В целях развития возможностей интерфейса IDE компанией Western Digital была предложена его расширенная спецификация Enhanced IDE (синонимы: E-IDE, Fast ATA, ATA-2 и Fast ATA-2), которая обрела затем статус американского стандарта ANSI под названием ATA-2. Она содержит ряд нововведений: поддержку IDE-накопителей емкостью свыше 504 Мбайт, поддержку в системе нескольких контроллеров IDE и подключение к одному контроллеру до четырех устройств, а также поддержку периферийных устройств, отличных от жестких дисков (приводов CD-ROM, CD-R и DVD-ROM, накопителей LS-120 и ZIP, магнитооптики, стримеров и т. п.). Расширение спецификации IDE для поддержки иных типов накопителей с интерфейсом IDE называют также ATAPI (ATA Packed Interface). В Enhanced IDE также введены элементы распараллеливания операций обмена и контроля за целостностью данных при передаче. Контроллер Enhanced IDE имеет два канала: первичный (Primary) и вторичный (Secondary), к каждому из которых подключаются до двух накопителей по схеме Master/Slave. В спецификацию интерфейса Enhanced IDE добавлена поддержка режимов PIO Mode 3 и 4, а также режимы DMA Single Word Mode 2 и Multi Word DMA Mode 1 и 2. Максимальная скорость передачи данных по шине в режиме PIO Mode 3 составляет 11,1 Мбайт/с, а в режимах PIO Mode 4 и Single Word DMA Mode 2 — 16,7 Мбайт/с. Режим Multi Word DMA Mode 2 позволяет получить пиковую скорость обмена свыше 20 Мбайт/с. В числе нововведений интерфейса Enhanced IDE, приведших к существенному увеличению его пропускной способности, следует отметить поддержку режима Bus Mastering. В этом режиме контроллер Enhanced IDE пересылает данные при помощи DMA без участия центрального процессора. Во время передачи данных устройство, поддерживающее Bus Mastering, захватывает шину и становится арбитром шины (bus master). Такой подход позволяет снизить загрузку процессора с 60-90% при операциях ввода/вывода до 10-15%. Преимуществами этого подхода можно воспользоваться прежде всего под операционными системами Windows 95 и Windows NT 3.5 и более поздними при наличии соответствующих Bus Master-драйверов.[Источник 3]

Сравнение стандартов 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[14] (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[15] (obsolete since 2001)
ATA-3 EIDE
S.M.A.R.T., Security
X3.298-1997[16] (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
Интерфейс ATAPI (поддержка сменных носителей), host protected area, поддержка твердотельных накопителей 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[17]
ATA/ATAPI-6 ATA-6, Ultra ATA/100 UDMA 5 (100)
aka Ultra DMA 100
144 ПБ 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

Примечания

  1. Parallel ATA (PATA) https://en.wikipedia.org/wiki/Parallel_ATA
  2. Western Digital Corporation https://ru.wikipedia.org/wiki/Western_Digital
  3. Интерфейс IDE ( Integrated Drive Electronics) http://computermaster.ru/articles/ide.html
  4. Интерфейс ST-412 https://ru.wikipedia.org/wiki/ST-506#ST-412
  5. Понятие хост-адаптера https://ru.wikipedia.org/wiki/HBA
  6. Стандарт EIDE (расширенный IDE) http://citforum.ru/hardware/bookide/bookide3.shtml#Enhanced
  7. Программный ввод/вывод (PIO) https://en.wikipedia.org/wiki/Programmed_input/output
  8. Прямой доступ к памяти (DMA) https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D1%8F%D0%BC%D0%BE%D0%B9_%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF_%D0%BA_%D0%BF%D0%B0%D0%BC%D1%8F%D1%82%D0%B8
  9. Запрос обмена DMARQ по каналу DMA https://zxpress.ru/article.php?id=15612
  10. Подтверждение DMA https://zxpress.ru/article.php?id=15612
  11. Циклический избыточный код https://ru.wikipedia.org/wiki/%D0%A6%D0%B8%D0%BA%D0%BB%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D0%B8%D0%B7%D0%B1%D1%8B%D1%82%D0%BE%D1%87%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%B4
  12. Система адресации сектора (CHS) https://ru.wikipedia.org/wiki/CHS
  13. Система адресации LBA https://ru.wikipedia.org/wiki/LBA
  14. ATA-R4C.DOC
  15. D0948R4C.DOC
  16. http://www.t10.org/t13/project/d2008r7b-ATA-3.pdf
  17. "アーカイブされたコピー" (PDF). Archived from the original (PDF) on 2011-07-28. Retrieved 2011-07-30. 

Источники

  1. Интерфейс ATA (англ. Advanced Technology Attachment) // Wikipedia. [2002-2017]. Дата обновления: 01.09.2016. URL: https://ru.wikipedia.org/wiki/ATA (дата обращения:26.10.2017)
  2. Интерфейс ATA/IDE // Wikipedia. [2002-2017]. Дата обновления: 01.09.2016. URL: http://www.williamspublishing.com/PDF/978-5-8459-1668-6/part.pdf (дата обращения:26.10.2017)
  3. Интерфейсы вычислительных систем: интерфейсы накопителей // Jimdo. [2007-2017]. Дата обновления: 01.09.2016. URL: https://archcomp.jimdo.com/%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F/5-%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81%D1%8B-%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D1%85-%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC/5-2-%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81%D1%8B-%D0%BD%D0%B0%D0%BA%D0%BE%D0%BF%D0%B8%D1%82%D0%B5%D0%BB%D0%B5%D0%B9/ (дата обращения:26.10.2017)