Интерфейс АТА
6. Интерфейс АТА
Интерфейс АТА- AT Attachment for Disk Drives - разрабаты- вался в 1986-1990 гг. для подключения накопителей на жест- ких магнитных дисках к компьютерам IBM PC AT с шиной ISA. Стандарт, выработанный комитетом ХЗТ10, определя- ет набор регистров и назначение сигналов 40-контактного интерфейсного разъема. Интерфейс появился в результате переноса контроллера жесткого диска ближе к накопителю, то есть создания устройств со встроенным контроллером - IDE (Integrated Device Electronic). Стандартный для AT кон- троллер жесткого диска был перенесен на плату электрони- ки накопителя с сохранением регистровой модели. При этом удлинилась связь с устройством со стороны системной шины, которую непосредственно выводить на длинный ленточный кабель было нецелесообразно. Это сказалось бы на скорости работы шины, надежности и цене. Из всех сигналов шины ISA выбрали минимальный набор сигналов, часть из кото- рых буферизовали на небольшой плате, устанавливаемой в слот, а часть направили прямо на разъем ленточного кабеля нового интерфейса. Из сигналов системной шины потребо- вались следующие:
шина данных - используется полностью;
т шина адреса - 3 младших бита поступают в интерфейс, старшие биты и сигнал AEN проходят через дешифратор, вырабатывающий сигналы выбора устройства CSO# и CS1#;
шина управления - используются сигналы чтения и за- писи портов и аппаратного сброса, запрос прерывания, пара сигналов канала DMA, сигналы готовности и управления разрядностью передачи.
Поскольку стандартный контроллер AT позволял подклю- чать до двух накопителей, эту возможность получил и ин- терфейс АТА. Однако теперь два накопителя стали означать и два контроллера. Их подключили к одной интерфейсной
шине, а для программной совместимости бит выбора нако- пителя (DEV) в регистре номера головки и номера устрой- ства (Drive/Head register) стали использовать для выбора ус- тройства. Для взаимодействия пары устройств на шине ввели несколько дополнительных сигналов. Так появился интерфейс АТА для подключения устройств IDE к шине ISA.
Позже их стали подключать и к локальным шинам, но набор сигналов интерфейса и протоколы обмена сохранились. Достаточно универсальный набор сигналов позволяет подключать любое устройство со встроенным контроллером, которому в про- странстве портов ввода/вывода достаточно того же набора регистров и которое способно поддержать режим выбора уст- ройства через вышеупомянутый бит. Принятая система ко- манд и регистров, являющаяся частью спецификации АТА, ориентирована на блочный обмен данными с устройствами прямого доступа. Для иных устройств существует специфи- кация ATAPI, основанная на тех же аппаратных средствах, но позволяющая обмениваться пакетами управляющей инфор- мации (PI - Package Interface). Пакетный интерфейс позво- ляет расширить границы применения шины АТА.
Адресация в АТА тоже имеет "дисковые корни": для нако- пителей изначально указывали адрес цилиндра (Cylinder), головки (Head) и сектора (Sector) - так называемая трех- мерная адресация CHS. Позже по ряду причин стали разли- чать физическую (реальную для накопителя) и логическую (по которой с устройством общается программа) адресацию CHS. При этом одно и то же устройство могло иметь раз- личную логическую геометрию (но, естественно, CxHxSnor < CxHxStjHo). Преобразование логической адреса- ции в физическую выполняется встроенным контроллером устройства. Позже пришли к линейной адресации логических блоков LBA (Logical Block Addressing), где адрес блока (сек- тора) определяется 28-битным числом.
В спецификации АТА фигурируют следующие компоненты:
Хост-адаптер - средства сопряжения интерфейса АТА с системной шиной (набор буферных схем между шинами ISA и АТА). Хостом мы будем называть компьютер с хост- адаптером интерфейса АТА.
Кабель-шлейф с двумя или тремя 40-контактными IDC- разъемами. В стандартном кабеле одноименные контак- ты всех разъемов соединяются вместе.
Ведущее устройство (Master) - ПУ, в спецификации АТА официально называемое Device-0 (устройство 0).
Ведомое устройство (Slave) - ПУ, в спецификации офи- циально называемое Dice-У (устройство 1).
Если к шине АТА подключено одно устройство, оно должно быть ведущим. Если подключены два устройства, одно долж- но быть ведущим, другое - ведомым. О своей роли (ведущее или ведомое) устройства "узнают" с помощью предваритель- но установленных конфигурационных джамперов. Если при- меняется "кабельная выборка" (см. ниже), роль устройства определяется его положением на специальном кабеле-шлейфе.
Оба устройства воспринимают команды от хост-адаптера од- новременно. Однако исполнять команду будет лишь выбран- ное устройство. Если бит DEVO, выбрано ведущее устрой- ство, если DЈV=1 - ведомое. Выходные сигналы на шину АТА имеет право выводить только выбранное устройство. Такая система подразумевает, что, начав операцию обмена с одним из устройств, хост-адаптер не может переключиться на об- служивание другого до завершения начатой операции. Парал- лельно могут работать только устройства IDE, подключаемые к разным шинам (каналам) АТА. Спецификация АТА-4 оп- ределяет способ обхода этого ограничения (см. 6.6).
Выполняемая операция и направление обмена данными меж- ду устройством и хост-адаптером определяются предвари- тельно записанной командой. Непременным компонентом ус- тройства является буферная память. Ее наличие позволяет выполнять обмен данными в темпе, предлагаемом хост-адап- тером (в пределах возможности устройства), без оглядки на внутреннюю скорость передачи данных между носителем и буферной памятью ПУ.
Для подключения устройств IDE существует несколько раз- новидностей интерфейса:
АТА, он же AT-BUS - 16-битный интерфейс подключения к шине компьютера AT. Наиболее распространенный
8 Зак.№530
40-проводной сигнальный и 4-проводной питающий интер- фейс для подключения дисковых накопителей к компью- терам AT. Для миниатюрных (2,5" и менее) накопителей используют 44-проводной кабель, по которому передается и питание.
PC Card ATA - 16-битный интерфейс с 68-контактным разъемом PC Card (PCMCIA) для подключения к блок- нотным PC.
т XT IDE (8-бит), он же XT-BUS - 40-проводный интер- фейс, похожий на ATA, но несовместимый с ним.
МСА IDE (16-бит) - 72- проводный интерфейс, предназ- наченный специально для шины и накопителей PS/2.
АТА-2 - расширенная спецификация ATA. Включает 2 ка- нала, 4 устройства, PIO Mode 3, multiword DMA mode 1, Block mode, объем диска до 8 Гбайт, поддержка LBA и CHS.
ш Fast АТА-2 разрешает использовать Multiword DMA Mode 2 (13,3 Мбайт/с), PIO Mode 4.
АТА-3 - расширение АТА-2. Включает средства парольной защиты, улучшенного управления питанием, самотести- рования с предупреждением приближения отказа - SMART (Self Monitoring Analysis and Report Technology).
ATA/ATAPI-4 - расширение АТА-3, включающее режим Ultra DMA со скоростью обмена до 33 Мбайт/с и пакет- ный интерфейс ATAPI.
E-IDE(EnhancedЮЕ) - расширенный интерфейс, введенный фирмой Western Digital. Реализуется в адаптерах для шин PCI и VLB. Позволяет подключать до 4 устройств (к двум каналам), включая CD-ROM и стриммеры (ATAPI). Поддер- живает PIO Mode 3, multiword DMA mode 1, объем диска до 8 Гбайт, LBA и CHS. С аппаратной точки зрения прак- тически полностью соответствует спецификации АТА-2.
Устройства ATA IDE, E-IDE, АТА-2, Fast АТА-2, АТА-3 и ATA/ ATAPI-4 электрически совместимы. Степень логической со- вместимости достаточно высока (все базовые возможности ATA доступны). Однако для полного использования всех рас- ширений необходимо соответствие спецификаций устройств, хост-адаптера и его ПО. В настоящее время наиболее широко
распространен и четко стандартизован интерфейс, официаль- но называемый А ТА -2, о котором в основном и пойдет речь.