Современные реализации ATA/IDE
Предложенный в конце 80-х годов
интерфейс ATA (AT Attachment), известный также под
названием IDE (Integrated Drive Electronics) очень быстро
завоевал широкую популярность среди
производителей и пользователей
персональных компьютеров. Основными
причинами быстрого и широкого
распространения нового интерфейса
послужили невысокая цена устройств,
простота их установки и эксплуатации, а
также высокий уровень совместимости
устройств IDE. Спецификация АТА уступает по
скорости обмена с дисками и ряду других
параметров интерфейсу SCSI, однако для
большинства пользователей
производительность играет меньшую роль, по
сравнению с совместимостью, простотой и
стоимостью устройств.
Первоначальная версия стандарта
IDE обеспечивала возможность подключения к
компьютеру четырех винчестеров и позволяла
обмениваться данными с диском на скорости
до 10Мбайт/сек, однако реальная скорость
ограничивалась прежде всего возможностями
самого винчестера. Подключение четырех
устройств, предусмотренное спецификацией IDE, в компьютерах семейства IBM PC AT, в
спецификации ATA/IDE реализовано не было.
Кроме того, совместное использование
стандарта ATA и программного интерфейса Int 13
BIOS ограничивало размер дисковых устройств
528Мб. Природу этого ограничения, связанную с
форматами чисел, используемых для
адресации головок, секторов и цилиндров
винчестера (CHS-адрес) в стандарте IDE и BIOS,
можно понять из приведенной ниже таблицы и
рисунка 3, иллюстрирующего взаимодействие
операционной системы с диском IDE.
Таблица 2.
|
BIOS |
IDE |
Результат |
Максимальное число секторов на
дорожке |
63 |
255 |
63 |
Максимальное число головок |
255 |
16 |
16 |
Максимальное число цилиндров |
1024 |
65536 |
1024 |
Максимальный размер диска |
8.4Гб |
136.9Гб |
528Мб |
Рисунок 3. Взаимодействие диска IDE с
операционной системой.
Другим существенным
ограничением стандарта IDE/ATA является
невозможность подключения к контроллеру IDE
каких-либо устройств, за исключением
винчестеров.
Присущие интерфейсу IDE/ATA
ограничения тормозили развитие недорогих
компьютерных систем, рассчитанных на
массового пользователя, в связи с чем целый
ряд фирм предпринял попытки расширения
возможностей классического IDE. Наибольших
успехов на этом пути добилась компания Western Digital, разработавшая спецификацию Enhanced IDE
(EIDE),
позволяющую использовать диски, размер
которых превышает 528 Мб, и обеспечившую
реальную возможность подключения к
компьютеру до четырех устройств IDE (не
только винчестеров, но и приводов CD-ROM или
стриммеров).
Другим интересным вариантом
развития интерфейса IDE является технология
Fast ATA, разработанная компанией Seagate Technology
при поддержке фирмы Quantum. Эта технология
направлена в первую очередь на повышение
скорости обмена данными с дисковыми
устройствами и не поддерживает возможность
подключения CD-ROM или стриммеров, но
обеспечивает более высокий уровень
совместимости за счет соответствия широко
распространенным промышленным стандартам.
Технология
Enhanced IDE компании Western Digital была разработана в
результате анализа потребностей
современного рынка ПК. В 1984 году компания
Western Digital создала контроллеры дисководов
(WD1002) и винчестеров (ST506), которые были
использованы фирмой IBM при разработке
компьютера IBM PC AT. Успех архитектуры АТ
привел к значительному расширению рынка IBM-совместимых
ПК и сделал контроллеры Western Digital стандартом
de facto.
В процессе становления рынка
персональных компьютеров фирма Western Digital
пришла к выводу о необходимости интеграции
электроники контроллера АТ и дискового
устройства. В результате сотрудничества с
Compaq Computer Corporation был разработан интерфейс IDE (Integrated
Drive Electronics), называемый также АТА (AT Bus attachment).
Первые промышленные устройства на базе IDE/ATA
были выпущены в 1986 году.
Продолжая лидировать в сфере IDE-устройств,
компания Western Digital предложила расширение
интерфейса IDE. Новая спецификация - Enhanced IDE -
повышает скорость обмена с диском,
допускает применение более скоростных
дисков и обеспечивает возможность
установки в компьютере до четырех
устройств IDE. Кроме того, Enhanced IDE позволяет
подключать к контроллеру не только
винчестеры, но и другие устройства (приводы CD-ROM, стриммеры), поддерживающие
спецификацию ATAPI (AT Attachment Packet Interface). Эта
спецификация определяет интерфейс с
приводами CD-ROM и другими недисковыми
устройствами, позволяющий использовать
стандартные контроллеры и кабели. Стандарт
ATAPI получил широкую поддержку среди
производителей CD-ROM-устройств и
разработчиков операционных систем, что еще
более расширило сферу распространения
интерфейса IDE/ATA. Текст спецификации ATAPI
можно найти на сервере ftp://fission.dt.wdc.com/pub/standarts/atapi/atapi25.zip
Спецификация EIDE позволяет
избавиться от целого ряда ограничений,
присущих интерфейсу IDE/ATA. Такое расширение
обеспечивает существенный рост
возможностей устройств долговременного
хранения информации без роста цен,
усложнения использования и потери
совместимости. Ограничения, присущие IDE, по
сравнению с другими интерфейсами (такими,
как SCSI) не угрожают доминированию IDE на
современном рынке недорогих систем. Однако
повышение производительности процессоров,
разработка новых ОС и высокие запросы
современных приложений к дисковому
пространству привели к тому, что стандарт IDE
уже не может удовлетворять всем
современным требованиям. Существенно и то,
что стандартный интерфейс IDE менее гибок и
более ограничен по сравнению со SCSI:
- IDE поддерживает только два винчестера, а
SCSI обеспечивает возможность подключения
большого количества блочных устройств
различных типов (принтеры, CD-ROM, стриммеры
и др.);
- размер дисков IDE не может превышать 528Мб,
поскольку для доступа к диску
используется интерфейс Int 13 BIOS, тогда как
SCSI не ограничивает размер диска;
- IDE обеспечивает скорость обмена с диском
2-3 Мб/сек, а SCSI - 10 или 20Мб/сек (Fast/Wide).
Технология Enhanced IDE позволяет
избавиться от основных ограничений
стандарта IDE/ATA:
- предельный размер диска 528Мб;
- малая скорость обмена с диском;
- поддержка только двух устройств;
- невозможность подключения приводов CD-ROM
и стриммеров.
Рисунок 4. Компоненты технологии EIDE.
Как показано на рисунке 4,
технология Enhanced IDE включает в себя четыре
основных компоненты, реализуемые совместно
в периферийных устройствах, контроллерах EIDE, BIOS и операционной системе:
1. Использование
винчестеров размером более 528Мб.
Эта возможность обусловлена внесенными в
BIOS изменениями, позволяющими адресовать
большие диски. Для работы с дисками более 528Мб
требуется поддержка со стороны винчестера,
BIOS и операционной системы.
Винчестер должен поддерживать
спецификацию ATA (этому требованию
удовлетворяет большинство современных
винчестеров).
BIOS также должна поддерживать
спецификацию ATA; большинство
производителей системных плат и
разработчиков BIOS уже поддерживают этот
режим.
Может потребоваться поддержка
работы с большими дисками и со стороны
операционной системы. Windows 3.1 не полностью
соответствует ATA, поэтому приходится
использовать специальные драйверы (Windows
"32-bit disk access"), обычно поставляемые
вместе с контроллерами EIDE. Большинство 32-разрядных
операционных систем (таких, как OS/2)
изначально поддерживают работу с большими
дисками.
2. Ускоренный обмен
данными
основан на использовании скоростных
режимов программируемого ввода-вывода (PIO
mode 3) и прямого доступа к памяти (DMA mode 1). Эти
режимы обеспечивают скорость обмена 11.1 и 13.3
Мб/сек, соответственно. Для реализации
скоростного обмена требуется поддержка со
стороны винчестера и BIOS.
BIOS должна поддерживать один из
скоростных режимов обмена с диском (PIO mode 3
или DMA mode 1), как правило это режим PIO.
Со стороны дискового устройства
также должна обеспечиваться поддержка
скоростного обмена. Эту возможность
обеспечивает большинство современных
винчестеров (в том числе диски Fast ATA).
Скоростные режимы обмена
позволяют полнее реализовать возможности
дисковых контроллеров, использующих
широкополосную локальную шину VESA или PCI.
3. Поддержка двух портов ATA.
Для обеспечения этой возможности
используются зарезервированные для
второго контроллера адреса портов ввода-вывода
и прерывание IRQ15. Для реализации этой
возможности требуется поддержка со стороны
контроллера (хост-адаптера), BIOS и
операционной системы.
К самим устройствам (винчестерам,
приводам CD-ROM или стриммерам) не
предъявляется никаких дополнительных
требований.
Контроллер должен обеспечивать
возможность установки адресов второго
порта (это реализовано отнюдь не во всех
современных моделях).
Не все BIOS поддерживают
возможность использования четырех
устройств IDE, однако современные разработки
включают этот режим.
Важную роль играет поддержка
использования четырех устройств со стороны
операционной системы. Эта возможность
реализована в большинстве 32-разрядных ОС и
в последних версиях DOS.
4. Возможность
подключения приводов CD-ROM и стриммеров.
Этот режим является недорогой
альтернативой SCSI. Для обеспечения такой
возможности требуется требуется поддержка
нескольких новых команд. Спецификация ATAPI (ATA
Packet Interface), находящаяся в стадии разработки,
содержит описание новых команд.
Для обеспечения возможности
подключения к хост-адаптеру недисковых
устройств требуется поддержка
спецификации ATAPI со стороны BIOS, хост-адаптера,
операционной системы и самих периферийных
устройств.
В настоящее время большинство
устройств CD-ROM уже использует интерфейс IDE/ATAPI
для подключения ко второму порту
современных контроллеров.
Очевидно, что при таком обилии
вариантов расширения возможностей IDE
отнюдь не все устройства, рекламируемые как
"Enhanced", поддерживают все четыре режима,
добавленные в спецификацию Enhanced IDE. Не
следует забывать также о том, что для
обеспечения полной поддержки EIDE, этой
спецификации должны удовлетворять BIOS, хост-адаптер,
операционная система и, наконец, сами
периферийные устройства.
Ограничение размера винчестеров
с интерфейсом IDE/ATA (528 Мб) является
результатом совместного использования
стандарта IDE и программного интерфейса Int 13 BIOS. Технология Enhanced IDE дает возможность
внести в BIOS изменения, позволяющие
избавиться от этого ограничения.
Природа ограничения размера
дисков связана с форматом (числом бит),
используемым для задания номеров головок,
цилиндров и секторов в интерфейсах Int 13 и IDE
(CHS-адресация). Поскольку оба интерфейса
используют различные форматы, их
совместное применение не позволяет
работать с дисками размером более 528
мегабайт. В таблице 3 приведены форматы
чисел, используемых для нумерации в BIOS и IDE:
Таблица 3.
Число |
BIOS |
IDE |
Результат |
секторов на дорожке |
63 |
255 |
63 |
головок |
255 |
16 |
16 |
цилиндров |
1024 |
65536 |
1024 |
Максимальный размер |
8.4Гб |
136.9Гб |
528Мб |
Существует два способа
преодолеть ограничение размера диска.
Первый способ заключается в использовании
трансляции адресов CHS (цилиндр-головка-сектор)
- пересчета реальных значений в фиктивные,
удовлетворяющие ограничениям BIOS.
Контроллер и BIOS используют в этом случае
разную геометрию для адресации данных на
диске. Если диск содержит 1500 секторов и
имеет 16 головок, то в результате трансляции
BIOS будет воспринимать его как устройство с
750 цилиндрами и 32 головками.
Технология Enhanced IDE использует
другой метод, называемый логической
адресацией блоков (LBA - Logical Block Address). В этом
случае используется сквозная нумерация
секторов и адрес CHS преобразуется в одно 28-битовое
число, используемое для нумерации секторов
- LBA-адрес. Метод LBA обеспечивает более
эффективный способ работы с большими
дисками за счет простоты преобразования
адреса. Кроме того, этот способ
представляется более эффективным при
разработке новых операционных систем.
Схема адресации с использованием LBA была
впервые применена фирмой Western Digital в конце
1993 года, позволив создать диск IDE размеров 540Мб
(модель AC2540).
Шина ISA обеспечивает возможность
обмена данными с диском на скорости 2-3Мб/сек.
По сравнению со скоростями SCSI-контроллеров
(5, 10 и 20Мб/сек), эта скорость слишком мала. До
недавнего времени ограничение скорости
обмена не играло существенной роли,
поскольку сами устройства IDE не позволяли
считывать или записывать данные со
скоростью выше 5 Мбит/сек. По мере
совершенствования дисковых технологий
скорость контроллера 2-3Мб/сек начала все-таки
ограничивать возможности винчестеров IDE.
Для повышения производительности дисковой
подсистемы компьютеров пришлось
использовать буферную память,
устанавливаемую на плате винчестера или
хост-адаптера. Современные винчестеры
могут обеспечивать скорость чтения/записи
до 48 Мбит/сек и простая буферизация для
повышения производительности работы будет
слишком дорогим решением.
Скоростные режимы PIO
Для повышения скорости обмена данными в
современных ПК широко используются
локальные шины. Локальная шина VESA была
разработана для ускорения вывода
изображений на экран, а в 1992 году был
выпущен первый контроллер IDE с шиной VLB (VESA
Local Bus), обеспечивший некоторый рост
скорости обмена с диском. Несколько позже
была разработана спецификация локальной
шины PCI. Контроллеры IDE с локальной шиной VLB
поддерживают высокую скорость обмена между
диском и буфером, но и они не могут
сравниться с контроллерами Fast-SCSI (10Мб/сек.)
по причине использования "слепого"
обмена в режиме программируемого ввода-вывода (PIO). "Слепой" метод PIO основан на том,
что контроллер (ведущее устройство)
запрашивает данные у диска (ведомое
устройство) или передает их ему. При таком
режиме используется только часть полосы
пропускания шины, что не позволяет добиться
существенного роста скорости контроллеров IDE.
Enhanced IDE включает операции,
называемые "управление потоком с
использованием IORDY", которые позволяют
диску включать пакетный режим передачи для
100% использования полосы пропускания шины.
Режим управления потоком передает
инициативу устройству (диску) и позволяет
избавиться от неэффективных "слепых"
режимов PIO за счет установки полосы
пропускания контроллера в соответствии с
возможностями винчестера. Это означает, что
в тех случаях, когда доступна вся полоса,
винчестер будет управлять обменом данными
с хост-адаптером.
Режим 3 PIO с периодом тактирования
180нсек. обеспечивает скорость обмена 11Мб/сек.,
превышающую скорость Fast-SCSI (10Мб/сек.).
Управление потоком со стороны диска
включается контроллером с помощью команды
Set Features, в результате чего такой обмен
поддерживается одновременно и диском, и
контроллером. Винчестер AC2540 (540Мб)
выпущенный в 1993 году фирмой Western Digital,
поддерживал управление потоком с помощью IORDY, реализованное с помощью
специализированной микросхемы-контроллера.
Основные возможности этого контроллера
позднее были включены в стандартные наборы
микросхем IDE.
Режимы DMA
Хотя режимы программируемого ввода-вывода (PIO)
являются стандартным методом,
поддерживаемым в серийных устройствах IDE, и
отличаются высокой совместимостью,
существуют и другие способы повышения
скорости обмена с винчестерами. Метод
прямого доступа к памяти (DMA) основан на
передаче данных между диском и памятью
компьютера без использования центрального
процессора CPU). Тип B для DMA определен в
спецификации EISA и обеспечивает обмен со
скоростью 4Мб/сек. Этот метод дает
преимущество по сравнению со стандартной
скоростью для шины ISA, но значительно
уступает Fast-SCSI.
С развитием технологии локальных
шин в спецификации PCI был предложен новый
вариант обмена с использованием DMA (тип F),
обеспечивающий скорость 8.33 и 6.67Мб/сек. В
соответствии с возможностями существующих
микросхем была предложена спецификация DMA
Mode 1 с циклом 150нсек., обеспечивающая
скорость обмена 13Мб/сек. за счет передачи
нескольких слов за один запрос. Комплекты
микросхем с поддержкой DMA типа B (EISA) и типа F (PCI)
поставляются с конца 1993 года.
Сравнение DMA и PIO
Режимы PIO в дисковых контроллерах IDE
получили более широкое распространение по
сравнению с режимами DMA. По этой причине
прерывание BIOS Int 13 и драйверы устройств
операционных систем поддерживают режим PIO,
а не DMA. Это означает, что для использования
режимов DMA потребуется замена BIOS и
драйверов устройств.
Технология Enhanced IDE компании Western
Digital обеспечивает возможность выбора между
режимами PIO с управлением потоком через IORDY (mode
3) и DMA (тип B или F), реализованными с помощью
драйверов.
В оригинальном IBM PC AT была
зарезервирована поддержка двух
контроллеров для работы с винчестерами и
каждый из этих контроллеров позволял
подключить два диска. Однако BIOS и драйверы
операционных систем не поддерживали
использование второго контроллера, что
ограничивало возможности дисковой
подсистемы ПК. Сегодняшние операционные
системы предоставляют возможность
использовать в компьютере все четыре
устройства IDE (два порта). Добавление
второго порта IDE на плату хост-адаптера
почти не увеличивает стоимости последнего.
Большинство микросхем, используемых для
изготовления контроллеров уже содержат
второй порт и устройство декодирования
адреса, поэтому стоимость расширения
возможностей контроллера фактически
сводится к стоимости установке на плате
дополнительного 40-контактного разъема для
подключения кабеля ($1). Расширение дисковой
системы компьютера до 4 устройств с помощью
новых контроллеров IDE экономически более
эффективно по сравнению с использованием
устройств SCSI.
Технология Enhanced IDE компании Western
Digital позволяет BIOS определить второй
контроллер по номеру диска, переданному
прерыванию Int 13. DOS версии 3.30 и выше
позволяет использовать в компьютере до
семи устройств, поэтому для поддержки
дополнительных дисков IDE требуется лишь
изменить BIOS, чтобы обеспечить возможность
использования второго канала IDE.
Операционные системы типа OS/2 и Windows NT
позволяют использовать четыре устройства
IDE и со старыми BIOS; Novell NetWare позволяет
устанавливать в компьютер четыре
контроллера IDE, к которым можно подключить
восемь устройств.
Второй порт IDE не только
позволяет увеличить число дисков, но и
обеспечивает возможность подключения
устройств, не являющихся винчестерами -
например, приводов CD-ROM или стриммеров.
Подключение медленных устройств типа CD-ROM
ко второму порту обеспечивает возможность
работы винчестера без задержек даже при
отсутствии раздельного тактирования
устройств (при отсутствии раздельного
тактирования скорость обмена с
подключенными к одному порту устройствами
определяется более медленным из них).
Компания Western Digital разработала
спецификацию ATAPI (ATA Packet Interface) для
подключения к контроллеру IDE новых
устройств хранения, подобных приводам CD-ROM и
стриммерам. В традиционной компьютерной
архитектуре использовался механизм
переноса данных, основанный на регистрах.
Современные варианты архитектуры
используют механизм передачи на основе
пакетов. ATAPI является расширением стандарта IDE, обеспечивающим возможность работы с
пакетами. Спецификация ATAPI добавляет к IDE
единственную новую команду, расширяющую
функции контроллера, и две новых команды
адресации.
Современные технологии
устройств и контроллеров IDE обеспечивают им
возможность успешной конкуренции со
стандартом SCSI. IDE обеспечивает хорошую
совместимость и простоту использования
наряду с невысокой ценой. Кроме того,
современные варианты IDE обеспечивают не
менее высокую скорость, чем SCSI (проигрывая
только Fast/Wide SCSI). Существенна также
возможность подключения недисковых
устройств к современным контроллерам ATA/IDE.
В таблице 4 приведены
сравнительные данные интерфейсов IDE и Enhanced IDE:
Таблица 4.
Стандартный ATA |
Enhanced IDE |
Поддерживает только два диска |
Поддерживает четыре диска при
двухканальном контроллере и допускает
дальнейшее расширение |
Может использоваться только для
подключения винчестеров. |
Обеспечивает возможность
подключения устройств ATAPI (CD-ROM и
стриммеры) |
Емкость диска не может
превышать 528Мб в результате совместного
использования BIOS Int 13 и спецификации IDE. |
Адресация LBA (Linear Block address)
позволяет использовать диски размером
до 8.4Гб |
Скорость обмена не может
превышать 2-3 Мб/сек. |
В режиме 3 PIO и режиме 1 DMA
скорость обмена может достигать 13.3Мб/сек. |
|