Интерфейсы винчестеров

Интерфейсы винчестеров
ST506/412
Широкое применение винчестеров в качестве устройств долговременного хранения
информации началось после выпуска фирмой Shugart Technology (ныне эта компания
именуется Seagate Technology, Inc.) диска ST506 размером 5.25 дюйма. Устройство
емкостью 5Мбайт использовало для подключения к компьютеру интерфейсную плату
ST506, разработанную в конце 70-х годов компанией Western Digital. Для
соединения винчестера с интерфейсной платой использовался 34-проводный плоский
кабель, к которому можно было подключить два устройства. Для того, чтобы диски
можно было адресовать, часть кабеля перекручивалась (подобно кабелю для
подключения дисководов). Кроме того, для обмена данными с каждым из дисков
использовался отдельный 20-проводный плоский кабель. Крупным недостатком
интерфейса ST506 являлось пошаговое перемещение головок (один шаг на каждую
команду перемещения), как это до сих пор происходит в дисководах для работы с
гибкими дисками. Более новая модель - ST412 - обеспечивала возможность
буферизованного поиска (buffered seek), позволяющего одной командой перемещать
головки на несколько шагов (например, через весь диск).
Основным преимуществом винчестеров с интерфейсом ST506/ST412 является их низкая
стоимость. Почти вся электроника, ответственная за работу диска, располагалась
на интерфейсной плате. Управляющие приводом головок сигналы передавались по
общему для двух подключаемых к контроллеру устройств 34-проводному кабелю, а
обмен данными с контроллером осуществлялся по 20-проводным плоским кабелям прямо
в виде последовательности импульсов, считанных с диска или записываемых на него.
Разъемы, используемые для подключения, описаны в Приложении 3.
Небольшой набор команд интерфейса ST506/412 затруднял создание дисков с большой
емкостью. Почти все диски с таким интерфейсом имели скорость вращения 3600
оборотов в минуту.
Интерфейс ST506 поддерживает два способа модуляции при записи-воспроизведении
данных: MFM(Modified Frequency Modulation - модифицированная частотная
модуляция) и RLL (Run Length Limited - кодирование с ограничением длины поля
записи).
Модуляция MFM
Метод MFM является разновидностью обычной частотной модуляции, широко
используемой в радиовещании и связи. Отличие заключается в том, что
модифицированная модуляция позволяет обеспечить двухкратное повышение плотности
записи данных за счет того, что на диск записываются не все сигналы
синхронизации и при записи каждого бита учитывается значение предшествующего
бита. За один переход (смену направления) намагниченности можно записать от
одного до трех бит данных). Сигналы с головки передаются по кабелю данных в
аналоговой форме; данные отделяются от сигналов синхронизации с помощью
специального устройства - сепаратора, устанавливаемого на плате контроллера.
Основным преимуществом MFM-модуляции является простая бинарная форма
записываемого на диск сигнала. При записи на дорожку использовались 17 секторов
по 512 байт каждый. Теоретический предел скорости обмена с дисками,
использующими MFM, составляет около 4Мбит/сек
(17секторов*512байт/сектор*8бит*3600об/мин):60сек = 4177920 бит/сек.
Однако реальная скорость обмена в несколько раз меньше, поскольку для таких
дисков фактор чередования (Interleave factor) не равен 1. Это было связано с
тем, что контроллер не успевал обработать прочитанные данные до того, как
головка перемещалась к следующему сектору. При факторе чередования 1:1 порядок
следования секторов на дорожке естественный: 1, 2, 3,...16, 17. При факторе
чередования 3:1 секторы на диске имеют следующий порядок: 1, 7, 13, 2,..., 11,
17. Первое число в обозначении коэффициента чередования указывает количество
оборотов диска, требуемых для полного прочтения или записи одной дорожки. За
счет кэширования записи можно было установить для дисков ST506 фактор
чередования 1:1.
Многие еще наверное не забыли программу Calibrate из комплекта Norton Utilities,
которая оптимизировала работу дисков путем подбора фактора чередования, наиболее
соответствующего скорости вашего диска и контроллера.
Модуляция RLL
Другой способ модуляции (2,7 RLL или просто RLL), предложенный компанией IBM в
1986 году, использует перекодирование исходной информации с введением
избыточности. Метод RLL преобразует данные в шестнадцатибитовые слова,
позволяющие записывать за один переход состояния намагниченности диска от 2 до 7
бит (эти цифры и включены в название метода). Использование RLL-модуляции
предъявляет более высокие требования к качеству поверхности диска и
равномерности его вращения. Кроме того, усилители каналов считывания-записи
должны иметь несколько иные характеристики, по сравнению с MFM-модуляцией.
Винчестеры с интерфейсом ST506/412, использующие метод RLL, как правило, имеют в
своем обозначении суффикс R (например, ST157R). На одну дорожку диска можно
записать 26 секторов по 512 байт, что дает теоретическую возможность обмена со
скоростью (512*26*8*3600):60=6489760бит/сек.
Метод RLL был развит впоследствии до возможности записи от 3 до 9 бит за один
переход намагниченности (3,9 RLL, ARLL, ERLL), что позволило записывать на
дорожку 31 сектор и обеспечило теоретический предел скорости обмена с диском
7618560бит/сек.
Диски RLL можно без опаски подключать к контроллерам MFM (правда с потерей
емкости), обратная же операция в общем случае некорректна. Многие, наверное,
помнят такой метод "увеличения" размера диска, практиковавшийся несколько лет
назад, - однако он не позволяет обеспечить достаточную надежность хранения
данных.
Сегодня диски с интерфейсом ST506/412 можно встретить только в очень старых
компьютерах.
ESDI
По мере роста скорости работы компьютеров интерфейс ST506 перестал удовлетворять
всем требованиям и в 1985 году был разработан новый стандарт - ESDI, который, по
сути, являлся простым разширением возможностей своего предшественника. Кабели,
используемые в спецификации ESDI, внешне не отличаются от кабелей ST506, однако
сигналы по ним передаются другие (см. Приложение 3). Если вы, пользуясь
сходством кабелей, подключите (по ошибке или специально) винчестер ST506/412 к
контроллеру ESDI (или наоборот), результаты могут быть самыми плачевными. Длина
используемых в интерфейсе ESDI кабелей могла достигать 9 футов (3 метра),
сигналы передавались главным образом как синфазные (с общей землей), за
исключением данных и синхронизации, для передачи которых использовался
дифференциальный метод. Данные передавались через последовательную линию
порциями по 16 бит, сопровождаемых битом четности. Обеспечивалась также
возможность подтверждения передачи данных.
Сепаратор в соответствии с новой спецификацией устанавливался непосредственно на
плате винчестера и по кабелю данных передавались уже не аналоговые сигналы, а
реальные данные в цифровой форме, что позволяло подобрать параметры сепаратора к
конкретному типу устройства, поскольку искажения сигналов в кабеле уже не имели
значения. Такой метод повышал надежность передачи данных и увеличивал скорость
обмена с контроллером до 10Мбит/сек за счет передачи по кабелю цифровых
сигналов. Кроме того, интерфейс ESDI обеспечивал возможность использования
винчестеров большой емкости и оптических накопителей.
Интерфейс ESDI обеспечивал три сигнала выбора устройства, что позволяло
подключать к нему до 7 накопителей. Сигналы выбора головки позволяли напрямую
адресовать до 16 головок, однако специальная команда Select Head Group позволяла
использовать до 256 головок (16 групп по 16 головок в каждой).
SCSI
Первоначальный вариант интерфейса SCSI (Small Computer System Interface) был
предложен в конце 70-х годов Shugart Associates под названием SASI (Shugart
Associates System Interface) взамен разработанной компанией IBM системной шины
IPI (интеллектуальный периферийный интерфейс). После неудачи в конкурентной
борьбе с фирмой IBM этот интерфейс был предложен комитету ANSI X3T9.2 как
интерфейс нижнего уровня под названием SCSI. В 1984 году этот комитет закончил
разработку спецификации SCSI-1 и в 1986 году она была опубликована в
окончательном виде. Этот интерфейс обеспечивал подключение широкого класса
периферийных устройств, таких как винчестеры, принтеры, сканеры, стриммеры,
приводы CD-ROM и др. SCSI является интерфейсом системного, а не приборного
уровня. В отличие от ST506/412 и других приборных интерфейсов с последовательной
передачей информации, SCSI передает биты данных параллельно, что обеспечивает
существенное повышение скорости обмена данными между устройством и
хост-адаптером.
Интерфейс SCSI используется не только в IBM-совместимых компьютерах, но и
семействах Macintosh, SPARC, VAX и др. Одна из причин такого широкого
распространения интерфейса SCSI заключается в том, что он не накладывает никаких
ограничений на связь между контроллером и периферийным устройством. Шину SCSI
можно использовать для связи компьютера с несколькими периферийными устройствами
(как внешними, так и внутренними). Более того, допускается совместное
использование одного периферийного устройства несколькими компьютерами,
подключенными к общей шине SCSI (правда это значительно сложнее сделать, чем
написать, но об этом разговор особый). Подключаемые к шине SCSI устройства могут
играть роль ведущих (Initiator) или ведомых (Target), при этом одно и то же
устройство может быть ведомым в одних случаях и ведущим - в других. Такое
разделение функций устройств позволяет организовать передачу данных с одного
периферийного устройства на другое (например, резервное копирование данных с
винчестера на стриммерную кассету). Обмен между устройствами по магистрали SCSI
происходит в соответствии с протоколом высокого уровня и адресация
осуществляется на уровне логических, а не физических (как в ESDI) блоков.
Программы для работы со SCSI-устройствами не используют физические
характеристики конкретного устройства (число головок, цилиндров и т.п.), а имеют
дело с логическими блоками, что дает возможность работы фактически со всеми
блочными устройствами.
Для подключения устройств SCSI используется кабель (как правило плоский) с
50-контактными разъемами (Приложение 3). Возможны как синфазная, так и
дифференциальная (с помощью "токовой петли") передача данных по кабелю; при
синфазной передаче длина кабеля может достигать 6м, при дифференциальной - 25м.
Для гарантированной передачи сигналов по магистрали SCSI линию требуется
согласовывать с помощью терминаторов (набора резисторов), устанавливаемых по
обоим концам шины SCSI.
Спецификация SCSI предусматривает подключение к шине до восьми устройств, однако
с учетом того, что каждое устройство может содержать 8 логических блоков, а
каждый блок - 256 подблоков, возможности расширения являются фактически
неограниченными. Каждое подключаемое к шине SCSI устройство имеет свой
идентификатор, устанавливаемый с помощью перемычек или переключателей
непосредственно в устройстве. Идентификаторы позволяют адресовать устройства и
задают их приоритет (чем больше значение идентификатора, тем выше приоритет
устройства).
На протяжении последних лет интерфейс SCSI был существенно расширен - появились
спецификации Fast-SCSI и Wide-SCSI, обеспечивающие более высокую скорость обмена
данными с устройствами SCSI. В настоящее время интерфейс SCSI используется в
основном в высокопроизводительных системах, предназначенных для коллективного
использования (диски файловых серверов, сканеры и т.д.).
ATA
Спецификация IDE/ATA была предложена в качестве недорогой альтернативы
интерфейсам ESDI и SCSI для персональных компьютеров семейств IBM PC XT/AT. В
результате сотрудничества компании Western Digital с Compaq Computer Corporation
был разработан интерфейс IDE (Integrated Drive Electronics), называемый также
АТА (AT attachment). Первые промышленные устройства на базе IDE/ATA были
выпущены в 1986 году. Интерфейс был стандартизован (ANSI X3T9.2/90-143) в 1990г.
как ATA (AT Attachment). Основным отличием нового интерфейса была реализация
большинства функций контроллера непосредственно на плате дискового накопителя.
Такой подход упростил и удешевил хост-адаптеры, используемые для подключения
винчестеров к компьютеру, и позволил обеспечить высокий уровень совместимости
устройств разных фирм.
Используемые устройствами IDE адреса ввода/вывода совпадают с адресами
ST506/412, но функции контроллера перенесены на плату управления приводом диска
и головок винчестера. Информация о геометрии диска (число головок, цилиндров и
секторов) хранится в самом устройстве. Зачастую в BIOS передаются логические
параметры диска, не совпадающие с его физическими параметрами, т.е. используется
трансляция, что позволяет устанавливать винчестеры в компьютеры со старыми BIOS,
не обеспечивающими возможность произвольной установки параметров устройства (в
большинстве современных реализаций BIOS такая возможность поддерживается как тип
47 - User Defined).
Базовый набор команд интерфейса IDE полностью соответствовал набору команд
контроллера WD1002/1003 компании Western Digital, который был использован в
компьютере IBM PC AT. При стандартизации интерфейса IDE к 12 базовым командам
было добавлено еще столько же. Перенос большинства функций контроллера на плату
управления позволяет несколько повысить скорость обмена данными с диском. Как
правило диски IDE имеют небольшую встроенную кэш-память (до 256Кб) и позволяют
работать с фактором чередования 1:1 (дорожка может быть прочитана целиком за
один оборот диска).
Хост-адаптер для подключения дисков IDE зачастую устанавливается на системной
плате (Mother board) или совмещается с контроллером дисководов и портами
ввода-вывода (последовательными и параллельным) на специальной, вставляемой в
гнездо расширения, плате (мультикарте, как ее зачастую называют). Подключение
устройств к хост-адаптеру осуществляется с помощью 40-проводного плоского, к
которому можно присоединить два винчестера. Для корректной адресации устройств
один из винчестеров должен быть установлен в режим Master (ведущий), другой - в
режим Slave (ведомый). Режим работы диска задается с помощью перемычек,
расположенных как правило около сигнального разъема винчестера.

