Интерфейс IDE

         

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-проводного плоского кабеля (см. Приложение 3), к которому можно присоединить два винчестера. Для корректной адресации устройств один из винчестеров должен быть установлен в режим Master (ведущий), другой - в режим Slave (ведомый). Режим работы диска задается с помощью перемычек, расположенных как правило около сигнального разъема винчестера.

Рисунок 2. Перемычки для установки режима Master/Slave



EIDE в сравнении со стандартным ATA


Современные технологии устройств и контроллеров IDE обеспечивают им возможность успешной конкуренции со стандартом SCSI. IDE обеспечивает хорошую совместимость и простоту использования наряду с невысокой ценой. Кроме того, современные варианты IDE обеспечивают не менее высокую скорость, чем SCSI (проигрывая только Fast/Wide SCSI). Существенна также возможность подключения недисковых устройств к современным контроллерам ATA/IDE.

В таблице 4 приведены сравнительные данные интерфейсов IDE и Enhanced IDE:

Таблица 4.



Стандартный ATAEnhanced IDE
Поддерживает только два дискаПоддерживает четыре диска при двухканальном контроллере и допускает дальнейшее расширение
Может использоваться только для подключения винчестеров.Обеспечивает возможность подключения устройств ATAPI (CD-ROM и стриммеры)
Емкость диска не может превышать 528Мб в результате совместного использования BIOS Int 13 и спецификации IDE.Адресация LBA (Linear Block address) позволяет использовать диски размером до 8.4Гб
Скорость обмена не может превышать 2-3 Мб/сек.В режиме 3 PIO и режиме 1 DMA скорость обмена может достигать 13.3Мб/сек.

[] [] []



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. Текст спецификации ATAPI можно найти на сервере

Спецификация 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, хост-адаптер, операционная система и, наконец, сами периферийные устройства.


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

головок в каждой).



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 головками.

Рисунок 5. Трансляция параметров диска.

Технология Fast ATA основана на признанных промышленных стандартах, что обеспечивает ей высокий уровень совместимости со старыми контроллерами и дисками. Протоколы обмена данными соответствуют официальному документу АТА-2 (Ref: 9048D).



Информация по драйверам


На сервере можно найти много информации по драйверам IDE-контроллеров.



Информационные ресурсы сети Internet


Hale Landis (landis@sugs.tware.com) рассылает статьи с обсуждением технических деталей различных тиров BIOS и их использования с большими дисками в конференции csip.hardware.storage. Эти статьи доступны через ftp и www. Вопросы работы с загрузочными секторами, MBR и таблицами разделов рассмотрены в документе .

На содержатся материалы SFF Committee по стандартам ATA, ATA-2, ATA-3 и ATAPI, спецификации Phoenix Enhanced BIOS и различные архивы (см. ). Списки рассылок доступны через ;

для получения информации, пошлите по указанному адресу сообщение, содержащее строки

help

end

Сервер содержит информацию о ATA, ATA-2, ATA-3, SCSI и многих других стандартах.



Использование дисков большой емкости


Ограничение размера винчестеров с интерфейсом IDE/ATA (528 Мб) является результатом совместного использования стандарта IDE и программного интерфейса Int 13 BIOS. Технология Enhanced IDE дает возможность внести в BIOS

изменения, позволяющие избавиться от этого ограничения.

Природа ограничения размера дисков связана с форматом (числом бит), используемым для задания номеров головок, цилиндров и секторов в интерфейсах Int 13 и IDE (CHS-адресация). Поскольку оба интерфейса используют различные форматы, их совместное применение не позволяет работать с дисками размером более 528 мегабайт. В таблице 3 приведены форматы чисел, используемых для нумерации в BIOS и IDE:

Таблица 3.

Число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).



Источники дополнительной информации


Здесь перечислены некоторые документы (Frequently Asked Questions - FAQ), имеющие хождение в сети Internet. Hale Landis () предлагает несколько превосходных (преимущественно технических) документов (рассылаются нерегулярно), в которых рассматриваются вопросы, связанные с дисковой системой компьютеров. Daniel Tauritz (), к сожалению, больше не поддерживает свой EIDE Mini-FAQ, который содержит короткий, но потенциально полезный список доступных интерфейсов; перечисленные файлы можно найти на серверах:

Не забывайте comp.sys.ibm.pc.hardware FAQ, который поддерживает Ralph Valentino. Его можно найти в конференции comp.answers и в разделе FAQ на сервере . Это документ включает в себя знаменитый 'Jumper FAQ' (см. ) с рекомендациями по установке перемычек для многих винчестеров.

32-битовому доступу к файлам Windows for Workgroups посвящен FAQ, который поддерживает Mike McCormick () - этот документ нерегулярно появляется в конференции comp.os.ms-windows.windows.setup. Найти файл можно также в comp.answers и на сервере rtfm.mit.edu.

BBS SimTel, лучше всего представленная на сервере

, содержит огромное число полезных материалов и программ (Public Domain, freeware и shareware). Ниже приведена небольшая выборка из каталога SimTel/msdos/diskutil:

ideinf10.zip (определяет свойства дисков - это не тест производительности).

3drvs260.zip (обеспечивает поддержку 3 устройств в DOS).

dqwik211.zip (драйвер блочного режима).

no_idle.zip (отключает режим "засыпания" для винчестеров).

1seagate.zip (спецификации для всех дисков Seagate).

wasted14.zip (показывает потери дискового пространства, связанные с размером кластеров).

presz111.zip (редактирует таблицу разделов).

Вы можете найти полезные программы, драйверы и т.п. на серверах:

Frank Pikelner () создал список дисков, размер которых превышает 500MB и 4-х скоростных CD-ROM. Вы можете получить его с сервера .



Магнитные головки


Головки чтения-записи относятся к числу важнейших элементов дискового накопителя. Принцип действия головок винчестера похож на принцип

работы головок обычного магнитофона, однако требования к ним предъявляются значительно более жесткие по сравнению с магнитофонными головками. Отличаются головки дисковых накопителей и своими малыми размерами.

Головка всегда находится на некотором расстоянии от поверхности диска (около 0.13мкм), обеспечиваемом за счет потока воздуха при быстром вращении диска (головка "летит"). Уменьшение зазора между головкой и поверхностью диска увеличивает сигнал при считывании и позволяет снизить ток записи, однако сильно снижает устойчивость устройства к вибрациям и ударам. Тем не менее, работы по уменьшению зазора между диском и головкой не прекращаются ведущими производителями винчестеров и по прогнозам в ближайшие пять лет зазор может быть уменьшен до 0.05мкм. Наличие зазора между головкой и поверхностью диска требует парковки головок (перемещения их за пределы рабочей поверхности) при выключении компьютера во избежание повреждения поверхности диска или головки при их механическом контакте. В старых устройствах для парковки головок нужно было использовать специальные программы (их запускали непосредственно перед

выключением компьютера), современные винчестеры при выключении питания перемещают головки за пределы рабочей зоны дисков автоматически.

При изготовлении головок используются три различных технологических варианта:

монолитные головки;

композитные головки;

тонкопленочные головки.

Монолитные головки изготавливаются из ферритов. Сложность обработки и хрупкость ферритов накладывают серьезные ограничения на их использование в современных системах с высокой плотностью записи информации на диск. В

новых разработках такие головки почти не используются.

Композитные головки имеют меньшие размеры по сравнению с монолитными и выполнены из феррита на подложке из стекла или твердой керамики. Такой подход

позволяет уменьшить зазор между головкой и поверхностью диска и, как следствие, повысить плотность записи на диск. Некоторые фирмы при производстве композитных головок используют вместо воздушного зазора в магнитном сердечнике головки зазор, заполненный металлом (это позволяет улучшить конфигурацию магнитного поля головки и дополнительно увеличить плотность записи).

Тонкопленочные головки создаются методом фотолитографии. Магнитный сердечник головки осаждается на керамическую поверхность, что позволяет создать головки с очень малым магнитным зазором. Такая технология дает самую высокую плотность записи и позволяет уменьшить ширину дорожек.



Немного истории


Устройство для хранения информации на основе вращающегося магнитного диска было разработано фирмой IBM в самом начале 70-х годов. Этот громоздкий 14-дюймовый диск позволял записать 30 дорожек по 30 секторов в каждой из них;

обозначение диска "30/30" напоминало название широко распространенной модели ружья фирмы "Winchester", в результате чего в английском языке для обозначения

дисковых устройств с несъемными дисками стали широко применять слово "winchester". (Мы также будем использовать здесь широко распространившуюся русскую транслитерацию этого слова - винчестер - очень уж режет слух термин

"жесткий диск".) В 1973 году фирма IBM создала первый накопитель с несколькими дисками емкостью 140 Мб, который продавался по цене $8600.

При разработке первой модели компьютера IBM PC в нем не был предусмотрен встроенный винчестер, однако уже в следующей модели он был установлен (20 Мб). В компьютере PC AT винчестер уже являлся основным средством повышения эффективности компьютера - пользователям не требовалось больше загружать операционную систему с дискет и искать каждый раз новую дискету при начале работы с какой-либо программой. Возможность хранения на встроенном диске больших объемов данных и программ значительно расширила диапазон использования персональных компьютеров.

В 1988 был создан Комитет по стандартизации методов доступа (Common Access Method Committee) для разработки программного интерфейса устройств SCSI. Одним из результатов деятельности этого комитета явилась разработка спецификации интерфейса ATA (AT Attachment - присоединение к шине АТ), известного также под именем IDE (Integrated Drive Electronics). Новый стандарт произвел настоящий бум в индустрии дисковых накопителей, когда производители PC получили возможность использования этих недорогих устройств. С конца 80-х годов интерфейс ATA (такое название более правильно, чем IDE) стал самым распространенным среди недорогих настольных систем.

В настоящее время разработан предварительный стандарт ATA-2 (AT Attachment


Interface with Extensions). Этот стандарт полностью совместим сверху вниз со

спецификацией АТ и является ее расширением. Полный текст стандарта содержится в документе:

ATA Extensions Document

WORKING DRAFT X3T10

Revision 3, January 17, 1995.

Вы можете найти этот документ на сервере World Wide Web:

или

в файле ata2-r3.doc.

Ведется также разработка спецификации ATA-3. Предварительная версия этого стандарта содержится в документе:

AT Attachment-3 Interface (ATA-3)

WORKING DRAFT X3T10

Revision 5, October 6, 1995.

Вы можете найти этот документ на указанных выше серверах (файл ata3r5v.doc).

Существует также стандарт ATAPI (ATA Packed Interface) для подключения приводов CD-ROM и стриммеров. Этот интерфейс значительно упростил задачу подключения приводов CD-ROM, введя единый стандарт вместо нескольких ранее существовавших интерфейсов (таких, как Mitsumi, Panasonic, Sony). С появлением ATAPI отпала необходимость установки в компьютер звуковой платы или специального контроллера для работы с компакт-дисками.

Кроме того, существует еще ряд интерфейсов для подключения винчестеров к компьютеру - они кратко рассмотрены ниже. К настоящему моменту фактически остались в употреблении только интерфейс ATA и SCSI, каждый из которых претерпел в своем развитии значительные изменения по сравнению с первоначальным вариантом. Их современные реализации обеспечивают высокую скорость обмена с винчестерами и другими устройствами хранения данных.

,


Ограниченность АТА


Первоначальная версия стандарта IDE обеспечивала возможность подключения к компьютеру четырех винчестеров и позволяла обмениваться данными с диском на скорости до 10Мбайт/сек, однако реальная скорость ограничивалась прежде всего возможностями самого винчестера. Подключение четырех устройств, предусмотренное спецификацией IDE, в компьютерах семейства IBM PC AT, в спецификации ATA/IDE реализовано не было. Кроме того, совместное использование стандарта ATA и программного интерфейса Int 13 BIOS ограничивало размер

