Возникшая в 1984 году у компаний Compaq и Western
Digital идея IDE- контроллера (Integrated Disk
Electronic) заключается в том, что непосредственно
сам интерфейсный контроллер встроен в электронику
носителя (жесткого диска, например). При этом тот
контроллер, к которому подключается диск, по сути
дела не является полноценным устройством, а выполняет
только функции сопряжения носителя с шиной. Идея
оказалась достаточно удачной - цена на контроллер
резко снизилась, а на жесткие диски поднялась незначительно.
Интерфейс IDE также часто называют ATA (AT Attachment),
иногда AT-BUS-контроллером. Современные чипсеты
уже содержат IDE-контроллер и на материнской плате
присутствуют соответсвующие разъемы. Если даже чипсет
и не имеет IDE-микросхемы, то производители системных
плат, как правило, ставят на плату внешний контроллер,
так что пользователю IDE-интерфейс достается практически
бесплатно.
В то время, когда создавался стандарт АТА, в компьютерах
главной шиной была 16- разрядная шина
ISA, и контроллер, разрабатывавшийся под нее,
тоже, естественно, получился 16-разрядным, причем
эта разрядность сохранилась и по сей день, несмотря
на последующие многочисленные дополнения и улучшения.
В скорем времени получилось так, что производители
приводов жеских дисков стали делать несовместимые
между собой модели. Если такие диски устанавливались
в паре master/slave (см. дальше) на один канал IDE,
то дисковая подсистема просто не работала. Для устранения
этих неприятных явлений был принят стандарт ANSI
спецификации АТА.
Первоначально стандарт имел следующие особенности:
- Поддержка не более двух жестких дисков (только
жестких дисков). Один канал делится между двумя
устройствами, сконфигурированными как master
и slave. Соответственно master считается
главным (загрузочным) устройством, а slave - вторичным.
- Поддержкa PIO modes 0, 1 и 2
- поддержка single word DMA modes 0, 1
и 2 и multiword DMA mode 0
В режиме PIO каждый байт информации с носителя
считывается процессором и только затем передается
в RAM. В зависимости от длительности цикла считывания
и количества секторов, передаваемых за одно считывание,
различают режимы PIO Mode 0, Mode 1 и так далее,
которые характеризуют скорость передачи данных.
Чем больше цифра в обозначении типа, тем больше
скорость передачи (например, Mode 0 дает 3.3 Mb/s,
а Mode 3 - 11 Mb/s). В режиме DMA процессор лишь
дает DMA-контроллеру команду на обмен данными и
далее не участвует в этом прцессе. Опять же, чем
больше цифра, тем быстрее режим. Причем современные
устройства используют режим multiword как более
быстрый. Хотя DMA эффективнее PIO, PIO-режимы получили
в контроллерах IDE на первых порах более широкое
распространение, в основном из-за соображений совместимости.
Для подключения устройств к контроллеру используется
40-жильный шлейф.
Через некоторое время появился АТА-2, обеспечивающий
более высокую скорость обмена информацией, который
тоже был вскоре стандартизирован ANSI. Сохраняя
обратную совместимость со стандартом ATA, ATA-2
содержал несколько новых возможностей:
- Добавлена поддержка PIO modes 3 и 4
- АТА-2 поддерживает multiword DMA modes 1 и 2
- Добавлены команды, позволяющие осуществлять
обмен в режиме block transfer для повышения производительности
- АТА-2 требует поддержки жестким диском протокола
передачи LBA (Logical Block Addressing.
В режиме LBA информация из физического адреса
размещенных на диске данных (формат С/H/S) преобразуется
в 28-битовый логический адрес. Разумеется, для
использования этого протокола необходимо, чтобы
его поддерживала и BIOS
Большую путаницу в наименования IDE-стандартов
вносят названия Fast ATA, Fast ATA-2 и EIDE (Enhanced
IDE). Все эти стандарты базируются на АТА-2
и являются только лишь маркетинговыми терминами.
Создается вполне понятное впечатление, что Fast
ATA является некоторым улучшением стандарта АТА,
тогда как Fast ATA-2 - улучшением АТА-2. Однако
все намного проще: на самом деле Fast ATA-2 есть
просто другое название стандарта АТА-2, а Fast ATA
отличается от него лишь тем, что не поддерживает
самые быстрые режимы - PIO mode 4 и DMA mode 2.
Другое дело с EIDE. Это название придумано Western
Digital и тоже не стандартизировано, оно включает
в себя поддержку АТА-2 (полностью), ATAPI (полностью,
об ATAPI речь пойдет дальше) и двух IDE/ATA каналов,
что позволяет использовать одновременно до 4 IDE/ATA/ATAPI
устройств (по два на канале). EIDE позволяет использовать
диски емкостью более 504 Mb благодаря применению
нового стандарта BIOS, который появился приблизительно
в то же время, что и IDE - Enhanced BIOS. Сложилось
довольно естественное мнение, что для использования
дисков объемом больше 504 Мb нужен какой-то новый
интерфейс EIDE (тогда как на самом деле нужна была
только Enhanced BIOS, которую можно поставить и
на плату контролера АТА-2), тем более что производители
карт с Enhanced BIOS рекламировали их как "enhanced
IDE cards". Сейчас, к счастью, эти проблемы позади
(как и барьер 504 Мb). От названий Fast ATA и Fast
ATA-2 в начале 90-х годов отказались, а вот Western
Digital до сих пор продолжает использовать EIDE,
периодически перерабатывая его смысл (скажем, первоначально
там не было поддержки PIO mode 4, а потом она появилась),
так что сегодняшний EIDE сильно отличается от "оригинального".
Уже давно был преодолен предел и в 9.1 Gb, уже появился
UltraATA/100 (о нем тоже, только ниже), а WD все
еще продолжала использовать на своих дисках маркировку
EIDE, только запутывая пользователя. Только совсем
недавно от этой аббревиатуры окончательно отказались.
В то время, когда разрабатывался интерфейс IDE/ATA,
единственным устройством, которое нуждалось в этом
интерфейсе, был жесткий диск, поскольку стриммеры
и зарождавшиеся драйвы CD-ROM имели собственный
интерфейс. Однако вскоре стало ясно, что использование
для подключения всех устройств относительно быстрого
и простого интерфейса IDE сулит значительные выгоды,
в том числе и за счет своей универсальности. Но
проблема в том, что система команд интерфейса IDE
была рассчитана только на жесткие диски, поэтому
просто подключить, например, CD-ROM к IDE-каналу
нельзя (точнее, подключить-то можно, благо разъем
позволяет, только работать не будет). Пришлось разработать
новый протокол - ATA Packet Interface, или
ATAPI. Этот протокол позволяет другим устройствам
подключаться с помощью стандартного шлейфа IDE и
вести себя как IDE-жесткий диск. На самом деле протокол
ATAPI намного сложнее, чем ATA, поскольку передача
данных идет с использованием стандартных режимов
PIO и DMA, а реализация поддержки этих режимов существенно
зависит от типа подключенного устройства. Название
packet этот протокол получил по той причине, что
команды устройству действительно приходится передавать
группами, или пакетами. Тем не менее, с точки зрения
пользователя, что, согласитесь, важнее всего, нет
разницы между IDE/ATA-жестким диском, ATAPI CD-ROM'ом
или ZIP-драйвом ATAPI. C появлением ATAPI практически
все контроллеры ATA-2 стали де-факто его поддерживать,
хтя этого, в принципе, никто и не требовал. Сейчас
все производимые IDE-контроллеры могут использовать
ATAPI-протокол, а их BIOS поддерживают загрузку
с ATAPI-устройств.
В 1997 году была принята новая версия стандарта,
ATA-3. АТА-3 был в принципе тем же АТА-2, в котором
основное внимание уделялось повышению надежности:
- AТА-3 содержит средства, повышающие надежность
передачи данных с использованием высокоскоростных
режимов, что действительно является проблемой,
поскольку кабель IDE остался тем же, что и при
рождении стандарта
- АТА-3 включает S.M.A.R.T. (Self-Monitoring
Analysis and Reporting Technology).
Что касается надежности, она действительно заметно
повысилась, но на рынке все равно практически не
было оборудования, специально поддерживающего этот
стандарт - по скоростным показателям АТА-3 (так
как базируется на АТА-2) не дает никаких преимуществ,
а надежность, вообще говоря, обычно мало кого особенно
волнует. А если кого-то и волнует (скажем, в серверах
это одно из главных требований), то сущеществует
SCSI, RAID, Bakcup наконец. Это вполне естественно,
так как никто не рассчитывал и не рассчитывает,
что IDE будет применяться в серьезных условиях.
Да и потом обычные, даже не очень качественные IDE-жесткие
диски достаточно надежны для большинства задач.
Вскоре появился ATA/ATAPI-4. С ним повторилась
похожая на АТА-2 ситуация, и новый стандарт стал
именоваться UltraATA/33, часто его также называют
UltraDMA/33. К счастью, компании на этот раз сумели
быстро договориться, и аппаратура, поддерживающая
ATA/ATAPI-4, стала выпускаться под официальной маркой
UltraATA/33. Вот основные его характеристики:
- Поддержка режима ATAPI (на этот раз официально)
- Устранены старые и уже не нужные команды и возможности,
а взамен появились некоторые другие
- Появился новый протокол передачи данных, multiword
DMA mode 3, названный UltraDMA, позволяющий
добиться куда более высокой пропускной способности
ATA (до 33 Mb/s), а также позволить обеспечить
целостность передаваемых на такой скорости через
стандартный 40-жильный кабель данных (путем использования
CRC)
Указанный протокол UltraDMA оказался довольно
удачным, и вскоре вышел в свет ATAPI-5, в котором
использовался усовершенствованный UltraDMA, что
дало пропускную способность интерфейса в 66 Mb/s.
По аналогии с UltraDMA/33 его назвали UltraDMA/66,
и в 2001 году он стал обязательным стандартом (то
есть все производимые контроллеры и жесткие диски
должны поддерживать UltraDMA/66). Отличием UltraDMA/66
от предыдущих IDE-спецификаций является применение
нового 80-жильного кабеля (ранее, как уже говорилось,
в шлейфе было 40 жил). Нет, по ним не передается
никакой информации - все они заземлены и исполняют
роль экрана (своего рода арматуры) между все теми
же 40 несущими жилами. Такое армирование связано
с тем, что передавать данные со скоростью 66 Mb/s
без их потери по кабелю, который в свое время предназначался
для скорости порядка 5 Mb/s, стало уже невозможно.
В 2000 году произошло очередное увеличение скорости
передачи информации через эти самые легендарные
40 проводов. Она теперь достигла 100 Mb/s (опять
же, за счет примененя новых режимов DMA), и специикация
стала называться UltraАТА/100 (ну или UltraDMA/100,
как кому больше нравится). Именно спецификация,
ибо ее производители не стали изменять своей любимой
традиции забегать вперед комитета T13, и она не
стала сразу официальным стандартом, хотя контроллеры
и жесткие диски с надписью UltraATA/100 появились
в продаже уже со второй половины 2000-го года.В официальную версию UltraATA/100 вошли и другие усовершенствования
- в частности, увеличение LBA с 28 до 64 битов,
введение в ATA новых команд, рассчитанных на передачу
аудио/видео потоков, предложенных Quantum, Western
Digital и Philips, методы снижения уровня шума винчестеров.
Сейчас (2001 год) практически все приличные винчестеры
соответствуют стандарту UDMA/100, а также его поддерживает
большинство выпускаемых материнских плат.
Как упоминалось в начале статьи, несмотря на многолетние
совершенствования IDE-интерфейса, он так и остался
16-разрядным. Однако вы можете встретить информацию
о 32-битовой передаче данных между контроллером
и шиной. В современных контроллерах это действительно
так, однако сам интерфейс все равно 16-разрядный.
Просто шина PCI, которая используется сегодня во всех РС,
является 32-разрядной, и чтобы попусту не расходовать
ее пропускную способность, контроллер формирует
из двух 16-битных пакетов данных один 32-битный.
Все устройства IDE совместимы между собой. То есть
вы можете подключить практически любой жесткий диск
к любому контроллеру, и он будет работать. То же
относится и к другим носителям, но при этом, как
уже говорилось, нужна поддержка контроллером режима
ATAPI. Но максимально достижимая скорость обмена
будет ограничиваться самым медленным IDE-компонентом
в системе "контроллер-носитель". То есть, например,
если подключить винчестер стандарта UDMA/100 к UDMA/33-контроллеру
(или наоборот), то передача данных может вестись
только по протоколу UDMA/33 или ниже. Возможно также
подключение устройств разных стандартов к одному
контроллеру и даже на один канал, в этом случае
для каждого устройства контроллер будет выбирать
свой режим. Не рекомендуется, однако, без крайней
необходимости подключать сильно отличающиеся устройства
к одному каналу, но это и не обязательно, так как
практика показывает, что в любых комбинациях все
работает как надо. Правда, здесь возможна одна проблема:
если вы подключили жесткий диск большей емкости,
чем та максимальная, которую поддерживает ваша BIOS,
то вы не сможете отформатировать его на полную емкость.
К счастью, такие неполадки довольно легко решаются
- достаточно просто перепрошить BIOS. Если у вас
очень старая материнская плата, то иногда может
потребоваться ее замена на более современную.
IDE-интерфейс не предназначен для использования
в продвинутых компьютерах. Его законное место -
дешевые Low-End системы, офисные и домашние компьютеры.
Для рабочих станций и тем более серверов он не пригоден
по следующим причинам, являющихся его недостатками:
- Интерфейс не позволяет работать одновременно
с устройствами, сидящих на одном канале. То есть,
например, если у вас CD-ROM c винчестером подключены
к одному IDE-каналу, то при копировании файлов
с CD на жесткий диск время увеличится как минимум
в два раза - контроллер не может начать операцию
обмена данными с каким либо устройством до того,
как закончит ее с другим. Особенно это неприятное
явление заметно тогда, когда невозможно быстро
эту самую операцию завершить. Например, если CD-ROM
упорно пытается прочесть плохо читаемый диск,
то HDD на это время (достаточно долгое, до 30
с или даже больше - если вы когда-нибудь сталкивались
с этим, то, наверное, знаете) становится недоступным,
и возникает впечатление, что система повисла.
Неприятное, конечно, не в таком зависании (что,
правда, тоже мало кого радует), а в резком снижении
производительности при работе с этими устройствами
одновременно. К счастью, это не относится к устройствам,
находящимся на разных каналах. Именно поэтому,
если есть возможность, рекомендуется разносить
наиболее часто используемые устройства на разные
каналы. Если у вас только два IDE-устройства (скажем,
винчестер и CD/DVD-ROM), то подключение их именно
таким образом (по одному на канал) даст существенный
прирост быстродействия
- Большая нагрузка на процессор (до 90%-100%).
Хотя при использовании режима DMA это значение
и существенно ниже, но все равно достаточно высокое,
что сказывается на производительности компьютера
в приложениях, ведущих интенсивный обмен данными
с диском. Кстати, после установки операционной
системы этот режим выключен по умолчанию, поэтому
его настоятельно рекомендуется включить (для NT
4.0 требуется также соответствующий патч)
- Каждое устройство требует по прерыванию
- Невозможность подключения внешних устройств.
Хотя, конечно, можно поместить жесткий диск в
посылочный ящик и протянуть кабели через дырку
в корпусе системного блока. К тому же это ограничение
во многом смягчается разными ухищрениями - Removable
Rack, LPT to IDE (правда, это уже устарело), USB
to IDE и прочими штуками
- Невозможность подключения более четырех устройств
(причем эффективная работа возможна только с двумя
из них, как уже говорилось выше). Хотя для многих
это не является ограничением. К тому же можно
установить несколько IDE-контроллеров (обычно
не более двух, а иногда даже и четырех, но два
должны точно работать)
Тем не менее, интерфейс IDE получил очень широкое
распространение и сейчас является главным стандартом
для компьютерной индустрии, потому что производство
IDE-контроллеров чрезвычайно дешево, а призводство
носителей для него также отличается куда более низкой
стоимостью, чем для SCSI, и это основное и, пожалуй, единственное его преимущество,
но которое подчас сводит на нет все недостатки.
Да и для многих пользователей эти самые недостатки
не являются такими уж серьезными. Однако IDE, по
всей видимости, еще не долго будет оставаться в
неизменном виде - дешевизна это не единственное,
что является критерием выбора (впрочем, у вас, может
быть, и является), тем более что цены на технологии
быстро падают.
На сегодняшний день не ожидается дальнейшего развития
ATA в том виде, в каком он развивался все эти годы
- UltraATA/100 должен стать последним этапом. В
1999 году началась работа над созданием новой спецификации
- Serial ATA, которая должна позволить совершить
значительный рывок в увеличении возможностей интерфейсов
передачи данных. Первый определяемый в спецификации
вариант - Ultra SATA/1500 - с пропускной
способностью 1.5 Gbits/s вышел уже в конце 2000-го
года, а дальше предполагается выход 2х и 4х версий
стандарта с пропускной способностью до 6 Gbits/s.
Однако широкое появление SATA на рынке ожидается
не ранее, чем через 2-3 года.
|