Рисунок 1. Перемычки для установки режима Master/Slave
Ограниченность АТА
Первоначальная версия стандарта IDE обеспечивала возможность подключения к
компьютеру четырех винчестеров и позволяла обмениваться данными с диском на
скорости до 10Мбайт/сек, однако реальная скорость ограничивалась прежде всего
возможностями самого винчестера. Подключение четырех устройств, предусмотренное
спецификацией IDE, в компьютерах семейства IBM PC AT, в спецификации ATA/IDE
реализовано не было. Кроме того, совместное использование стандарта ATA и
программного интерфейса Int 13 BIOS ограничивало размер дисковых устройств
528Мб. Природу этого ограничения, связанную с форматами чисел, используемых для
адресации головок, секторов и цилиндров винчестера (CHS-адрес) в стандарте IDE и
BIOS, можно понять из приведенной ниже таблицы и рисунка 2, иллюстрирующего
взаимодействие операционной системы с диском IDE.
Таблица 1.
BIOSIDEРезультат
Максимальное число секторов на дорожке6325563
Максимальное число головок2551616
Максимальное число цилиндров1024655361024
Максимальный размер диска8.4Гб136.9Гб528Мб


Рисунок 2. Взаимодействие диска IDE с операционной системой.
Другим существенным ограничением стандарта IDE/ATA является невозможность
подключения к контроллеру IDE каких-либо устройств, за исключением винчестеров.
Присущие интерфейсу IDE/ATA ограничения тормозили развитие недорогих
компьютерных систем, рассчитанных на массового пользователя, в связи с чем целый
ряд фирм предпринял попытки расширения возможностей классического IDE.
Наибольших успехов на этом пути добилась компания Western Digital, разработавшая
спецификацию Enhanced IDE (EIDE), позволяющую использовать диски, размер которых
превышает 528 Мб, и обеспечившую реальную возможность подключения к компьютеру
до четырех устройств IDE (не только винчестеров, но и приводов CD-ROM или
стриммеров).
Другим интересным вариантом развития интерфейса IDE является технология Fast
ATA, разработанная компанией Seagate Technology при поддержке фирмы Quantum. Эта
технология направлена в первую очередь на повышение скорости обмена данными с
дисковыми устройствами и не поддерживает возможность подключения CD-ROM или
стриммеров, но обеспечивает более высокий уровень совместимости за счет
соответствия широко распространенным промышленным стандартам.
Fast ATA
Спецификация Fast ATA разработана компанией Seagate Technology и поддержана
фирмой Quantum и еще рядом компаний. Это расширение стандарта IDE/ATA преследует
цель увеличения емкости винчестеров и скорости обмена между диском и
программами. К настоящему моменту существует два варианта спецификации Fast ATA
и Fast ATA-2. Винчестеры, соответствующие Fast ATA, обеспечивают высокую
скорость обмена за счет реализации скоростных режимов PIO mode 3 (11.1 Мб/сек)
или Multiword DMA mode 1 (13.3 Мб/сек). Выбор конкретного режима предоставляется
производителю устройства. Fast ATA-2 поддерживает PIO mode 4 или Multiword DMA
mode 2 (пока не реализован "в железе"), обеспечивающие скорость обмена 16.6
Мб/сек.
Для обеспечения возможности использования дисков, размер которых превышает
528Мб, используется режим трансляции параметров диска (рис. 4.); реальные адреса
CHS (цилиндр-головка-сектор) пересчитываются в фиктивные, удовлетворяющие
ограничениям BIOS. Контроллер и BIOS используют в этом случае разную геометрию
для адресации данных на диске. Если диск содержит 2000 секторов и имеет 16
головок, то в результате трансляции BIOS будет воспринимать его как устройство с
1000 цилиндров и 32 головками.