дисковых устройств 528Мб. Природу этого ограничения, связанную с форматами чисел, используемых для адресации головок, секторов и цилиндров винчестера (CHS-адрес) в стандарте IDE и BIOS, можно понять из приведенной ниже таблицы и рисунка 3, иллюстрирующего взаимодействие операционной системы с диском IDE.

Таблица 2.

BIOSIDEРезультат
Максимальное число секторов на дорожке6325563
Максимальное число головок2551616
Максимальное число цилиндров1024655361024
Максимальный размер диска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 или стриммеров, но обеспечивает более высокий уровень совместимости за счет соответствия широко распространенным промышленным стандартам.



Подключение устройств ATAPI


Второй порт IDE не только позволяет увеличить число дисков, но и обеспечивает возможность подключения устройств, не являющихся винчестерами - например, приводов CD-ROM или стриммеров. Подключение медленных устройств типа CD-ROM ко второму порту обеспечивает возможность работы винчестера без задержек даже при отсутствии раздельного тактирования устройств (при отсутствии раздельного тактирования скорость обмена с подключенными к одному порту устройствами определяется более медленным из них).

Компания Western Digital разработала спецификацию ATAPI (ATA Packet Interface) для подключения к контроллеру IDE новых устройств хранения, подобных приводам CD-ROM и стриммерам. В традиционной компьютерной архитектуре использовался механизм переноса данных, основанный на регистрах. Современные варианты архитектуры используют механизм передачи на основе пакетов. ATAPI

является расширением стандарта IDE, обеспечивающим возможность работы с пакетами. Спецификация ATAPI добавляет к IDE единственную новую команду, расширяющую функции контроллера, и две новых команды адресации.



Повышение скорости обмена


Шина 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), реализованными с помощью драйверов.


Практические вопросы


На что следует обращать внимание, покупая платы ATA-2 (Fast ATA, EIDE)?

За последнее время появилось много дополнений в технологии хранения данных в PC, которые могут играть роль при покупке новых интерфейсных плат. Некоторые из новых возможностей, однако, могут уже быть реализованы в вашей системной плате или могут оказаться несущественными для вас.

Интерфейс ATA-2 должен обеспечивать PIO mode 3 для устройств, поддерживающих этот режим. Должна также обеспечиваться поддержка более медленных режимов PIO (0, 1 и 2) для обеспечения возможности работы со старыми винчестерами. Режимы "DMA", предлагаемые некоторыми адаптерами, зачастую могут очень мало. Другие расширенные возможности, подобные буферам выборки, встречаются весьма редко.

Поскольку приводы CD-ROM и стриммеры с интерфейсом ATAPI обретают все большую популярность среди недорогих устройств, второй порт ATA, позволяющий подключать два дополнительных устройства, играет важную роль. Отметим, что некоторые современные звуковые платы имеют порт ATA вместо традиционных интерфейсов CD-ROM; убедитесь, что этот порт можно отключить или покупайте в таком случае АТА-интерфейс с одним портом.

Вы можете купить адаптер с микросхемой BIOS, если BIOS вашей системной платы не поддерживает трансляцию или содержит ошибки. BIOS на плате адаптера будет заменять функции BIOS на системной плате в части работы с устройствами АТА. ПЗУ BIOS должно поддерживать спецификацию Phoenix Enhanced BIOS и иметь подходящую таблицу трансляции параметров дисков (Enhanced Disk Parameter Table

- EDPT), если это вам требуется. Очевидно, что нестандартные BIOS могут создавать проблемы для будущих приложений, использующих трансляцию и таблицы EDPT, даже если сейчас все работает прекрасно.

Контроллер с ROM BIOS работает подобно встроенному в системную плату контроллеру EIDE и зачастую не требует специального драйвера для использования в DOS. BIOS с интерфейсной платы будет занимать 16k в старших адресах памяти (UMB), но вам по-прежнему будут требоваться драйверы для всех других операционных систем, которые вы будете использовать.


Без хорошего драйвера большинство контроллеров ATA-2 будут работать как старые ISA-адаптеры. Даже если ваш контроллер имеет BIOS и обычно обеспечивает работу без драйвера в DOS, вам потребуются драйверы для других систем, включая Windows. Многие из имеющихся драйверов недостаточно стабильны в работе.

Отметим, что большинство существующих интерфейсов "EIDE" содержит ошибки в некоторых расширениях. Это может приводить к возникновению проблем из-за несовместимости с ATA-2. Кроме того, зачастую используется общий буфер

для первого и второго порта, что может приводить к искажению данных в некоторых ситуациях.

Как узнать является ли моя BIOS расширенной?

К несчастью на этот вопрос нет простого ответа. Способность поддерживать диски с числом цилиндров более 1,024 не может служить надежным подтверждением. В вашей версии программы установки параметров BIOS, параметры дисков, подобные "LBA", "ECHS" или просто "Large" являются косвенным подтверждением, однако, если дата создания BIOS раньше 1994, эти опции, скорей всего, не реализованы.

AMI BIOS с датой 4-25-94 или позже и Phoenix BIOS v4.03 или выше поддерживают трансляцию. Некоторые реализации Phoenix v4.03 могут, однако, не поддерживать трансляцию при работе с отдельными системными платами.

Компания Western Digital выпустила программу (доступную через ftp - ftp.wdc.com:/drivers/hdutil/chkbios.com) для проверки наличия расширенной таблицы параметров дисков (EDPT). Если эта программа находит расширенную таблицу в вашей системе, ваша версия BIOS является расширенной. Помните, что BIOS, поддерживающие спецификацию WD Enhanced BIOS, не будут поддерживать EDPT до тех пор, пока не разрешена поддержка LBA. Остерегайтесь также включать поддержку LBA при использовании WD EBIOS, если диск уже содержит данные - вы можете потерять их (это является следствием недоработок в спецификации).

Если вы достаточно безрассудны, вы можете просто задать число цилиндров больше 1024 и использовать, например, программу MSD для проверки возможности работы BIOS с вашим диском, но в результате такой проверки с данными на вашем диске может произойти все, что угодно.


Постарайтесь при таких экспериментах ничего не писать на диск.

Совместимы ли старые диски IDE с интерфейсами ATA-2 (EIDE, Fast ATA)?

Да, они должны работать корректно.

Для использования расширенных режимов устройство должно поддерживать перенос данных с высокими скоростями. Кроме того, контроллер

должен быть способен работать при высоких скоростях обмена. Старые винчестеры должны работать с интерфейсом ATA-2, поскольку такие платы могут запрашивать у диска максимальную скорость обмена данными. Существует специальная команда (Identify Drive), читающая данные из сектора, содержащего всю информацию об

устройстве (включая скорость обмена). Контроллер должен быть способен корректно идентифицировать скорость обмена, поддерживаемую винчестером, для обеспечения надежной работы. "Слепой" режим PIO Mode 3 (программируемый для быстрого обмена без запроса скорости диска) при работе со старыми дисками может приводить к потере данных и другим нарушениям. Однако, большинство контроллеров достаточно интеллектуальны и не создают таких проблем.

Если вы хотите подключить старый диск к одному кабелю с современным диском ATA-2, полезно будет убедиться в возможности независимого тактирования для ведущего (master) и ведомого (slave) дисков. При отсутствии такой возможности, ваш старый диск может затормаживать работу нового.

Можно ли использовать диски ATA-2 (EIDE, Fast ATA) со старыми контроллерами IDE?

Диски Fast ATA и EIDE можно безбоязненно использовать со старыми контроллерами ISA. Поскольку диски рассчитаны на работу со скоростными контроллерами, медленнее контроллер - проще диску.

Можно ли использовать большие винчестеры со старыми BIOS?

В принципе это возможно, однако возникает проблема барьера 504MB. Если размер

нового диска превосходит это значение, вы должны удостовериться, что в вашем компьютере имеется Enhanced BIOS для использования всего диска в DOS или Windows. Важно подчеркнуть, что для поддержки больших дисков не требуется специальных контроллеров, возможно программное решение задачи.



Помните, что некоторые старые версии BIOS некорректно работают с дисками, имеющими более 1024 цилиндров. Вместо отбрасывания значений, превышающих 1024, такие BIOS используют деление по модулю 1024. Для преодоления этой проблемы, задайте 1024 цилиндра в программе установки параметров диска (BIOS Setup).

Реальная проблема возникает, когда BIOS не позволяет задать параметры диска вручную. Произведенные в 1991 году компьютеры PS/2 моделей 35sx и 40sx

имеют такую особенность, как и все модели ValuePoint, за исключением серии 1994 года. При использовании больших дисков с такими компьютерами, следует убедиться, что винчестер позволяет спрятать цилиндры с номерами больше 1024 (Western Digital предоставляет такую программу для своих дисков 540MB, многие диски Maxtor позволяют добиться этого с помощью перемычек). Отметим, что некоторые операционные системы (такие, как Linux и OS/2) позволяют заменить хранящуюся в BIOS информацию о геометрии винчестера.

Где взять Enhanced BIOS для доступа к дискам емкостью более 504MB?

Возможные варианты: купить BIOS для системной платы или установить контроллер с встроенной BIOS. Возможно также чисто программное решение.

Для замены BIOS на системной плате купите новую версию используемой системы или заказную микросхему BIOS такой фирмы, как Microid Research (MR BIOS). В

некоторых случаях более эффективным решением будет замена системной платы целиком (~$100).

Другим вариантом может служить покупка контроллера со встроенной BIOS для замены дисковых функций системной BIOS. Большинство микросхем BIOS

на контроллерах ATA-2 позволяют работать с большими дисками.

Для решения проблемы программным путем придется переписать таблицу разделов диска и использовать программы, обеспечивающие возможность работы с большими дисками (прочтите внимательно следующий раздел!).

Нужно ли использовать специальные программы для доступа к дискам емкостью более 504MB?

Это наиболее приемлемое решение во многих случаях, но следует учесть некоторые предостережения.



Программы с самыми экзотическими именами обычно являются вариантами лицензированных у двух фирм программ (EZ-Drive фирмы MicroHouse или Disk

Manager компании OnTrack). Программа Disk Manager, при работе с загрузочным диском использует некоторые трюки для ранней загрузки требуемых модулей (до загрузки операционной системы). Это достигается модификацией главной загрузочной таблицы (Master Boot Record - MBR) и записью оверлейного модуля (Dynamic Drive Overlay - DDO) на первую дорожку диска. Аналогичным путем решается задача загрузки и в программе EZ-Drive.

Недостаток такого подхода состоит в том, что таблицы разделов, создаваемые этими программами полностью несовместимы (более того, нечитаемы) с другими программами. При использовании операционной системы, которая часто переписывает MBR, возникает целая масса неудобств, поскольку диск становится недоступным после изменения MBR. Вы должны будете восстанавливать MBR с дискеты, всякий раз после того, как операционная система перепишет таблицу разделов (это происходит, например, в OS/2 при каждом использовании режима Dual Boot).

Более серьезной проблемой являются конфликты с дисковыми драйверами. Наиболее типичным является конфликт с драйвером (E)IDE, без которого диск будет работать значительно медленнее. Вам потребуется драйвер, специально разработанной для используемой вами трансляционной схемы. Кроме того, многие операционные системы, отличные от DOS, будут неспособны работать с такими дисками. Дисковые утилиты (например, Norton Disk Doctor) будут сообщать об

ошибках при попытке прочтения таблицы разделов или могут разрушить оверлейный модуль DDO/XBIOS.

Фирма OnTrack (tech@ontrack.com, sales@ontrack.com) решила эти проблемы в новой версии программы Disk Manager (v7), позволяющей работать с различными операционными системами и использовать разные драйверы, включая ATA-2 (EIDE) и ATAPI CD-ROM. В последнее время IBM и Microsoft включают исправленные драйверы в OS/2 (Bonus Pack) NT (Service Pack 2).

Можно ли использовать большие диски с другими операционными системами, кроме DOS?



Зачастую при работе с большими дисками в DOS не возникает проблем, однако некоторые другие операционные системы не поддерживают трансляцию параметров винчестера. При работе с операционными системами NetWare, Unix, Win/NT и OS/2

единственное, что потребуется для использования больших дисков АТА -

это BIOS, обеспечивающая возможность работы с винчестерами, имеющими более 1024 цилиндров. Поскольку перечисленные ОС используют BIOS только в процессе загрузки, единственным следствием отсутствия Enhanced BIOS будет то, что администраторы загрузки (boot managers), таблицы разделов (boot partitions) и т.п. не смогут работать с цилиндрами, номера которых превышают 1024. После загрузки эти операционные системы используют для работы с винчестером свои собственные программы. Таким образом BIOS не влияет на работу с большими дисками. К несчастью, это означает также, что при наличии драйвера или EBIOS с трансляцией операционная система будет использовать свою трансляционную схему или могут возникать конфликты между используемой ОС и DOS/Windows. Если вы можете организовать таблицу разделов так, чтобы все загрузочные разделы и разделы DOS использовали цилиндры с номерами меньше 1024 (504MB), вы избавитесь от таких конфликтов.

Более старые ОС, такие как NetWare со старой версией IDE.DSK, совсем не поддерживают трансляции. Новые системы (OS/2 3.x, Linux 1.2, Win95) будут работать с трансляционными схемами за исключением Win95, не поддерживающей некоторые драйверы (EZDrive, Disk Manager v6.0 или более старые). В случае DM 6 для некоторых ОС существуют исправленные или модифицированные версии (см. выше).

Какой режим использовать: Normal, LBA или Large?

Опция 'Normal' заставляет BIOS работать подобно старым версиям без трансляции. Установите этот режим, если ваш диск не требует другого (т.е. имеет менее 1024 цилиндров) или вы хотите использовать операционную систему, отличную от DOS и не поддерживающую трансляцию параметров винчестера.

'Large' адает режим CHS-трансляции. Этот метод использует различную геометрию (число цилиндров/головок/секторов) при обращении к диску и BIOS.


Такой тип трансляции применим для всех дисков.

'LBA' отличается от 'Large' использованием так называемой LBA-адресации для доступа к винчестеру. Преимуществом этого способа является то, что он теоретически несколько быстрее. Недостаток заключается в том, что поддерживается работа не со всякими устройствами (в том числе и большими). Иногда доступ к диску может замедляться при использовании этой опции.

Предупреждение!

BIOS может изменить (транслировать) геометрию диска при смене опции Normal или Large на LBA. То же самое может произойти при переносе диска, отформатированного на старом, не поддерживающем LBA, компьютере на новый, использующий LBA. Все данные на диске при этом будут потеряны.

Совместимы ли 50MHz VLB-системы с интерфейсом ATA-2?

Они должны быть совместимы, но могут возникать проблемы. Замечено, что некоторые контроллеры используют для тактирования операций ввода/вывода таймер

системной шины. Это означает, что при работе с шиной 50MHz, цикл будет короче, чем при использовании шины 33MHz. Такая ситуация может привести к нежелательным результатам, если продолжительность цикла окажется меньше допустимой для вашего винчестера. Удостоверьтесь, что ваш контроллер

поддерживает различные частоты синхронизации.

Где взять контроллер PCI ATA-2, использующий только один слот?

При использовании контроллеров с шиной PCI могут возникать проблемы из-за того, что этим контроллерам требуется два (или более) предопределенных прерывания, которые не могут использоваться с вашим слотом PCI. Для решения этой проблемы используют специальные платы, вставляемые в разъем ISA или встроенные в системную плату контроллеры ввода/вывода.

Некоторые производители используют хост-адаптеры PCI (single-slot), основанные на использовании специальных расширений PCI. Такие устройства обычно непереносимы; зачастую нельзя даже переставить плату в другой разъем компьютера.

Проблема здесь не в слабости PCI, а в конфликте между используемой в этом стандарте технологией plug'n'play и требованием совместимости новых ATA-контроллеров со старыми.



Повысит ли контроллер EIDE производительность дисковых операций?

Может повысить, а может и нет; возможно сделать только грубый прогноз реального воздействия.

Производителям оборудования и специалистам по маркетингу, нравится видеть как все покупают новейшие разработки адаптеров "EIDE". Для достижения этой цели они склонны преувеличивать эффективность этих устройств. Соответствие между рекламой и реальностью зачастую весьма условно.

Главное, что вам следует запомнить: медленный диск останется медленным независимо от качества контроллера. Если скорость физического переноса данных с диска/на диск ограничивает его производительность, существует только один способ ускорить обмен - купить новый диск. Отметим, что режимы обмена, поддерживаемые современными устройствами (11MB/s или выше) оказывают слабое влияние на производительность дисковых операций при работе со старыми винчестерами.

Кроме того, обычный контроллер с локальной шиной VESA может уже обеспечивать требуемую скорость передачи - самые быстрые платы ATA VLB могут теоретически иметь скорость 8.3 MB/s, что превосходит возможности многих винчестеров ATA-2. Контроллеры ISA редко превосходят скорость 2.5MB/s.

Как найти узкое место в системе обмена данными с диском? Вы можете попробовать использовать два различных теста производительности. Первый тест должен проверять только скорость обмена между диском и памятью компьютера (например, Norton SI или QBench). Второй тест должен измерять скорость передачи данных между процессором и кэш-буфером винчестера без проверки диска в целом. Популярна среди программ такого типа программа Coretest, которая дает верные результаты при использовании буфера, не превышающего 64К. Результат этой программы является грубой оценкой производительности контроллера.

Зачастую второй тест будет давать более высокую производительность, чем первый (примерно вдвое). Это означает, что узким место в вашей системе является винчестер и замена контроллера не даст результатов. В этом случае единственным способом повышения производительности будет использование блочного режима (опция в BIOS или специальный драйвер), однако лучше будет купить более современный винчестер.



Если производительность винчестера близка к производительности контроллера, показываемой вторым тестом, замена контроллера может дать ощутимые результаты.

Почему винчестер работает медленнее, чем обещано в рекламе?

Хороший вопрос. Прежде всего потому, что в рекламе используются как правило "теоретические" значения скорости.

При теоретическом рассмотрении предполагается, что перенос данных между диском и кэш-буфером должен осуществляться со скоростью n байт в секунду. На самом же деле, диск не только передает данные в буфер, но и выполняет другие действия. Для передачи каждого сектора в хост-контроллер, этот сектор должен быть прочитан с диска. Это уменьшает реальную скорость передачи данных (увеличивает количество циклов, используемых для передачи данных). Кроме того, в контроллере осуществляется внутренняя обработка (модификация таблицы информации о положении головок). Все это вместе уменьшает скорость передачи данных из дискового буфера на шину и далее в память компьютера.

В зависимости от используемой тестовой программы скорость обмена может лежать в диапазоне от 1MB/s до 9MB/s и выше при работе с тем же самым диском. Кроме того, влияние оказывает тактовая частота компьютера, размер

оперативной памяти, наличие программного кэширования (в DOS) и др. Наконец, различные области одного и того же диска могут давать отличающиеся вдвое значения скорости обмена.

Причиной малой скорости обмена может также служить использование тестовой программы, не способной увидеть возможности скоростных дисков. Реальным тестом может служить увеличение производительности вашей повседневной работы с хранящимися на винчестере данными.

Почему новый контроллер EIDE ничуть не быстрее старого VLB?

Существует несколько причин, по которым интерфейс ATA-2 может не давать повышения производительности по сравнению с ATA VLB даже при корректной установке. Во-первых, скорость передачи самых быстрых плат ATA может достигать 8.3MB/s, что превышает реальные значения скорости обмена, доступные для многих современных винчестеров.


Замена контроллера не даст в таком случае никакого результата.

Другой причиной может послужить то, что ваш винчестер не поддерживает всех режимов обмена, предусматриваемых стандартом ATA-2. В этом случае контроллер ATA-2 может повысить производительность в сравнении со старым контроллером ISA, но не будет работать быстрее, чем ATA VLB.

Наконец, если контроллер ATA-2

не поддерживает раздельного тактирования для ведущего и ведомого дисков, подключенных одним кабелем, медленный диск будет ограничивать скорость быстрого.

Разрешать ли кэширование записи на диск?

Не делайте этого при использовании программы Smartdrive (или подобных ей): у таких программ алгоритм управления кэшем недостаточно хорош. Кэширование записи можно использовать с новейшими программами, типа Drive Rocket, hdparm в среде Linux и с некоторыми другими. Иногда режим кэширования записи устанавливается также перемычками на плате винчестера.

Проблемы при кэшировании записи возникают в тех случаях, когда программы могут инициировать перезагрузку компьютера. В этом случае вы можете потерять недавно измененные данные, хранящиеся в кэш-буфере и не записанные на диск. Используйте режим кэширования при записи с осторожностью и чаще делайте в этом случае резервные копии.

Можно ли без риска сменить режим трансляции BIOS (None, LBA, Large)?

К несчастью, нет. Делайте это с осторожностью.

Во многих BIOS секторы на диске адресуются независимо от режима трансляции, однако, в некоторых случаях, BIOS использует различные алгоритмы трансляции. BIOS такого типа будет перемешивать данные на вашем винчестере как колоду карт, если вы смените режим трансляции.

Более того, BIOS, соответствующие спецификации Enhanced BIOS компании Western Digital, могут использовать совсем различные варианты геометрии диска в программном интерфейсе (INT13) в зависимости от режима трансляции. В этом случае смена режима трансляции будет приводить к полной потере данных - это один из главных недостатков WD EBIOS.

Можно ли без риска переносить диск с одного компьютера на другой?



Перенос отформатированного диска с одного компьютера на другой таит в себе потенциальную опасность, если на компьютерах используются различные схемы трансляции (см. выше). К опасным ситуациям относится и перенос диска со старого компьютера, не поддерживающего трансляцию, на новый, использующий ее. Эта проблема изучена достаточно слабо. Обычно каждый решает ее самостоятельно и вы не будете первым, кто на этом пути столкнулся с сюрпризами. Не надейтесь, что у вас все пройдет гладко - вы можете лишиться записанной на диске информации.

Проблемы при использовании больших дисков с Award 4.50G BIOS.

Если дата BIOS 4.50G раньше, чем 13/12/1994, адрес таблицы трансляции в ней указан неправильно. Для доступа к дискам, имеющим больше 1024 цилиндров, вы не сможете использовать трансляцию (опция Large) и должны

использовать режим LBA. В BIOS, выпущенных после 13/12/1994 эта ошибка исправлена.

Замечание: переключение в режим LBA может привести к потере данных на диске.

Можно ли использовать 32-битовый режим с моим диском?

Возникает множество проблем при рассмотрении этого вопроса из-за нечеткой терминологии.

В общем случае никакие диски ATA(-2) не поддерживают режим 32-битового доступа. Обмен данными с диском осуществляется по 16-битовой шине. Однако многие интерфейсы, использующие локальную шину способны объединять два 16-битовых слова в 32-битовое двойное слово при чтении данных с диска и выполнять обратную операцию при записи. В этом случае обмен данными между CPU и контроллером может осуществляться с использованием 32-битового режима. Это часто называется 32-битовым доступом, хотя лучше называть 32-битовым обменом с хост-адаптером.

При 32-битовом обмене с шиной хост-адаптера достигается более эффективное использование системной шины и CPU. С другой стороны, здесь существует узкое место, посему не следует ждать чудесных результатов.

