Контроллеры IDE (ATA)

Возникшая в 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 с винчестером подключены к одному 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-контроллеров чрезвычайно дешево, а призводство носителей для него также отличается куда более низкой стоимостью, чем для, и это основное и, пожалуй, единственное его преимущество, но которое подчас сводит на нет все недостатки. Да и для многих пользователей эти самые недостатки не являются такими уж серьезными. Однако IDE, по всей видимости, еще не долго будет оставаться в неизменном виде — дешевизна это не единственное, что является критерием выбора (впрочем, у вас, может быть, и является), тем более что цены на технологии быстро падают.

На сегодняшний день не ожидается дальнейшего развития ATA в том виде, в каком он развивался все эти годы — UltraATA/100 должен стать последним этапом. В 1999 году началась работа над созданием новой спецификации — Serial ATA, которая должна позволить совершить значительный рывок в увеличении возможностей интерфейсов передачи данных. Первый определяемый в спецификации вариант — Ultra SATA/1500 — с пропускной способностью 1.5 Gbits/s вышел уже в конце 2000-го года, а дальше предполагается выход 2х и 4х версий стандарта с пропускной способностью до 6 Gbits/s. Однако широкое появление SATA на рынке ожидается не ранее, чем через 2-3 года.

Вам может также понравиться...

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *