Смекни!
smekni.com

Интерфейсы винчестеров (стр. 3 из 4)

Спецификация 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 мегабайт. В таблице 2 приведены форматы чисел, используемых для нумерации в BIOS и IDE:

Таблица 2.

Число 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 за счет установки полосы пропускания контроллера в соответствии с возможностями винчестера. Это означает, что в тех случаях, когда доступна вся полоса, винчестер будет управлять обменом данными с хост-адаптером.