Используемый в Windows 32-битовый режим доступа к дискам и файлам является предметом отдельного разговора (см. ниже).

Не работает 32-битовый доступ в Windows!



Существует много возможных причин сбоев при использовании 32BDA; будет проще, если вы сможете идентифицировать конкретную причину своих проблем (или решить, что вы хотите исправить в первую очередь).

32-битовый доступ в Windows (32BDA) - это не совсем корректное употребление термина, поскольку реального переноса данных по 32-битовой шине не происходит. Лучше называть этот метод "FastDisk" (быстрый диск). FastDisk - это возможность Windows при работе в режиме 386Enhanced использовать для обмена с диском работающие в защищенном режиме модули Windows взамен функций BIOS. Поэтому наилучшим названием для этого режима было бы "protected mode controller access" (доступ к контроллеру в защищенном режиме).

Так или иначе, главное преимущество этого метода состоит в том, что Windows

может использовать виртуальную память в сеансах DOS. Без использования 32-битового доступа, в сессиях DOS невозможно организовать свопинг и каждая сессия должна получать 640k реальной (физической) памяти. Поскольку 32-битовый доступ значительно снижает число переключений между стандартным и защищенным режимом, его использование несколько повышает производительность дисковых операций.

Если режим 32BDA используется с 32-битовым доступом к файлам Windows for Workgroups, переключения между стандартным и защищенным режимом не требуется вообще (по крайней мере, для большинства дисковых операций), что ведет к несколько большему росту производительности.

К несчастью стандартные программы FastDisk, используемые Windows (их называют *wdctrl), имеют ограниченные возможности. Модули *wdctrl не умеют работать с оборудованием, не являющимся IDE (например, SCSI), не позволяют использовать более двух винчестеров или устройства с числом цилиндров, превышающим 1024, не понимают 32-битового обмена с хост-контроллером, блочного обмена и дисков ATAPI CD-ROM на основном канале ATA. Если вы используете что-либо из перечисленного, 32-битовый доступ не будет работать, пока вы не замените *wdctrl.


Сегодня это означает, что 32-битовый доступ не работает

в большинстве случаев.

Большинство контроллеров, несовместимых с *wdctrl, поставляются со своими программами FastDisk (обычно это файлы с расширением .386). Кроме того, многие производители оборудования часто меняют свои драйверы FastDisk. Для получения программ Western Digital вы можете использовать сервер ftp.wdc.com (файл

/drivers/win31.exe); другие фирмы предоставляют программы через свои BBS

или серверы Internet.

NB. Драйверы FastDisk не совместимы с режимом Stealth некоторых версий Quarterdeck QEMM. Исправленные версии драйверов можно найти на сервере ftp.wdc.com (файл /drivers/hdutil/32bda.com).

Не работает 32-битовый доступ в Windows for Workgroups!

Проблемы использования 32-битового доступа к диску с современным дисковым оборудованием породили распространенное заблуждение, что при использовании 32-битового доступа к файлам возникают аналогичные проблемы. Однако, это не совсем так. Если не работает 32-битовый доступ к файлам, вы должны сначала проверить свою файловую систему и использующие ее программы. Включите строку

DEVICE=C:\WINDOWS\IFSHLP.SYS

в файл CONFIG.SYS и удостоверьтесь, что в файле SYSTEM.INI присутствуют магические строки vfat.386, vcache.386.

[] [] []


Основные термины


ATA/IDE

Аббревиатуры ATA (AT Attachment) и IDE (Integrated Drive Electronics) означают одно и то же: спецификацию физических, электрических и транспортных протоколов вместе с системой команд для реализации блочных устройств хранения информации (дисковых накопителей - винчестеров) с установкой контроллера непосредственно на плате винчестеров. В этом случае уменьшается стоимость интерфейсных плат и упрощается разработка микропрограмм для управления винчестерами.

ATA-2

ATA-2 представляет собой совместимое расширение ATA (IDE). Наиболее важным дополнением являются режимы повышения производительности обмена с диском, такие как PIO mode 3 (Programming Input/Output - программируемый ввод-вывод) и DMA mode 1 (Direct Memory Access - прямой доступ к памяти). Другим важным новшеством является команда Identify Drive (идентификация устройства), позволяющая винчестеру самому рассказать программе о своих характеристиках;

это существенно для систем Plug'n'Play и совместимости с будущими версиями стандарта.

Спецификация ATA-2 использует новый способ адресации секторов на винчестере -

LBA (Logical block address - логическая адресация блоков), позволяющий преодолеть знаменитый барьер 504MB (528MB). Фактически, даже для старых дисков ATA (IDE) теоретический предел размера превышает 100GB.

ATAPI

ATA Packet Interface представляет собой предварительный стандарт разработанный для устройств типа стриммеров и приводов CD-ROM, подключаемых через порт ATA (IDE).

Важным преимуществом оборудования ATAPI является возможность работы со всеми адаптерами ATA. Для приводов CD-ROM этот интерфейс обеспечивает меньшую загрузку CPU по сравнению обычными интерфейсами CD, но не увеличивает производительности самого устройства. Для стриммеров ATAPI может увеличивать производительность по сравнению с популярным интерфейсом QIC117, используемым для подключения стриммеров к контроллеру дисководов.

Хотя приводы ATAPI CD-ROM используют контроллер винчестера, это не значит, что они выглядят как винчестер с точки зрения программ.
Напротив, эти устройства принципиально отличаются друг от друга. Это означает, что интеллектуальные (кэшированные) контроллеры, не поддерживающие ATAPI, не будут работать с приводами ATAPI CD-ROM. По той же причине в настоящий момент вы не можете загрузить операционную систему с ATAPI CD-ROM и для доступа к диску требуется драйвер (DOS или Windows). Можно ожидать, что загрузка с компакт-дисков будет возможна в новых операционных системах, поскольку первые образцы работающих с ATAPI BIOS, обеспечивающие загрузку с ATAPI CD-ROM уже анонсированы. Существует разработанная фирмами IBM и Phoenix Technologies предварительная версия документа

Bootable CD-ROM Format Specification

Version 1.0

January, 25 1995,

описывающего требования к загружаемым компакт-дискам. Вы можете найти этот документ на сервере ftp.ibm.net.

BIOS (Base Input/Output System)

Записанные в микросхему ПЗУ программы, обеспечивающие взаимодействие системной платы компьютера с операционной системой. Многие современные операционные системы (например, OS/2) заменяют программы из BIOS своим собственным кодом, т. е. работают напрямую с "железом". По этой причине такие ОС не всегда просто установить на компьютеры "красной" сборки.

CE Cylinder

Последний цилиндр диска при адресации P-CHS, изначально зарезервированный фирмой IBM для использования диагностическими программами. Большинство BIOS не обеспечивают возможности корректного доступа к этому цилиндру. В

системе адресации L-CHS CE Cylinder не используется

CHS (цилиндр-головка-сектор)

Этот термин используется для обозначения способа адресации дисковых устройств с помощью номеров цилиндра, головки и сектора на дорожке.

Существуют два варианта адресации CHS: логическая (L-CHS), используемая в интерфейсе прерывания Int 13 и физическая (P-CHS), используемая при обращении к устройству на аппаратном уровне.

Логическая адресация L-CHS, используемая в программном интерфейсе INT 13 позволяет адресовать до 256 головок, 1024 цилиндров и 63 секторов (размер диска может достигать 8.4 Гб).


Такая схема адресации использовалась при работе со старыми дисками ESDI или SCSI.

Физическая адресация P-CHS, используемая для доступа к устройству на аппаратном уровне, позволяет адресовать до 16 головок, 65535 цилиндров и 63 секторов, что дает возможность адресовать винчестеры емкостью до 136 Гб.

Совместное использование адресации P-CHS и INT 13H однако ограничивает размер дисков IDE/ATA 528 Мб (1024 цилиндра, 16 головок и 63 сектора).

Современные винчестеры ATA могут поддерживать адресацию LBA (см. ниже), позволяющую использовать диски размером до 136 Гб.

CPU

Центральный процессор компьютера.

DMA

Прямой доступ к памяти - перенос данных между устройством и памятью компьютера без участия CPU.

EDPT - Enhanced fixed Disk Parameter Table

Расширенная таблица параметров винчестеров, содержащая дополнительную информацию для устройств с номерами 80H (первый винчестер) и 81H (второй винчестер). EDPT для устройства 80H указывается вектором Int 41H, для устройства 81H - вектором Int 46H. EDPT представляет собой таблицу параметров винчестеров с сигнатурой AxH в начале. При обращении к этой таблице возвращается два набора значений CHS. Первый набор содержит логические параметры (L-CHS), которые могут совпадать со значениями, возвращаемыми функцией Int 13H AH=08H. Другой набор содержит физические параметры диска (P-CHS), используемые при доступе к нему на аппаратном уровне. Таблица EDPT позволяет использовать номера цилиндров, превышающие 1024, что дает возможность работы с устройствами емкостью более 528 Мб. После трансляции CHS

будет иметь значения номеров цилиндров не более 1024, а число головок может оказаться больше 16. При обращении к диску на аппаратном уровне будут использоваться реальные номера цилиндров, а номера головок не будут превосходить 16.

EIDE

Спецификация Enhanced IDE (EIDE), разработанная компанией Western

Digital, состоит из программной части - спецификации Enhanced BIOS, позволяющей преодолеть ограничение размера 504Мб для дисковых устройств - и аппаратной части, берущей начало от стандартов ATA-2 (винчестеры) и ATAPI (стриммеры, приводы CD-ROM).



Enhanced BIOS

Enhanced BIOS представляет собой реализацию базовой системы ввода-вывода (BIOS), обеспечивающую возможность работы с дисками емкостью более 504MB в среде DOS/Windows. Природа ограничения размера винчестеров связана с геометрией дисков (количеством цилиндров, головок, секторов) поддерживаемой комбинацией устройства IDE и программного интерфейса BIOS. Как IDE, так и BIOS

способны поддерживать работу с большими дисками, но ограничения, возникающие при их совместном использовании, не позволяют работать с устройствами, емкость которых превышает 504MB.

Enhanced BIOS позволяет обойти это ограничение за счет использования различной геометрии при обращении к устройствам и программам (трансляцию). Например, при работе с диском, имеющим 1500 цилиндров и 16 головок, BIOS с трансляцией будет заставлять программу думать, что диск имеет 750 цилиндров и 32 головки.

К несчастью существуют несколько вариантов трансляции. Стандартом de-facto является документ 'INT 13 Extensions' компаний Microsoft и IBM; фирма Phoenix

разработала расширение этого стандарта в своей спецификации Enhanced BIOS. BIOS фирм Phoenix, AMI и Award работают на основе этой спецификации. Другой популярный вариант, являющийся конкурентом стандартов MS/IBM и Phoenix, - это Enhanced IDE Implementation Guide компании Western Digital. Однако спецификация EBIOS фирмы Phoenix получила более широкую поддержку в промышленности и имеет лучшие перспективы развития - кроме трансляции Enhanced

BIOS позволяет использовать более четырех устройств ATA и поддерживает новые структуры данных и вызовы интерфейса INT13.

ESDI (Enhanced Small Device Interface)

Разработанный на основе стандарта ST506/412 интерфейс для подключения к компьютеру винчестеров, дисководов и стриммеров, обеспечивающий возможность использования дисков большой емкости и достаточно высокую скорость обмена. В

настоящее время интерфейс ESDI фактически не используется.

Fast ATA

Fast ATA - аналогичная EIDE программа фирмы Seagate, поддержанная компанией Quantum, для дисковых устройств.



FDPT - Fixed Disk Parameter Table

Таблица параметров винчестеров, возвращающая информацию для устройств с номерами 80H и 81H. На параметры устройства 80H указывает вектор Int 41H, устройства 81H - вектор Int 46H. Таблица FDPT не имеет сигнатуры AxH