Рисунок 3. Трансляция параметров диска.
Технология Fast ATA основана на признанных промышленных стандартах, что
обеспечивает ей высокий уровень совместимости со старыми контроллерами и
дисками. Протоколы обмена данными соответствуют официальному документу АТА-2
(Ref: 9048D).
Enhanced IDE
Технология 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.
Спецификация 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.
ЧислоBIOSIDEРезультат
Секторов на дорожке6325563
Головок2551616
Цилиндров1024655361024
Максимальный размер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,
к которым можно подключить восемь устройств.
Подключение устройств ATAPI
Второй порт IDE не только позволяет увеличить число дисков, но и обеспечивает
возможность подключения устройств, не являющихся винчестерами - например,
приводов CD-ROM или стриммеров. Подключение медленных устройств типа CD-ROM ко
второму порту обеспечивает возможность работы винчестера без задержек даже при
отсутствии раздельного тактирования устройств (при отсутствии раздельного
тактирования скорость обмена с подключенными к одному порту устройствами
определяется более медленным из них).
Компания Western Digital разработала спецификацию ATAPI (ATA Packet Interface)
для подключения к контроллеру IDE новых устройств хранения, подобных приводам
CD-ROM и стриммерам. В традиционной компьютерной архитектуре использовался
механизм переноса данных, основанный на регистрах. Современные варианты
архитектуры используют механизм передачи на основе пакетов. ATAPI является
расширением стандарта IDE, обеспечивающим возможность работы с пакетами.
Спецификация ATAPI добавляет к IDE единственную новую команду, расширяющую
функции контроллера, и две новых команды адресации.
EIDE в сравнении со стандартным ATA
Современные технологии устройств и контроллеров IDE обеспечивают им возможность
успешной конкуренции со стандартом SCSI. IDE обеспечивает хорошую совместимость
и простоту использования наряду с невысокой ценой. Кроме того, современные
варианты IDE обеспечивают не менее высокую скорость, чем SCSI (проигрывая только
Fast/Wide SCSI). Существенна также возможность подключения недисковых устройств
к современным контроллерам ATA/IDE.
В таблице 3 приведены сравнительные данные интерфейсов IDE и Enhanced IDE:
Таблица 3.Стандартный ATAEnhanced IDE
Поддерживает только два дискаПоддерживает четыре диска при двухканальном
контроллере и допускает дальнейшее расширение
Может использоваться только для подключения винчестеров.Обеспечивает
возможность подключения устройств ATAPI (CD-ROM и стриммеры)
Емкость диска не может превышать 528Мб в результате совместного
использования BIOS Int 13 и спецификации IDE.Адресация LBA (Linear Block
address) позволяет использовать диски размером до 8.4Гб
Скорость обмена не может превышать 2-3 Мб/сек.В режиме 3 PIO и режиме 1
DMA скорость обмена может достигать 13.3Мб/сек.

