Интерфейс IDE (в современном понимании этого термина) был предложен пользователям AT- и XT-совместимых компьютеров летом 1988 года известной сегодня фирмой Conner Peripherals как недорогая альтернатива интерфейсам ESDI и SCSI. В его создании непосредственное участие приняли также фирмы CDC, Compaq Computers и Western Digital. Первый документ САМ ATA (Common Access Method AT Attachment), регламентирующий новый интерфейс, был представлен в 1989 году. Стандартизован АТА-интерфейс был в 1990 году (ANSI Х3.221). Этот стандарт определяет временные соотношения сигналов интерфейса, спецификацию кабеля, сигналы на разъеме и т.д. Поскольку АТА-спецификация была долгое время весьма "расплывчатым" документом, а большинство производителей тем не менее выпускали АТА-винчестеры, то с первыми подобными устройствами часто возникали проблемы.
Как уже говорилось, отличительной особенностью нового интерфейса является реализация функций контроллера в самом накопителе. Таким образом, если винчестер имел IDE-интерфейс, это означало, что большая часть компонентов контроллера, совместимого по адресам с интерфейсом ST506/412, расположена вместе с электронной частью винчестера. Кстати, та плата с электронными компонентами, которая обычно включается между системной шиной компьютера и самим накопителем, контроллером, вообще говоря, не является. Как правило, она выполняет функции дешифратора базовых адресов контроллера и формирователя интерфейсных сигналов. Видимо, правильнее называть эту плату адаптером.
Как и любой винчестер, накопитель АТА имеет пакет магнитных дисков, блок магнитных головок, систему позиционирования и канал считывания-записи. Кроме этого, его важнейшими составными частями являются сепаратор данных и однокристальный микроконтроллер.
Отметим, что вся служебная информация, необходимая для функционирования АТА- винчестеров, записывается на магнитные диски на заводе-изготовителе. Эта информация может быть нескольких типов: сервисная информация, рабочие программы, формат нижнего уровня, паспорт диска и таблица сбойных секторов. В частности, сервисная информация необходима для работы сервосистемы привода магнитных головок. В накопителях АТА используются как выделенные, так и встроенные сервосистемы, тем не менее в современных моделях предпочтение отдается последним. Рабочие программы предназначены для управляющего микропроцессора и представляют собой необходимый набор кодов для работы аппаратуры накопителя. Паспорт диска накопителя АТА содержит справочную информацию о конфигурации и характеристиках накопителя, а также название модели и ее серийный номер. Таким образом, вся информация о "геометрии" АТА-винчестера (количестве цилиндров, головок, секторов) хранится на самом диске. В частности, паспорт диска предназначен для автоматического конфигурирования системы и настройки программного обеспечения при работе с АТА-накопителем.
В накопителях АТА избыточность по емкости скрыта от пользователя. Часть этой избыточной емкости отводится для рабочих программ, паспорта диска и таблицы сбойных секторов. Оставшаяся часть резервируется для замены сбойных секторов. Кстати, заполнение таблицы сбойных секторов производится на заводе-изготовителе при форматировании винчестера. Таким образом, если происходит обращение к сбойному сектору, то накопитель сам переадресует обращение к резервному. По этой причине все новые АТА-накопители не имеют ни одного сбойного сектора.
Подсоединение АТА-винчестера к компьютеру выполняется посредством 40-контактного плоского кабеля. Рекомендуемая длина кабеля не должна превышать 50 см.
Рис 15 Интерфейс АТА
Благодаря тесному взаимодействию пары контроллер—винчестер предусматривается, как правило, ряд особенностей, повышающих производительность винчестера, например использование аппаратной кэш-памяти для получения коэффициента чередования 1:1, режима трансляции физических параметров диска в логические, что позволяет использовать "нестандартные" параметры накопителя, и т.п. Кстати, современные накопители поддерживают так называемый универсальный режим трансляции, когда основным критерием для выбора логических параметров винчестера (количество цилиндров, головок, секторов на дорожке) является общее количество секторов на носителе. Как известно, под трансляцией понимают замену физических параметров накопителя (число головок, цилиндров, секторов на дорожку) логическими.
Теоретически скорость обмена данными для накопителей АТА составляет от 5 до 10 Мбайт/с. Наивысшей производительностью обладают системы с кэшированными адаптерами и использованием локальных шин. С массовым выпуском малогабаритных компьютеров типа лэптоп и ноутбук большее значение стали иметь размеры как самого винчестера, так и его контроллера, поэтому новая концепция интерфейса стала доминировать и в этой области.
В соответствии со спецификацией к одному разъему АТА можно подключить два винчестера, используя соединение "дэйзи-цепочка" (управляющий — Master, управляемый — Slave)(рис. 15). Правда, все контроллеры допускают подключение четырех устройств. "Трюк" в данном случае состоит в использовании адресов вторичного контроллера.
Так как винчестеры с АТА используют те же адреса, что и винчестеры с интерфейсом ST506/412, то, как правило, их нельзя использовать вместе. Еще одним ограничением АТА-винчестеров является верхний предел их емкости. Так как все операции ввода-вывода данных устройств выполняются через прерывание 13h системной BIOS, общая емкость АТА-винчестеров не может превышать примерно 1 Гбайта (около 504 Мбайт на один накопитель). Чтобы обойти это ограничение, разработчики шли на различные "трюки", которые, например, позволяли представить один физический диск как два.
Использовались и особенности самого интерфейса. Дело в том, что в одном из регистров интерфейса АТА бит номера устройства следует непосредственно за тремя битами номера головки. Следовательно, можно предположить, что подключены не два накопителя, а один, но с 32 головками.
1.11.5 Интерфейс Enhanced IDE и другие
"Мучения", связанные с ограниченной емкостью АТА-винчестеров, закончились, когда компания Western Digital разработала новый интерфейс Enhanced IDE. Его спецификацию поддержали практически все ведущие компании по производству жестких дисков. Тем не менее, например, фирма Seagate Technology использует для подобного интерфейса собственные названия: Fast ATA и Fast ATA-2. Надо сказать, что основные особенности этих интерфейсов совпадают со спецификацией АТА-2 и новым ANSI-стандартом — АТА-3 (ATAPI). Заметим, что Seagate Technology и Western Digital (как, впрочем, Conner и Quantum) являются членами комитета SFF (Small Form Factor), который, собственно, и дает предложения по стандартизации для ANSI .от имени производителей.
Вообще говоря, интерфейс Enhanced IDE имеет четыре основные особенности:
· использование IDE-накопителей емкостью свыше 504 Мбайт,
· более производительные режимы обмена данными,
· подключение к одному адаптеру до четырех устройств,
· поддержка периферийных устройств, отличных от жестких дисков.
Спецификация Enhanced IDE позволяет не только увеличить количество подключаемых устройств, но и использовать другие типы устройств, например приводы CD-ROM или стримеры. В частности, Western Digital для поддержки накопителей CD-ROM с интерфейсом IDE предлагает протокол ATAPI (ATA Packed Interface). ATAPI является расширением протокола АТА и требует незначительных изменений в системной BIOS. В общем случае применяется специальный драйвер.
Если интерфейс Fast ATA поддерживает режимы PIO Mode 3 и Multiword DMA Mode 1, то Fast ATA-2 реализует уже другие новые режимы: PIO Mode 4 с максимальной скоростью обмена 16,6 Мбайта/с и Multiword DMA Mode 2 (16,7 Мбайта/с). В перспективе речь идет уже о PIO Mode 5 (свыше 20 Мбайт/с). Стоит отметить, что единственным требованием спецификаций Fast АТА является только реализация режимов обмена данными, то есть система BIOS, предназначенная для Fast ATA, необязательно должна поддерживать одновременно четыре устройства, в том числе и отличные от жестких дисков, а также емкость свыше 504 Мбайт.
3.11.6 Кэширование диска
Принцип кэширования, используемый для оперативной динамической памяти, во многом похож на принцип кэширования жесткого диска, хотя понятно, что способы доступа к диску и памяти, вообще говоря, сильно различаются. Если время доступа к любой из ячеек оперативной памяти имеет одинаковое, по крайней мере, постоянное для данного компьютера, значение, то время доступа к различным блокам информации на винчестере в общем случае будет, увы, различным. Во-первых, нужно затратить некоторое время, чтобы магнитная головка записи-чтения подошла к искомой дорожке. Во-вторых, поскольку при движении головка вибрирует, то необходимо некоторое время, чтобы она успокоилась. В-третьих, искомый сектор может оказаться под головкой также спустя лишь некоторое время.
При обращении к оперативной памяти могут читаться или записываться только несколько отдельных байт, в то время как доступ к диску всегда происходит секторами. Если размер сектора в случае использования любой версии MS-DOS составляет 512 байт, то наименьший размер кэш-памяти также должен быть 512 байт.
При работе с многозадачными системами выгодно иметь винчестер с мультисегментной кэш-памятью, которая для каждой из задач отводит свою часть кэша (сегмент). В адаптивной мультисегментной кэш-памяти для повышения производительности число и размеры сегментов могут изменяться.
1.11.6 Выбор интерфейса винчестера
Немаловажный вопрос — это интерфейс приобретаемого винчестера. Сразу заметим, что про интерфейс ST506/412 нужно забыть.
Итак, какой из интерфейсов предпочтительней использовать в IBM PC-совместимых компьютерах? Ответ на этот вопрос не так прост, как кажется на первый взгляд. Хотя теоретически интерфейс SCSI может обеспечить скорость обмена несколько выше, нежели АТА, на практике все обстоит немного сложнее. Не следует забывать, например, тот факт, что АТА-интерфейс использует в основном программный ввод-вывод, а SCSI-винчестеры в большинстве случаев — передачу данных по прямому доступу к памяти. В однопользовательских системах программный ввод-вывод часто оказывается гораздо эффективнее. Это особенно четко проявляется для каптированных адаптеров при использовании улучшенных алгоритмов кэширования. Преимущество SCSI-адаптеров неоспоримо, в первую очередь в многозадачных и многопользовательских системах. Дело в том, что команды для SCSI-устройства могут быть построены в очередь, что освобождает процессор для выполнения других операций.