(см. EDPT). При обращении к таблице возвращается один набор значений CHS. Логический адрес L-CHS, содержащийся в таблице может совпадать с физическим адресом и значениями L-CHS, возвращаемыми функцией Int 13H AH=08H.

IDE (Integrated Drive Electronics)

Тип интерфейса для подключения винчестеров, при котором большая часть функций контроллера установлена непосредственно на плате дискового устройства. Интерфейс IDE допускает использование кэширования дисковых операций, во многих случаях повышающее производительность обмена с винчестером.

Interleave factor

Фактор чередования - количество секторов дорожки которое проходит под

головкой в промежутке между окончанием чтения/записи одного сектора и началом чтения/записи следующего. Для обозначения фактора чередования используют записи 1:1, 2:1, 3:1 и т.д. Первое число в обозначении коэффициента чередования указывает количество оборотов диска, требуемых для полного прочтения или записи одной дорожки.

ISA (Industry Standart Architecture)

Одно из названий системной шины компьютеров семейства IBM. Первый 8-битовый вариант этой шины был использован в компьютере IBM PC/XT, а в модели PC/AT уже использовалось 16-битовое расширение. Этот вариант получил

очень широкое распространение и повсеместно используется до настоящего времени. В современных компьютерах системная шина ISA

зачастую используется совместно с локальной шиной VESA или PCI.

LBA (Linear block address)

Способ адресации устройств, использующий сквозную нумерацию секторов, начиная с 0.

Master

Ведущее устройство в паре, подключенной к контроллеру одним кабелем. В

новых спецификациях вместо этого термина используется "Устройство 0". Режим Master/Slave выбирается с помощью перемычек на плате винчестера.


Если в компьютере используется единственный диск ATA, он, как правило, работает в режиме Master (в отдельных случаях для единственного диска используется специальная комбинация перемычек).

MBR (Master Boot Record)

Главная загрузочная запись винчестера, содержащая информацию о разбиении диска на разделы (partition).

MFM (Modified Frequency Modulation)

Модифицированная частотная модуляция. Использование MFM позволяет увеличить плотность записи информации на магнитные носители за счет пропуска части сигналов синхронизации и зависимости способа записи каждого бита от значения предыдущего записанного бита. Такая модуляция является стандартом при записи информации на дискеты и достаточно широко применяется при записи на винчестеры.

PCI (Peripheral Component Interconnect)

Разработанная корпорацией Intel спецификация локальной шины персональных компьютеров, позволяющая подключать к системной плате до 10 специальных плат расширения (контроллеров периферийных устройств). Для организации локальной шины на системной плате устанавливается специальная микросхема-контроллер

PCI, обеспечивающая обмен данными в 32- или 64-битовом режиме.

PIO (Programmed input/output)

Термин PIO (программируемый ввод-вывод) используется для обозначения доступа к регистрам устройства и описания способов передачи данных. Перенос данных между винчестером и хост-адаптером при программируемом вводе-выводе осуществляется с использованием регистров PIO для доступа к регистру данных устройства.

SCSI (Small Computer System Interface)

Стандарт для высокоскоростного параллельного интерфейса, используемого для подключения к компьютерам широкого класса периферийных устройств (винчестеров, стриммеров, приводов CD-ROM, принтеров, сканеров и т.п.).

Seek time

Время позиционирования (установки на нужную дорожку) головок.

Slave

Ведомое устройство в паре, подключенной к дисковому контроллеру одним кабелем. В новых спецификациях ведомый диск обозначается обычно как "Устройство 1. Режим Master/Slave устанавливается с помощью перемычек на плате винчестера (как правило, они расположены около сигнального разъема).



VESA (Video Electronics Standart Association)

Ассоциация, разработавшая спецификацию локальной шины VLB для подключения видеоадаптеров. Использование локальной шины позволяет выполнять ряд операций без обращения к центральному процессору, обеспечивая, тем самым, ускорение вывода изображений на экран. Впоследствии локальная шина VLB стала использоваться и для контроллеров других типов (например, дисковых и сетевых адаптеров).

VLB (VESA Local Bus)

Локальная шина, соответствующая спецификации VESA. Эта спецификация предусматривает установку на плате до трех специальных разъемов для подключения плат, позволяющих выполнять ряд операций без использования центрального процессора. Разъем VESA является просто расширением стандартного разъема для шины ISA, что позволяет вставлять в него платы ISA (естественно, что при этом такая плата работает в своем обычном режиме).

Блок данных

Этот термин используется для обозначения фрагмента данных, передаваемого с помощью одного из режимов PIO. Блок данных передается между контроллером и устройством как единое целое. В большинстве случаев (за исключением команд READ MULTIPLE, WRITE MULTIPLE, READ LONG и WRITE LONG) блок данных представляет собой один сектор (512 байт). При использовании команд READ MULTIPLE и WRITE MULTIPLE блок данных представляет собой несколько секторов (количество задается командой SET MULTIPLE MODE), команды READ LONG и WRITE LONG используют в качестве блока один сектор плюс несколько байт (их количество задается производителем диска и обычно составляет 4 байта).

Второй порт (secondary port)

С первых моделей IBM PC существовала возможность использования второго интерфейса для подключения дисковых устройств; к несчастью, эта возможность не полностью поддерживается программно до настоящего времени. Трудно сказать что-либо специальное о втором канале; он использует другое прерывание и адреса ввода/вывода во избежание конфликтов с основным (первым) портом. Дополнительный интерфейс позволяет подключить два дополнительных устройства ATA (диски, ATAPI CD-ROM или ATAPI-стриммер), доведя общее количество устройств ATA в компьютере до четырех.

[] [] []


Литература


"AT Attachment Interface for Disk Drives", ANSI X3.221-1994, Approved May 12, 1994.

AT Attachment Interface with Extensions (ATA-2), ANSI ASC X3T10 working draft, revision 3, proposed American National Standard 948D.

AT Attachment-3 Interface (ATA-3), ANSI ASC X3T10 working draft, revision 1.

"ATA packet Interface for CD-ROMs", SFF-8020, Revision 1.2, June 13 1994.

Western Digital Enhanced IDE Implementation Guide, by Western Digital Corporation, revision 5.0.

Fast ATA Sourcebook, Quantum Corporation, November 1994.

Enhanced Disk Drive Specification, by Phoenix Technologies Ltd., version 1.1, January 95.

Fast ATA-2 and Fast ATA Sourcebook, Seagate Technology, 1994



Привод головок


Устройство привода магнитных головок (head positioner) является одной из важнейших частей винчестера. От типа используемого привода непосредственно зависит скорость работы устройства в целом - привод обеспечивает важнейший параметр винчестера: время позиционирования головок (seek time). Для перемещения головок обычно используются шаговые двигатели, обеспечивающие высокую точность позиционирования. Существуют два различных варианта приводов:

линейные и поворотные. При поворотном приводе головки перемещаются по дуге окружности как в обычном электропроигрывателе, линейный привод

обеспечивает перемещение головок по радиусу диска (подобно модным некоторое время назад проигрывателям с тангенциальным тонармом). Преимущество линейного привода заключается в том, что зазор магнитной головки всегда перпендикулярен дорожке и расстояние между дорожками сохраняется постоянным, поворотные приводы обеспечивают меньшую инерционность и, как следствие, более быстрое позиционирование головок. Кроме того, поворотные приводы более устойчивы к ударам и вибрации, поскольку допускают точную балансировку.

Для быстрого позиционирования головок в современных дисковых устройствах используются различные варианты сервоприводов с записью служебной информации на выделенные и/или рабочие поверхности дисков. В зависимости от способа хранения информации о позиционировании различают выделенные, встроенные и гибридные сервосистемы.

В выделенных системах для записи служебной информации используется специальная поверхность диска (и, следовательно, головка). Информация записывается на выделенный диск в процессе производства устройства. Такой подход

увеличивает стоимость винчестеров, однако обеспечивает им высокое быстродействие и надежность.

Во встроенных системах информация о позиционировании записывается между блоками данных на рабочие поверхности диска. Такие системы дешевле, менее критичны к механическим воздействиям и колебаниям температуры, однако они уступают по быстродействию дискам с выделенной сервосистемой.

В гибридных системах данные о позиционировании записываются на часть поверхности каждого диска, позволяя использовать преимущества как выделенной, так и встроенной сервосистем.



Производители оборудования


Многие производители дисков имеют серверы FTP и www (World Wide Web).

IBM

(PC Company)

Iomega

Maxtor

(not yet public

as of 4/1/1995)
Все файлы с Maxtor BBS дублируются на FTP, включая biosbnch.zip (тест скорости), greendrv.zip (установка времени "засыпания").

Promise

(неофициальный)

Quantum

Официального FTP фирма не имеет, но драйверы для работы с большими дисками можно найти на сервере . На этом же сервере хранится множество программ для работы с дисками и другой полезной информации.

Seagate


Здесь хранятся спецификации всех дисков Seagate, включая детальные диаграммы и иллюстрации.

Western Digital


Многие драйверы и утилиты, хранящиеся на серверах компании Western Digital не будут работать, если в вашем компьютере не используются диски WD Caviar. Вы можете найти на серверах компании драйвер Windows FastDisk в файле /drivers/hdutil/win31.exe;

справочный файл Windows с объяснением Enhanced IDE (/docs/eide.exe);

программу для проверки наличия Enhanced DPT в вашей BIOS: /drivers/hdutil/chkbios.com.

Вы можете также попытаться найти спецификации используемого оборудования на серверах



Разъем винчестера ESDI IDC-34 Male, IDC-20 Male


ESDI IDC-34

1GND2Head Sel 3Выбор головки 3
3GND4Head Sel 2Выбор головки 2
5GND6Write GateШлюз записи
7GND8Config/Stat DataДанные конф/сост.
9GND10Transfer AckЗапрос обмена
11GND12AttnВнимание
13GND14Head Sel 0Выбор головки 0
15GND16Sect/Add MK Found
17GND18Head Sel 1Выбор головки 1
19GND20IndexИндекс
21GND22ReadyГотовность
23GND24Trans Req 
25GND26Drive Sel 1Выбор диска 1
27GND28Drive Sel 2Выбор диска 2
29GND30Drive Sel 3Выбор диска 3
31GND32Read GateШлюз чтения
33GND34Command Data 

ESDI IDC-20

1Drive Selected2Sect/Add MK Found
3Seek Complete4Addr Mark Enable
5(reserved)6GND
7Write Clk+8Write Clk-
9Cartridge Chng10Read Ref Clk+
11Read Ref Clk-12GND
13NRZ Write Data+14NRZ Write Data-
15GND16GND
17NRZ Read Data+18NRZ Read Data-
19GND20GND



Разъем винчестера IDE IDC-40 Male


1-Reset21(зарезервирован)
2GND22GND
3Данные 723-IOW
4Данные 824GND
5Данные 625-IOR
6Данные 926GND
7Данные 527IO Chrdy
8Данные 1028Ale
9Данные 429(зарезервирован)
10Данные 1130GND
11Данные 331IRQ14
12Данные 1232-IOCS16
13Данные 233Адрес 1
14Данные 1334(зарезервирован)
15Данные 135Адрес 0
16Данные 1436Адрес 2
17Данные 037-CS0 (1F0-1F7)
18Данные 1538-CS1 (3f6-3f7)
19GND39-Active
20Ключ40GND

[] []



Разъем винчестера RLL/MFM IDC-34 Male, IDC-20 Male


RLL/MFM IDC-34