Сравнение Fast ATA и EIDE
Режимы быстрого обмена данными (PIO 1-4 и DMA 0-2) являются краеугольным камнем
технологий Fast ATA и EIDE.
Термин Fast ATA был введен компанией Seagate и поддерживается ею совместно с
фирмой Quantum; термин Enhanced IDE использует компания Western Digital.
EIDE поддерживает режимы ускоренного обмена наряду с:
режимом LBA;
возможностью использования четырех устройств ATA (второй
порт);
трансляцией, позволяющей использовать диски с числом цилиндров, превышающим
1024 (WD EBIOS);
поддержкой приводов CD-ROM и стриммеров через контроллер ATA (ATAPI).
Fast ATA и Fast ATA-2 также поддерживают быстрый обмен вместе с:
командами множественного чтения/записи;
режимом LBA.
Различие между этими двумя схемами заключается главным образом в возможностях
EIDE. Эта спецификация включает множество аспектов технологии дисков и
драйверов, которые еще не полностью реализованы "в железе". Многие устройства
могут называть "Enhanced", даже если они не поддерживают всех возможностей EIDE.
Это может привести к затруднениям при покупке.
Термин Fast ATA-2 также определен недостаточно четко. Эта спецификация
предполагает использование PIO mode 4 и DMA mode 2 (16MB/s), тогда как Fast ATA
использует только PIO mode 3 (11MB/s) и DMA mode 1 (13MB/s). Обе спецификации
полностью совместимы со стандартом ATA-2, и Fast ATA-2 следует понимать как
[Fast ATA]-2, а не Fast [ATA-2].
Сравнение дисковых интерфейсов
В таблице приведены сравнительные характеристики различных интерфейсов,
используемых для подключения дисковых устройств. Интерфейсы ST506/412 и ESDI в
современных компьютерах уже практически не используются; информация о них
приведена лишь для сравнения их возможностей со SCSI и IDE.
Таблица 4.
ПараметрST506/412 MFMST506/412 RLLESDISCSIIDE/ATA
Максимальная скорость
обмена5Мбит/сек7.5Мбит/сек10/24Мбит/сек24/40МБайт/сек10МБайт/сек
Максимальное количество устройств447562
Максимальное количество устройств в DOS222362
Подключение других устройств---+-
Число секторов на дорожке172632-36Не определеноНе определено
Загрузка процессораВсе операции ввода-вывода осуществляются с
использованием процессораЧастичное использование
Многозадачный ввод-вывод-++ - [Современные расширения IDE/ATA поддерживают
многозадачный ввод-вывод]
Автоматическая коррекция ошибок--+++
Низкоуровневое форматирование+++--