1GND2Head Sel 8Выбор головки 8
3GND4Head Sel 4Выбор головки 4
5GND6Write GateШлюз записи
7GND8Seek CompleteСканиров. заверш.
9GND10Track 0Дорожка 0
11GND12Write FaultОтказ при записи
13GND14Head Sel 1Выбор головки 1
15GND16(reserved)зарезервировано
17GND18Head Sel 2Выбор головки 2
19GND20IndexИндекс
21GND22ReadyГотовность
23GND24StepШаг
25GND26Drive Sel 1Выбор диска 1
27GND28Drive Sel 2Выбор диска 2
29GND30Drive Sel 3Выбор диска 3
31GND32Drive Sel 4Выбор диска 4
33GND34Direction InНаправление

RLL/MFM IDC-20

1Диск выбран11GND
2GND12GND
3(зарезервирован)13Запись данных +
4GND14Запись данных -
5(зарезервирован)15GND
6GND16GND
7(зарезервирован)17Чтение данных +
8GND18NRZ Чтение данных -
9(зарезервирован)19GND
10(зарезервирован)20GND



Разъемы SCSI


Single Ended IDC-50 Male

1GND11GND21GND31GND41GND
2-DB012-DB522GND32-ATN42-MSG
3GND13GND23GND33GND43GND
4-DB114-DB624GND34GND44-SEL
5GND15GND25Открыт35GND45GND
6-DB216-DB726TERMPWR36-BSY46-C/D
7GND17GND27GND37GND47GND
8-DB318-DBP28GND38-BSY48-REQ
9GND19GND29GND39GND49GND
10-DB420GND30GND40-RST50-I/O

Differential IDC-50 Male

1Открыт11+DB421DIFFSENS31GND41+SEL
2GND12-DB422GND32GND42-SEL
3+DB013+DB523GND33+BSY43+C/D
4-DB014-DB524GND34-BSY44-C/D
5+DB115+DB625TERMPWR35+ACK45+REQ
6-DB116-DB626TERMPWR36-ACK46-REQ
7+DB217+DB727GND37+RST47+I/O
8-DB218-DB728GND38-RST48-I/O
9+DB319+DBP29+ATN39+MSG49GND
10-DB320-DBP30-ATN40-MSG50GND

Macintosh SCSI (Single Ended)DB-25S Female

1-REQ11-DB521DB1
2-MSG12-DB622DB2
3-I/O13-DB0723DB4
4-RST14GND24GND
5-ACK15-C/D25NC(TERMPW)
6-BSY16GND  
7GND17-ATN  
8-DB018GND  
9GND19-SEL  
10-DB320DBP  



Размеры винчестеров


Современные дисковые устройства выпускаются четырех типоразмеров по ширине (диаметру дисков) и трех - по высоте. Диаметр дисков в большинстве случаев равен 1.8, 2.5, 3.5 или 5.25 дюйма, высота - 3.25 (устройство полной высоты), 1.63 (устройство половинной высоты) или менее 1 дюйма (низкопрофильное устройство).

Если в вашем компьютере гнездо для установки дисков шире винчестера, вам придется использовать для его установки специальные салазки. В наиболее популярных сегодня корпусах Tower (башня) предусмотрена установка дисков с форм-фактором 3.5 или 5.25, в других случаях потребуется использовать салазки.

[] []



Разработчики программ и BIOS


AMI

IBM

(PC Company)

Microsoft


На FTP-сервере фирмы Microsoft можно найти файлы с изменениями для Windows и DOS, различные статьи и т.д.

К несчастью, структура этого сервера неудобна для работы (что, по мнению многих, является характерной чертой продукции Microsoft).

Novell

(Netware info)

OnTrack

e-mail: (техническая поддержка)

(продажа).

Phoenix

SCO

[] [] []



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


Предложенный в конце 80-х годов интерфейс ATA (AT Attachment), известный также под названием IDE (Integrated Drive Electronics) очень быстро завоевал

широкую популярность среди производителей и пользователей персональных компьютеров. Основными причинами быстрого и широкого распространения нового интерфейса послужили невысокая цена устройств, простота их установки и эксплуатации, а также высокий уровень совместимости устройств IDE. Спецификация АТА уступает по скорости обмена с дисками и ряду других параметров интерфейсу SCSI, однако для большинства пользователей производительность играет меньшую роль, по сравнению с совместимостью, простотой и стоимостью устройств.



Сравнение дисковых интерфейсов


В таблице приведены сравнительные характеристики различных интерфейсов, используемых для подключения дисковых устройств. Интерфейсы ST506/412 и ESDI в современных компьютерах уже практически не используются; информация о них приведена лишь для сравнения их возможностей со SCSI и IDE.

Таблица 1.

ПараметрST506/412 MFMST506/412 RLLESDISCSIIDE/ATA
Максимальная скорость обмена5Мбит/сек7.5Мбит/сек10/24Мбит/сек24/40МБайт/сек10МБайт/сек
Максимальное количество устройств447562
Максимальное количество устройств в DOS222362
Подключение других устройств---+-
Число секторов на дорожке172632-36Не определеноНе определено
Загрузка процессораВсе операции ввода-вывода осуществляются с использованием процессораЧастичное использование
Многозадачный ввод-вывод-++ - [Современные расширения IDE/ATA поддерживают многозадачный ввод-вывод]
Автоматическая коррекция ошибок--+++
Низкоуровневое форматирование+++--

[] [] []



Сравнение 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].

[] [] []



в качестве устройств долговременного хранения


Широкое применение винчестеров в качестве устройств долговременного хранения информации началось после выпуска фирмой 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 можно встретить только в очень старых компьютерах.


Технические детали


Как работает ATA(-2)?

Для понимания базовых концепций работы современных дисков ATA

требуется сначала разобраться с основами технологии работы дисков. Когда операционная система читает данные с диска или записывает их, BIOS выдает команды и передает их винчестеру. Для операционных систем, отличающихся от DOS, ОС обычно заменяет функции BIOS своими встроенными функциями, но принцип

работы от этого не меняется.

Способы передачи команд, их интерпретации, отклика на них и т. п. формируют основу Advanced ATA. Существуют 7 регистров (Task File), которые BIOS использует для чтения/записи при создании команд. Восьмой регистр используется для чтения и записи данных. Сигналами чтения/записи управляет BIOS, но их тактирование определяется контроллером и спецификациями ATA, задающими скорость отклика на те или иные сигналы. Существует 4 режима программируемого ввода/вывода (Programmed Input/Output - PIO) и 3 режима прямого доступа к памяти (Direct Memory Access - DMA). Скорость передачи (transfer rate) определяется быстротой работы регистров и частотой тактирования операций чтения/записи.

Что такое режимы PIO?

Режим программируемого ввода-вывода (PIO) определяет скорость обмена данными с винчестером. В самом медленном режиме (PIO mode 0) продолжительность цикла данных не превышает 600 нс. В каждом цикле осуществляется перенос 16 бит. Один сектор, содержит 256 слов (16 бит = 1

слово); 2048 секторов составляют 1 мегабайт. Простой расчет

1 цикл 1 сектор 1 Мегабайт 2000

* ---- * ------ * -------- = 3.3Mбайт/сек

600нс 256 слов 2048 сект. 600нс

показывает скорость обмена данными. Таким образом, максимальная скорость обмена в режиме 0 может составлять 3.3 мегабайта в секунду.

В таблице 5 приведен список параметров для остальных режимов:

Таблица 5.

Режим PIOТактированиеСкорость обменаПримечания
0600нс3.3МБайт/секстарый режим
1383нс5.2МБайт/секстарый режим
2240нс8.3МБайт/сек 
3180нс IORDY11.1МБайт/сек 
4120нс IORDY16.6МБайт/сек 
<
Режимы ATA-2 (3 и 4) используют аппаратное управление потоком данных (IORDY). Это означает, что диск может использовать линию IORDY для замедления контроллера при необходимости. Контроллеры, не поддерживающие IORDY, могут приводить к потере данных при использовании быстрых режимов PIO; в этом случае следует использовать менее скоростные режимы. При получении команды Identify Drive диск возвращает, наряду с другими параметрами, информацию о поддерживаемых режимах PIO и DMA [Эти параметры можно определить с помощью программы WDTBLCHK.EXE, которую вы можете найти на приложенной к книге дискете.] .

Что такое режимы DMA?

DMA (прямой доступ к памяти - Direct Memory Access) означает,что данные передаются непосредственно между диском и памятью без использования процессора, в отличие от PIO. В многозадачных системах, подобных OS/2

или Linux, режим DMA оставляет процессор свободным в процессе обмена с диском и позволяет использовать его для решения других задач. При работе в DOS/Windows процессор вынужден ждать окончания обмена с диском, поэтому использование режимов DMA в этом случае не столь эффективно.

Существует два различных типа прямого доступа к памяти: DMA и busmastering DMA. Стандартный DMA использует установленный на системной плате контроллер DMA для выполнения арбитража запросов задач, захвата шины и передачи данных. В

случае busmastering DMA, перечисленные операции выполняются контроллером. Безусловно, это увеличивает стоимость контроллера.

К несчастью, в системах ISA используются старые и медленные контроллеры DMA, неэффективные при работе с современными дисками. Платы VLB не могут использовать режим DMA и должны быть busmastering DMA.

Использование обычного режима DMA возможно только с контроллерами EISA и PCI: для EISA тип 'B' будет обеспечивать скорость обмена 4MB/s, для PCI тип 'F' от 6 до 8MB/s. Сегодня качественная программная поддержка DMA достаточно редка, как и контроллеры, поддерживающие DMA.

Возможные режимы DMA перечислены в таблице 6.



Таблица 6.

РежимТактированиеСкорость обменаПримечания
Single word
0960нс2.1МБайт/секАТА
1480нс4.2МБайт/сек 
2240нс8.3МБайт/сек 
Multiword
0480нс4.2МБайт/секАТА
1150нс13.3МБайт/сек 
2120нс16.6МБайт/сек 
Отметим, что некоторые контроллеры способны использовать эти режимы DMA

как способ обмена с диском без реального прямого доступа к памяти. В

таких случаях режимы DMA используются просто как дополнение к режимам PIO.

Адреса регистров Task File и ввода/вывода

Регистры Task File и регистр данных первичного канала ATA используют следующие адреса портов ввода/вывода:

Таблица 7.

РегистрФункция чтенияФункция записи
1F0Чтение данных (16 бит)Запись данных (16 бит)
1F1Не определеноSet Features Data
1F2Состояние счетчика секторовСчетчик секторов записи для установки команд
1F3Положение стартового сектораПоложение стартового сектора для установки команд
1F4Положение Cyl-lowПоложение Cyl-low для установки команд
1F5Положение Cyl-highПоложение Cyl-high для установки команд
1F6Выбор устройства/головкиВыбор устройства/головки для установки команд
1F7Состояние устройстваКоманда устройству
Второй канал ATA использует порты 170-177. Нет никаких причин, запрещающих расширение пространства адресов портов ввода/вывода; стандартом de-facto для третьего и четвертого портов стали адреса 1E8 и 168. Потенциальная поддержка портов с другими адресами известна только в спецификации BIOS фирмы Phoenix.

Что делает контроллер ATA-2?

Платы ATA-2 должны поддерживать по крайней мере режимы 0 и 3 PIO, обычно они поддерживают и другие режимы, а также обеспечивают корректное тактирование для каждого из этих режимов. Поскольку спецификации тактирования достаточно сложны, необходима высокая гибкость для корректной реализации стандарта ATA-2.

На рисунке 6 приведены диаграммы сигналов для 8- и 16-битового обмена данными.

|------------ t0 ------------------------|

__________________________________________ |



Address Valid *1 _____/ \________

|-t1-|----------- t2 -----------|-t9-| |

| |____________________________|---t2i-----|_

DIOR-/DIOW- ____________/ \_____________/

| | | |

| | ________|__ -| |-t8

Write Data *2 --------------------------------___________------------

| | |--t3--| | |

| | -|t4|- |

| | _______|___ ____ |

Read Data *2 ---------------------------------___________X____------

-|t7|- | | -|t6 |- | |

| | -| tA |- |-t5--|-t6Z--|

| |___________________________________________|

IOCS16- ________/ | | \____

| -|tRd|- |

_________________|___________________|___________________

IORDY XXXXXXXXXXXXXXXXX____________________/

|-------tB--------|

* 1 Адреса устройств содержат сигналы CS0-, CS1- and DA2-0

*2 данные содержат сигналы DD0-15 (16-бит) или DD0-7 (8-бит)

Рисунок 6

На рисунке t0 означает продолжительность цикла чтения/записи, наиболее значимый параметр для определения скорости PIO. Как вы можете видеть число различных режимов PIO и DMA несколько больше, чем значений t0. Создание недорогого интерфейса, полностью соответствующего спецификации ATA-2, является достаточно сложной задачей. Наиболее часто используемым решением является полное программирование процесса тактирования; к несчастью, способ программирования контроллеров ATA не стандартизирован и они несовместимы с этой точки зрения. Вследствие этого, для каждого контроллера приходится использовать специфические для каждой операционной системы драйверы, чтобы обеспечить высокую производительность дисковых операций.

Что такое блочный режим?

Использование команд множественного чтения, записи, уменьшающее число прерываний основного процессора.

Вместо явного увеличения скорости обмена Fast ATA и многие другие драйверы устройств допускают команды множественного чтения/записи, которые увеличивают число секторов, передаваемых без использования прерываний. Это снижает нагрузку на хост, поскольку каждое прерывание заставляет процессор

переключать контекст, проверять устройство и устанавливать скорость передачи (или передавать данные в случае PIO).



Команды Read Multiple Command (0xC4) и Write Multiple Command (0xC5) являются командами на уровне диска и позволяют передавать несколько секторов данных без использования линии запроса прерывания IRQ на диске, сообщающей процессору о запросе от винчестера.

Линия IRQ используется в тех случаях, когда:

была введена команда чтения и запрошенные данные находятся в буфере диска, готовые к передаче хосту;

была введена команда записи и данные переданы в буфер диска;

если кэширование при записи запрещено, линия IRQ не будет освобождена до тех пор, пока все данные не будут записаны на диск.

При обычном чтении или записи прерывания могут постоянно приостанавливать работу CPU и, в зависимости от процессора и обрабатываемой задачи (многозадачная ОС, Unix, и т.п.), может возникать та или иная задержка при обработке запросов диска. Множественное чтение/запись позволяет передавать большое число секторов (от 2 до 128) в один прием, обеспечивая ускорение операций до 30%.

В однозадачных системах, подобных DOS, любое увеличение производительности сверх нескольких процентов обычно говорит о плохом управлении кэш-буферами для части диска.

Замечание:

размер блока, оптимальный для скорости обмена с диском, может не быть оптимальным для производительности системы в целом! Например, в файловой система DOS (FAT) предпочтительный размер блока равен размеру кластера на диске.

Что такое LBA?

Режим LBA использует линейную адресацию секторов, начиная с сектора 1, головки 0, цилиндра 0 как LBA 0 и заканчивая последним физическим сектором диска, который, например, на стандартном диске 540 Мб имеет номер LBA 1065456. Эта новинка появилась в ATA-2, но такая адресация всегда использовалась в стандарте SCSI.

LBA уменьшает загрузку CPU поскольку операционная система адресует сектора линейно (LBA), и эти адреса обычно пересчитываются в CHS (цилиндр-головка-сектор) для обращения к диску. При использовании же LBA, пересчета адресов не требуется.

Что общего и в чем различия между ATAPI и ATA(-2)?



Ради совместимости с программами, не поддерживающими ATAPI, которые могут давать ошибки при работе с устройствами ATAPI, интерфейс ATAPI не используется до тех пор, пока не будет получена специальная последовательность команд. После активации устройство использует командный протокол, радикально отличающийся от используемого винчестерами.

Смысл этого заключается в том, что 8-битовые регистры Task File, используемые винчестерами, недостаточно велики для поддержки некоторых структур команд CD-ROM. Следовательно, ATAPI-устройства поддерживают только минимум команд ATA.

Для реализации большинства своих функций устройства используют транспортный протокол ATAPI (ATAPI Transport Protocol), при котором через регистр данных (Data Register) передаются пакеты длиной по крайней мере 12 байт. Эти пакеты команд образованы на основе команд SCSI, что упрощает переписывание SCSI-драйверов приводов CD-ROM и стриммеров для стандарта ATAPI.

Остерегайтесь того, что интеллектуальные (например, кэшированные) контроллеры, не поддерживающие ATAPI будут конфликтовать с пакетными командами. Традиционно регистры данных используются только для передачи 512-байтовых секторов;

12-байтовые пакеты команд полностью отличаются от них и должны передаваться контроллером другим способом.

Чем отличается второй порт?

В принципе, ничем. Второй порт IDE зарезервирован в адресном пространстве портов ввода/вывода PC (базовый адрес 170, IRQ 15), и адаптеры, которые можно сконфигурировать для использования с такими параметрами, допускается устанавливать в компьютер, даже если BIOS не поддерживает второго порта IDE. Поскольку такая возможность является частью спецификации IDE, здесь на самом деле нет ничего нового, за исключением того, что подключение стриммеров и приводов CD-ROM к адаптерам ATA превратило поддержку четырех устройств из излишества в необходимость.

На самом деле есть другая причина использования второго порта для устройств ATAPI. Это значительное число расширенных возможностей, поддерживаемых дисковыми интерфейсами, таких, как буферы упреждающего чтения и обратная запись, которые могут появляться из-за совместимости с ATAPI.


Это означает, что если драйверы интеллектуальных портов ATA-2 не поддерживают ATAPI или просто не функционируют должным образом они могут создавать массу проблем. Способом избежать этих проблем является использование второго порта, обеспечивающего только базовые функции ATA.

Наконец, устройства ATAPI на первом порту будут вызывать проблемы при использовании драйверов Windows FastDisk.

Как происходит трансляция?

Сегодня это может осуществляться, грубо говоря, тремя способами:

стандартная адресация CHS, расширенная адресация Extended CHS

и LBA. Как вы увидите, трансляция не реализует LBA автоматически.

1. Стандартная трансляция.

Обмен между диском, BIOS и операционной системой осуществляется по следующей схеме:

Физическая геометрия T1
(внутреннее == использование)
Логическая геометрия диска (CHS)===Логическая геометрия диска (CHS)
Здесь присутствует только один этап трансляции (T1), который является внутренним свойством винчестера. Реальная (физическая) геометрия устройства полностью невидима извне. Количества цилиндров, головок и секторов, напечатанные на этикетке для использования в программе установки параметров BIOS, никак не связаны с физическими параметрами винчестера. Логическая геометрия ограничена со стороны IDE (16 головок) и со стороны BIOS (1024

цилиндра), что в общей сложности ограничивает размер дисков (504MB).

CHS означает адресацию цилиндр-головка-сектор.

2. Расширенная адресация CHS

Физическая геометрия T1
(внутреннее == использование)
Логическая геометрия диска (CHS)T2

===
Логическая геометрия диска (CHS)

Логическая геометрия используется для обмена между диском и BIOS, тогда как другая (трансляционная) геометрия служит для обмена между BIOS и операционной системой.

Трансляция осуществляется в два приема (T1 и T2). Этап T2 выполняется BIOS. Эта процедура позволяет преодолеть барьер 528MB, поскольку не накладывается

одновременных ограничений BIOS и IDE: логическая геометрия не позволяет использовать более 16 головок, но число цилиндров не ограничено 1024.


В трансляционной геометрии - наоборот.

В большинстве BIOS расширенная CHS-трансляция обозначается как опция 'LARGE'. Отметим, что геометрия, которую вы задаете в программе установки параметров BIOS (setup), является логической геометрией, а не трансляционной.

3. Логическая адресация блоков (Logical Block Addressing -

LBA)

Здесь логическая геометрия целиком заменяется одним номером блока.

ДискBIOSОС и приложения
Физическая геометрия T1

(внутреннее == использование)
Линейный номер блока (LBA)T2
===
Трансляц. геометрия (CHS)
Физическая геометрия T1

(внутреннее == использование)
Линейный номер блока (LBA)T2

===
Трансляц. геометрия (CHS)
Этот режим позволяет преодолеть барьер 528MB, также, как в extended CHS. Поскольку эта схема несколько проще в сравнении с CHS, она зачастую незначительно (читайте: незаметно) быстрее (в зависимости от качества драйвера LBA может оказаться даже несколько медленнее).

BIOS с трансляцией можно реализовать на системной плате или на плате контроллера. В общем случае используется принятая по умолчанию геометрия диска и, если число цилиндров превышает 1024, номер цилиндра делится на подходящее число (степень 2), а число головок умножается на то же число. Возьмем в качестве примера диск 540 Мб с 1057 цилиндрами и 16 головками. DOS может использовать только 1024 цилиндра, но умеет адресовать до 255 головок. BIOS с трансляцией будет передавать ОС через прерывание INT 13 измененную геометрию с 528 (1057/2 (округленно) цилиндрами и 32 головками (16*2). В этом случае при запросе к диску BIOS будет выполнять обратную трансляцию или вычислять LBA-номер (если режим LBA включен). Такой способ позволяет использовать диски размером до 8 Гб.

Детальное описание трансляции.

Если размер диска не превышает 528MB, должна использоваться логическая геометрия, как указано в словах 53-58 Identify Device (не более 1024

цилиндров, не более 16 головок и 63 секторов). Такие диски допускают прямую адресацию без использования трансляции.



Для дисков с размером более 528MB, CHS-адреса, которые BIOS получает от операционной системы, должны конвертироваться в адреса Extended CHS

или LBA. Рассмотрим вариант использования Extended CHS. Во-первых, при установке параметров BIOS, должно быть определено значение N. Это число используется для преобразования геометрии диска в геометрию, поддерживаемую BIOS для прерывания INT 13H. Этот интерфейс требует, чтобы значение Cyl

было не более 1024. Число цилиндров (слово 1 Identify Device) делится на N, тогда как число головок (слово 3 Identify Device) умножается на это число. N может иметь значения 2, 4, 8, ..., (степени 2).

Во-вторых, в большинстве BIOS с трансляцией используется приведенный ниже алгоритм используемый при работе с INT 13H:

eCyl = ( Cyl * N) + ( Head / dHead );

eHead = ( Head % dHead );

eSector = Sector;

Для примера предположим, что диск имеет 2000 цилиндров, 16 головок и 63 сектора (Identify Words 1, 3, 6), а значение N=2. BIOS сообщает DOS, что диск имеет 1000 цилиндров, 32 головки и 63 сектора при вызове INT 13H с AH=08H. Общее число секторов равно 2016000.

Таблица 8.

ЦилиндрГоловкаСектор

ЦилиндрГоловкаСектор

LBA
001

001

0
.........

.........

...
50001

100001

1008000
5001563

10001563

1009007
500161

100001

1009008
5003163

10001563

1010015
50101

100201

1010016
.........

.........

...
9993163

19991563

2015999
Отметим одну особенность данного алгоритма: физический порядок секторов на диске не изменяется - за сектором n следует сектор n+1 при любой адресации CHS, Extended CHS и LBA. Разные способы адресации означают лишь различные алгоритмы трансляции, однако не все реализации BIOS поддерживают каждый из вариантов трансляции. Поэтому изменение алгоритма трансляции является потенциально опасным действием и может привести к потере данных на диске..

Что такое Enhanced Disk Parameter Table?

В стандартных BIOS фиксированная таблица параметров (Fixed Disk Parameter Table - FDPT) содержит информацию о геометрии дисков.


Эта таблица более или менее совпадает с таблицей дисков CMOS. Программа, которая хочет использовать низкоуровневые обращения к диску, минуя DOS, обычно вызывает функции INT13.

Расширенная таблица параметров (Enhanced Disk Parameter Table - EDPT) является расширением стандартной таблицы, допускающим использование неопределенных полей для обеспечения информации об используемом способе трансляции. Она использует сигнатуру (A0 в байте 3) и контрольную сумму (байт 15) для того, чтобы программы не могли ошибиться при произвольном доступе к EDPT. Этот способ является более или менее общепринятым для BIOS с трансляцией.

Стандарт Phoenix Enhanced BIOS задает ряд расширений INT13 и 16-байтовое расширение FDPT. Более поздние версии содержат детальную информацию о текущих режимах PIO или DMA, использовании блочного режима, адресации LBA или (E)CHS, 32-битовой передаче, типе среды (съемный диск, CD-ROM), базовом адресе порта управления и IRQ. Иными словами, таблица описывает все новые возможности ATA и достаточно гибка для работы более, чем с 4 устройствами, нестандартными адресами портов и IRQ. Корректная поддержка перечисленных особенностей важна для использования технологии Plug'n'Play с устройствами ATA. Спецификация EIDE BIOS компании Western Digital не содержит полного набора перечисленных функций.

Что делает программа Disk Manager?

Disk Manager 6.x (и выше) является программой, обеспечивающей трансляцию, требуемую для работы с дисками, имеющими более 1024 цилиндров в среде DOS/Windows. Это достигается установкой специального оверлейного модуля (Dynamic Drive Overlay - DDO) для трансляции параметров диска. При загрузке этого модуля в память компьютера он обеспечивает базовые функции трансляции без обращения к EDPT или расширенным функциям INT13.

Если Disk Manager (DM) использовался только для форматирования ведомого (slave) диска, DDO можно установить в файле config.sys как обычный драйвер (device=dmdrvr.bin). С другой стороны, использование DM на ведущем (master) диске недостаточно просто с технической точки зрения.


Поскольку DOS

загружается с ведущего диска, вы должны загрузить DDO до того, как начнете работать с диском, существует единственный способ сделать это - загрузка драйвера до загрузки ОС. Для реализации этой возможности требуется вносить изменения в Master Boot Record (MBR).

Эта схема работает хорошо, но имеет ряд недостатков. Во-первых, DDO должен быть загружен до операционной системы, что не позволяет загрузить ОС с дискеты. При попытке загрузки с дискеты DDO не может загрузиться и раздел

диска будет недоступен. Это затруднение можно преодолеть, включив в файл config.sys на загрузочной дискете строку "device=dmdrvr.bin". Во-вторых (это более важно), недостатком является то, что при установке ОС переписывается MBR, после чего модуль DDO становится недоступным и вы не сможете получить доступ к диску до тех пор, пока не создадите новую MBR с помощью программы DiskManager. В-третьих, ошибка в секторе с DDO приведет к невозможности загрузки операционной системы и доступа к диску. Хотя переписать сектор с DDO не составляет труда (с помощью программы DMCFIG.EXE), возникновение такой ситуации может явиться предвестником серьезных проблем (например, вирусной атаки). Вы можете в таких случаях обращаться в службу технической поддержки фирмы Ontrack (tech@ontrack.com).

Преимущество форматирования ведущего диска с помощью DM вместо загрузки DDO из config.sys заключается в том, что вы можете в этом случае использовать 32-битовый доступ к файлам Windows for Workgroups на обоих дисках - при использовании dmdrvr.bin ведомый диск допускает только 16-битовый доступ.

Disk Manager версий 6.x имеет некоторые дополнительные недостатки, которые были исправлены в версии 7. К ним относится неполная совместимость с драйверами большинства плат VLB ATA(-2), затруднения при работе с устройствами, не являющимися винчестерами (ATAPI) и отсутствие поддержки цепочек. Disk Manager v6.x поддерживал только DOS (и Windows 3.x), поскольку использовалась нестандартная таблица разделов (v7.x более совместима с OS/2 Warp, Windows NT и Windows 95; Linux можно успешно установить, но полная совместимость не гарантируется).


На самом деле, Windows 95 будет поддерживать Disk Manager версий 6.x и выше, также как OS/2 Warp и Windows NT 3.5.1. IBM и MicroSoft обеспечили коррективы, позволяющие старым версиям OS/2 Warp и Windows NT работать с Disk Manager v6.x.

Напоследок о дисковых утилитах. Если программа напрямую обращается к функциям INT13, она не будет видеть DDO и может привести к разрушению диска.

Как работает 32-битовый доступ в Windows?

Режим 32-битового доступа к дискам (32BDA), известный также как FastDisk, представляет собой набор драйверов для работы в защищенном режиме, обеспечивающих вызов функций INT13 через интерфейс защищенного режима. Для более поздних дисковых контроллеров разработаны виртуальные драйверы устройств (VxD).

Windows поставляется с таким устройством - *wdctrl. К несчастью, это устройство поддерживает только контроллеры, совместимые со стандартом WD1003, исключая винчестеры SCSI, ATA-2, с трансляцией CHS, с числом цилиндров более 1024 и даже не поддерживает некоторые особенности ATA. Если при инициализации обнаруживается одно из перечисленных устройств, загрузка прерывается. Для современных компьютеров это означает чрезвычайно редкое использование *wdctrl, вместо этого применяются обычно внешние драйверы виртуальных устройств (VxD).

32BDA имеет некоторые преимущества по сравнению с доступом к диску через BIOS. Во-первых, драйверы FastDisk VxD являются реентерабельными, что позволяет Windows использовать виртуальную память в DOS-сессиях. Использование виртуальной памяти без 32BDA будет приводить к зависанию при возникновении ошибок page fault в процессе выполнения программ BIOS. Поскольку функции BIOS не реентерабельны, невозможно использовать BIOS для повторного считывания страницы с диска, пока первый вызов BIOS не будет прерван. 32BDA позволяет Windows управлять памятью при открытии одной или нескольких сессий DOS.

Вторым преимуществом 32-битового доступа является то, что он оставляет всего два (сравнительно медленных) переключения между стандартным и защищенным режимом на каждое обращение к диску.


Возьмем, к примеру, обращение к диску прикладной программы DOS. В отсутствие 32BDA каждый такой вызов будет формировать приведенную ниже последовательность событий:

программа вызывает INT21 для чтения с диска

Windows перехватывает вызов и переключается в защищенный режим (РМ)

Windows переключается в реальный режим (RM) и возвращает управление DOS

DOS вызывает функцию INT13

Windows перехватывает вызов и переключается в защищенный режим

Windows переключается в реальный режим и возвращает управление BIOS

BIOS выполняет функцию INT13 и читает диск

Windows перехватывает управление у INT13 и переключается в PM

Windows переключается в RM и возвращает результат DOS

DOS получает результат и передает его приложению

Windows перехватывает управление у DOS и переключается в PM

Windows переключается в RM и возвращает результат приложению

Приложение получает результат от INT21

Использование 32-битового доступа к диску заменяет шаги 6-8 единственным вызовом FastDisk VxD. Это позволяет избавиться от двухкратного переключения режима, что обычно приводит к некоторому росту производительности дисковых операций.

[] [] []


Устройство винчестера


В самом первом магнитном накопителе, разработанном фирмой IBM, диски и головки вместе с несущей конструкцией размещались в отдельном закрытом корпусе (его называли модулем данных), устанавливаемом для работы на приводное устройство. При установке модуля данных на привод

автоматически подключалась система подачи в модуль данных очищенного воздуха. Головки, благодаря малой массе, прижимались к поверхности диска с усилием всего 0.1Н, а при вращении диска между головкой и поверхностью образовывался воздушный зазор

толщиной около 0.5мкм. Прослойка воздуха между головкой и диском создавалась за счет потоков, образующихся при вращении диска, и обеспечивала возможность многократной записи и считывания данных без повреждения магнитной поверхности диска.

Рисунок 1. Современный винчестер со снятой крышкой.

В современных устройствах модуль данных и привод составляют единое целое и система подачи очищенного воздуха уже не используется. Каждый современный накопитель содержит пакет магнитных дисков, установленных на одной оси. В первых устройствах использовалась скорость вращения 3600 об/мин, однако по мере роста требований к скорости записи/считывания частота вращения блока дисков была повышена во многих устройствах до 7200 об/мин. Повышение скорости вращения обеспечивает возможность ускорения работы всего устройства, однако рост скорости ограничен механической прочностью дисков.

Диски представляют собой пластины из алюминия, стекла или керамики с нанесенным на них слоем высококачественного ферромагнетика. Состав магнитного покрытия достаточно сложен - оно, как правило, наносится путем напыления или вакуумного осаждения. В первых дисках использовалось покрытие из оксида железа, сегодня в качестве материалов для магнитного покрытия используются как материалы на основе железа и его окислов, так и пленки других магнитных металлов. Покрытия на основе окислов железа и бариевых ферритов являются достаточно мягкими, поэтому их использование в новых разработках почти прекратилось.
Металлические пленочные покрытия обеспечивают более высокую плотность записи и прочность поверхности диска. Прочность покрытия особенно важна при использовании дисков в переносных компьютерах, где велика вероятность ударов.

После нанесения покрытия диски подвергаются специальной обработке для обеспечения высококачественной поверхности. Обработанные диски собирают в один пакет (обычно в пакете содержится от 2 до 12 дисков) и закрепляют на оси, устанавливаемой в привод. Каждый диск имеет две рабочих поверхности, однако в некоторых устройствах внешние поверхности крайних дисков пакета не используются из конструктивных соображений.

Для надежной и качественной работы винчестера важно обеспечить отсутствие пыли в корпусе блока дисков и головок, для чего широко используются барометрические фильтры, выравнивающие давление внутри и снаружи блока дисков. Если вы хотите, чтобы ваш винчестер работал долго и обеспечивал высокую надежность хранения данных, никогда не открывайте корпус блока дисков и не срывайте с него защитных наклеек.


Увеличение числа устройств


В оригинальном 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, к которым можно подключить восемь устройств.



Вопросы и ответы


Этот раздел написан на основе распространяемых в сети Internet документов FAQ (Frequently Asked Questions) и содержит ответы на ряд вопросов, касающихся использования устройств IDE/ATA в современных компьютерах.



Встроенный контроллер винчестера (плата управления)


На каждом винчестере кроме блока дисков и привода установлена печатная плата (как правило она крепится снизу), обеспечивающая управление приводами головок и дисков, а также усиление сигналов записи/считывания. Кроме того, на этой плате установлен дешифратор команд управления головками, схемы стабилизации и др. На современных винчестерах, изготавливаемых в рамках программы Energy Star, имеется также устройство, обеспечивающее отключение привода дисков при отсутствии запросов к устройству и другие функции энергосбережения.



В современных компьютерах устройства для


В современных компьютерах устройства для записи данных и программ на магнитные диски (их часто называют жесткими дисками или "винчестерами") являются основным средством долговременного хранения информации, поэтому базовые принципы работы дисковых устройств полезно знать каждому. Это поможет более рационально организовать использование диска, продлить срок его службы, а также избавиться от лишних проблем при установке в компьютер дополнительного диска или замене старого.
В современных персональных компьютерах наиболее распространена дисковая подсистема IDE/ATA, поэтому мы ограничим рассмотрение главным образом свойствами и возможностями этого интерфейса. Стандарт SCSI и его последующие реализации Fast-SCSI и Wide-SCSI, также широко распространенные в современных системах (файловые серверы и другие высокопроизводительные устройства), требуют отдельного рассмотрения. Остальные варианты дисковых интерфейсов описаны очень кратко, скорей в качестве исторической справки, нежели для разъяснения принципов их работы.