Первичный и вторичный каналы ide. Как восстановить производительность системы, режимы PIO и DMA

Предназначается "оригинальный" интерфейс АТА исключительно для подключения HDD, в нем не поддерживаются такие возможности, как интерфейс ATAPI для подключения устройств IDE, которые отличны от HDD, т.е. режим передачи blockmode или LBA (сокр. от logical block addressing).

Спустя некоторое время стандарт АТА перестал соответствовать возрастающим потребностям, т.к. вновь выпускаемые HDD требовали значительно большей скорости трансфера данных, а также наличия новых возможностей. Таким образом появился на свет АТА-2 интерфейс, вскоре также стандартизированный ANSI. При сохранении взаимосовместимости со стандартом ATA, в ATA-2 появилось несколько дополнительных возможностей:

  • Более быстрые PIO Modes . Добавлена поддержка PIOmodes 3 и 4;
  • Более быстрые DMA Modes . Поддерживается multiword DMAmodes1 и 2;
  • Block Transfer . Были включены команды, которые позволяют осуществлять трансфер в режиме blocktransfer, с целью повышения производительности;
  • Logical Block Addressing (сокр . LBA) . В АТА-2 требуется поддержка HDD протокола передачи LBA. Само собой, чтобы использовать этот протокол, нужно, чтобы он поддерживался также BIOS;
  • Усовершенствованная команда IdentifyDrive . В интерфейсе увеличен объем информации относительно характеристик, выдаваемой HDD по системным запросам.

Все было бы отлично, однако фирмы-производители в своем стремлении заполучить больший кусок рынка начали сочинять красивые названия, обзывая ими интерфейсы своих HDD. Ведь интерфейсы FastATA, FastATA-2, а также EnhancedIDE, по сути, базируются на АТА-2 стандарте, являясь не более чем красивыми маркетинговыми терминами. Различия между ними заключаются лишь в том, какую часть стандарта и каким образом они поддерживают.

Самую большую неразбериху вносят названия FastATA и FastATA-2, которые принадлежат умным головам из Seagate и Quantum соответственно. Вполне логично будет предположить, что FastATA - это своего рода улучшение АТА стандарта, в то время как FastATA-2 основан на стандарте АТА-2. К сожалению, все не так просто. В реальности FastATA-2 лишь другое название АТА-2 стандарта. В свою очередь все отличия FastATA от него сводятся лишь к тому, что здесь поддерживаются самые быстрые режимы, а именно: PIO mode4 и DMA mode2. Обе компании, при этом, нападают на Western Digital и разработанный ею стандарт EIDE за внесение еще большей путаницы. EIDE также отличается своими недостатками, однако, о них чуть позже.

В попытке дальнейшего развития АТА интерфейса был разработан проект стандарта АТА-3, основное внимание в котором уделялось улучшению показателей надежности:

  • В AТА-3 содержатся средства, которые повышают надежность трансфера данных благодаря использованию высокоскоростных режимов, что является серьезной проблемой, т.к. кабель IDE/ATA сохранился неизмененным с момента рождении стандарта;
  • В АТА-3 включена технология SMART.

АТА-3 не утвержден как ANSI стандарт в первую очередь потому, что в нем не было использовано новых режимов трансфера данных, несмотря на то, что технология SMART сейчас достаточно широко используется производителями HDD.

Следующий виток развитии интерфейса IDE/ATA - это стандарт UltraATA (также известный, как UltraDMA либо ATA-33, либо DMA-33, либо АТА-3(!)). UltraATA, по сути, является стандартом использования наиболее быстрого режима DMA - mode3, который обеспечивает скорость трансфера данных в 33.3 МВ/сек. С целью обеспечения надежного трансфера данных по старой модели кабеля используются особые схемы контроля над ошибками и их коррекции. Обратная совместимость с прошлыми стандартами: АТА и АТА-2, при этом, сохраняется. Таким образом, если Вы купили HDD с интерфейсом UltraАТА и вдруг обнаружили, что он не поддерживается вашей системной платой, не расстраивайтесь - накопитель все же будет работать, хотя и несколько медленнее.

Наконец, самое последнее достижение в этой сфере - это интерфейс UltraATA/66, который разработан компанией Quantum. Интерфейс позволяет осуществлять трансфер данных на скорости 66МВ/сек.

Во времена первых разработок IDE/ATA интерфейса, единственным устройством, нуждающимся в этом интерфейсе, был HDD, т.к. зарождающиеся драйвы CD-ROM и стримеры оснащались собственным интерфейсом (вы наверняка помните времена, когда подключение CD-ROM осуществлялось с помощью интерфейса на звуковой карте). Вскоре, однако, стало понятно, что использование быстрого и простого интерфейса IDE/ATA для подключения всех возможных устройств сулит принести значительные выгоды, в т.ч. за счет универсальности. К сожалению, система команд IDE/ATA интерфейса была рассчитана исключительно на HDD, поэтому подключить, к примеру, CD-ROM просто так к IDE-каналу нельзя - он просто не будет работать. Соответственно необходимо было разработать новый протокол - ATAPI (сокр. от ATA Packet Interface). Протокол позволяет большинству других устройств подключаться при помощи стандартного IDE шлейфа и "почувствовать себя" в роли IDE/ATA HDD. Протокол ATAPI, на самом деле, гораздо сложнее, чем ATA, т.к. трансфер данных здесь идет с использованием режимов DMA и PIO, реализация же поддержки этих режимов значительным образом зависит от особенностей подключенного устройства. Само название packet (с англ. пакетный) было получено протоколом из-за того, что команды устройству приходится передавать буквально группами или пакетами. С точки зрения рядового пользователя, однако, важнее всего, что отсутствует различие между IDE/ATA HDD, CD-ROMом ATAPI, а также ZIP-драйвом. Сегодняшние BIOSы даже поддерживают осуществление загрузки с ATAPI-устройств.

Сейчас, как было обещано, переходим к EIDE. Термин этот был введен компанией WesternDigital. EIDE достаточно широко употребляется и практически также широко критикуется, вполне на наш взгляд заслужено. Главной причиной для жесткой критики является тот факт, что, по сути, EIDE - вовсе и не стандарт, а чисто маркетинговый термин, причем содержание этого термина постоянно меняется. Так, сначала EIDE включал поддержку PIO режимов вплоть до mode3, затем была добавлена поддержка mode4. Существенным недостатком EIDE в качестве стандарта является включение в его спецификацию абсолютно разноплановых вещей. Смотрите сами, на данный момент EIDE включает:

  • ATA-2 . Полностью, в т.ч. самые скоростные режимы;
  • ATAPI . Целиком;
  • Dual IDE/ATA Host Adapters . В стандарте EIDE включена поддержка 2-х IDE/ATA хостов, таким образом можно использовать параллельно до 4-х IDE/ATA/ATAPI устройств.

Разберем теперь, что обозначает фраза "HDD с интерфейсом EIDE". Так как поддерживать ATAPI ему нет никакого смысла, а 2 канала IDE он поддержать не сможет, все это сводится к скромному: "HDD с интерфейсом АТА-2". Идея, в принципе, была неплохая- создать стандарт, который охватывает чипсет, BIOS и жесткий диск. Однако так как большая часть EIDE в качестве стандарта относится непосредственно к чипсету и BIOS, то получается путаница между EnhancedIDE и примерно в тоже время возникшей EnhancedBIOS (т.е. BIOS, который поддерживает IDE/ATA для HDD емкостью более 504MB). Вполне логично было бы предположить, что для использования HDD объемом свыше 504МВ необходим интерфейс EIDE, однако, как Вы уже поняли, нужен лишь EnhancedBIOS. Более того, производители карт с EnhancedBIOS рекламировали их в качестве "enhanced IDE cards". К счастью, сейчас эти проблемы остались в прошлом, в прочем, как и барьер 540МВ.

Чтобы как-то систематизировать информацию все основные (официальные и неофициальные) стандарты интерфейса IDE, которые были описаны выше, приведены в форме таблицы.

Стандарт

Интерфейс

DMA modes

PIO modes

Отличия от IDE/ATA

Singleword 0-2; multiword 0

Singleword 0-2; multiword 0-2

Поддержка LBA, block transfer, режим, улучшенная команда identify drive

Маркетинговый термин

Singleword 0-2; multiword 0, 1

Аналогичен АТА-2

Маркетинговый термин

Singleword 0-2; multiword 0-2

Аналогичен АТА-2

Неофициальный

Singleword 0-2; multiword 0-2

Аналогичен АТА-2, при этом добавлена поддержка надежности трансфера на высоких скоростях, используется технология SMART

Неофициальный

Singleword 0-2; multiword 0-3 (DMA-33/66)

Аналогичен АТА-3

Singleword 0-2; multiword 0-2

Аналогичен АТА-2, добавлена поддержка отличных от HDD устройств

Маркетинговый термин

Singleword 0-2; multiword 0-2

Аналогичен ATA-2 +ATAPI, поддерживает 2 хост-адаптера

Плавно переходим к не менее интересной теме. Всего существуют 2 параметра, которые характеризуют скорость трансфера данных при использовании HDD с интерфейсом IDE/ATA. Первый из них - внутренняя скорость передачи (англ. internal transfer rate), характеризующая скорость трансфера данных между внутренним буфером HDD и магнитным носителем. Она определяется скоростью вращения, плотностью записи и т.д. Т.е. параметрами, зависящими не от типа интерфейса, а от конструкции носителя. Второй показатель - это внешняя скорость трансфера данных, т.е. скорость передачи данных по IDE каналу, полностью зависящая от режима передачи данных. В самом начале использования IDE/ATA дисков скорость работы всей дисковой подсистемы зависела от внутренней скорости трансфера данных, которая была значительно меньше внешней. Сегодня же, благодаря увеличению плотности записи (это позволяет снимать больше данных за оборот диска) и увеличению частоты вращения, главенствующую роль занимает внешняя скорость передачи. В связи с этим возникает вопрос относительно номеров режимов и отличия PIO от DMA.

Первоначально распространенным способом трансфера данных посредством интерфейса IDE/ATA был протокол, который носит название Programmed I/O (сокр. PIO). Всего существует 5 режимов PIO, которые различаются по максимальной скорости пакетной передачи данных (англ. burst transfer rates). Режимы эти называются термином PIO modes.

Разумеется, здесь имеется в виду внешняя скорость трансфера данных, определяемая скоростью интерфейса, а не HDD. Следует также учитывать, хоть сегодня это вряд ли актуально, что PIO modes 3 и 4 нуждаются в использовании шины PCI либо VLB, т.к. ISA шина не способна обеспечивать скорость трансфера данных более 10 МВ/сек.

Вплоть до появления DMA-33 режима, максимальная скорость трансфера данных у PIO и DMA была идентичной. Основным недостатком PIO режимов считается то, что трансфером данных управляет процессор - это значительно увеличивает его загрузку. С другой стороны, эти режимы не нуждаются в специальных драйверах и прекрасно подходят для однозадачных ОС. К сожалению, это, скорее всего, вымирающий вид…

Direct Memory Access (сокр. от DMA) - прямой доступ к памяти - обозначает собирательное название протоколов, которые позволяют периферийному устройству передавать данные в системную память непосредственно без участия ЦП. Современными жесткими дисками эта возможность используется в сочетании с возможностью, перехватывая управление шиной, самостоятельно управлять передачей данных (т.н. bus mastering). Существующие режимы DMA (т.н. DMAmodes) приведены в таблице. Следует отметить, что singleword режимы на сегодняшний день более не используются, они приведены исключительно для сравнения.

Максимальная скорость трансфера (МВ/сек)

Поддерживают стандарты:

ATA-2, FastATA, FastATA-2, ATA-3, UltraATA, EIDE

ATA-2, FastATA-2, ATA-3, UltraATA, EIDE

Multiword 3 (DMA-33)

UltraATA (АТА/66)

Еще одной интересный момент относительно работы интерфейса IDE/ATA - это 32-разрядный доступ к HDD. Как Вы уже знаете, интерфейс IDE/ATA всегда был и остается по сей день 16-битным. В таком случае будет уместен вопрос, почему при выключении драйверов 32-разрядного доступа к HDD в Windows скорость работы этого диска падает? В первую очередь, потому что работа Windows, в принципе, далека от совершенства. Во-вторых, PCI шина, на которой сейчас располагаются host-контроллеры IDE, 32-разрядна. Следовательно, 16-битный трансфер по этой шине есть пустое расходование пропускной способности. Host-контроллер в нормальных условиях формирует из 2-х 16-битных пакетов 32-битный, пересылая его в дальнейшем по PCI шине.

Ранее встречался такой термин, как режим blocktransfer. Здесь ничего сложного. На самом деле этот термин просто обозначает режим, позволяющий передавать определенное число команд чтения/записи за время одного прерывания. Современные IDE/ATA HDD позволяют передавать 16->32 секторов за одно прерывание. Так как прерывания генерируются реже, загрузка процессора снижается, а также уменьшается процент команд в общем количестве передаваемых данных.

Каждый канал IDE позволяет подключить к нему одно либо два устройства. Современные компьютеры, как правило, отличаются установкой двух каналов IDE (в соответствии со спецификацией EIDE), несмотря на то, что теоретически возможно устанавливать до четырех (!), что позволяет осуществлять подключение восьми IDE устройств. Все IDE каналы являются равноправными. В таблице приведено использование системных ресурсов различными каналами.

Канал

I/O Addresses

Поддержка, возможные проблемы, возникающие при использовании

1F0-1F7h, а также 3F6-3F7h

Используется в любых компьютерах, оснащенных интерфейсом IDE/ATA

170-177h, а также 376-377h

Распространен широко, присутствуя практически во всех современных ПК.

1E8-1Efh, а также 3EE-3Efh

Редко используется. Возможны определенные проблемы с софтом

168-16Fh, а также 36E-36Fh

Используется крайне редко. Проблемы с софтом весьма вероятны

Ресурсы, которые используются третьим и четвертым каналами, обычно конфликтуют с другими устройствами (к примеру, IRQ 12 используется PS/2 мышью, IRQ 10 - традиционно занят сетевой картой).

Как уже было отмечено, каждый IDE/AТА канал интерфейса поддерживает подключение 2-х устройств, а именно: master и slave. Конфигурация задается обычно перемычкой, располагающейся на задней стенке устройства. Помимо этих двух позиций на ней часто присутствует также третья - cableselect. Что произойдет, если перемычку установить в это положение? Оказывается, для функционирования устройств в положении cableselect перемычки необходим специальный Y-образный шлейф, у которого центральный разъем подключается непосредственно к системной плате. У такого рода кабеля крайние разъемы неравноправны - устройство, которое подключено к одному разъему, автоматическим образом определяется, как master, а к другому, соответственно, как slave (аналогично А и В флопам). Перемычки на обоих устройствах, при этом, должны находиться в положении cableselect. Основной проблемой этой конфигурации является то, что она экзотична, несмотря на то, что де-юре считается стандартной, а значит, поддерживается не всеми. Из-за этого Y-образный шлейф достать очень трудно

Если предположить, что, несмотря на экзотику, Вы все-таки будете использовать описанную конфигурацию IDE/ATA устройств, запомните следующее:

  • В каждый момент каждый канал может обрабатывать лишь один запрос и лишь к одному устройству. То есть следующему запросу, даже к другому устройству, придется ждать завершения текущего. Различные каналы, при этом, могут функционировать независимо. Следовательно, не стоит подключать 2 устройства, которые активно используются (к примеру, два HDD), к одному каналу. Оптимальным вариантом будет подключение каждого IDE-устройства к отдельному каналу (это, пожалуй, главный минус по сравнению с SCSI).
  • Практически все чипсеты на сегодняшний день поддерживают возможность использования разных режимов трансфера данных для устройств, которые подключены к одному каналу. Злоупотреблять этим, однако, не стоит. Два устройства, которые значительно различаются по скорости, рекомендуется разнести по различным каналам.
  • Также рекомендуется не подключать HDD и ATAPI-устройство (к примеру, CD-ROM) к одному каналу. Как было указано выше, ATAPI протокол использует иную систему команд, и, более того, даже самые скоростные ATAPI-устройства намного медленнее HDD, что может существенно замедлить работу последнего.

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

Другие идентичные названия опции: IDE Channel 0 Master, Primary Master.

В BIOS существует несколько опций, предназначенных для настройки параметров жестких дисков и других внутренних накопителей(приводов). Опция Primary IDE Master (Основной накопитель на первичном канале IDE) является одной из наиболее часто используемых подобного рода.

Как правило, до появления интерфейса SATA, материнские платы большинства персональных компьютеров поддерживали лишь приводы интерфейса IDE. Обычно пользователь мог установить не более 4 накопителей – жестких дисков или дисководов CD/DVD. Два из них могут быть расположены на первичном канале IDE (Primary), а два других – на вторичном канале (Secondary). В каждой из этих двух пар накопителей один накопитель является главным (Master), а второй – подчиненным (Slave). Таким образом, всего в BIOS, как правило, имеются четыре опции для настройки накопителей:

  • Primary IDE Master
  • Primary IDE Slave
  • Secondary IDE Master
  • Secondary IDE Slave

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

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

Самой важной из этих опций является опция Type (Тип). Как правило, она может принимать следующие значения:

  • Auto – типа привода определяется автоматически
  • User – пользователь может установить тип привод вручную
  • CDROM – накопитель является CD/DVD-дисководом
  • ZIP – накопитель является устройством типа Iomega ZIP
  • LS-120 – накопитель является устройством типа LS-120
  • None ­– данное устройство не используется

Также в данной опции иногда можно выбрать заранее определенный тип накопителя, обозначенный каким-либо номером, например, от 0 до 50.

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

Часто встречаются также следующие дополнительные опции:

  • LBA Mode (Режим LBA)
  • (Режим блочной записи)
  • Programmed I/O Modes (Программируемые режимы ввода-вывода)

Какое значение выбрать?

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

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

Некоторых пояснений требует опция LBA Mode. Эта опция предназначена для включения режима адресации, использующегося в жестких дисках объемом более 504 МБ. Если вы используете жесткий диск меньшего объема, то вы должны отключить данную опцию. Для остальных параметров лучше всего оставить значения по умолчанию.

Привет всем читателям блога. В этой статье поговорим о том, как восстановить производительность системы. Часто у пользователей возникает проблема очень медленной работы компьютера, особенно при записи и при чтении дисков, либо просто необоснованные «тормоза» системы при работе или загрузке.Почему система зависает читайте
Причин возникновения этого может быть великое множество, сегодня предлагаю рассмотреть довольно распространенную – это неверный режим работы CD/DVD - ROM’а или жестких дисков , т. е. поговорим о PIO и DMA . Как проверить жесткий диск на ошибки и устранить их читайте

В чем суть и разница PIO и DMA .

PIO и DMA - это два режима работы жестких дисков, в общем случае любого привода.
PIO (Programmable Input/Output) - уже устаревший режим, для работы ему необходимо
задействовать центральный процессор, что приводит к значительной потери производительности.
DMA (Direct MemoryAccess) - современный метод, который минует процессор и
обращается напрямую к оперативной памяти, это позволяет значительно увеличить производительность и избавиться от надоедливых «тормозов».
Режим DMA в различных вариантах уже давно используется в операционных системах Windows 7, 8, а также в 10, однако в Windows XP, часто случается ситуация в которой DMA автоматически переключается в PIO и уже вывести его обратно обычными методами не получится. Из-за чего возникает эта ситуация?
В Windows XP внедрен механизм контроля ошибок , если при чтении с жесткого диска или другого привода слишком часто возникают ошибки, то система автоматически переходит в более медленный режим, где их процент меньше. Однако, Windows XP может перевести в такой режим и нормально работающее устройство.
Как устранить ошибки Windows читайте

И так, проверим режимы работы всех приводов, чтобы система не тормозила..

1 . Запускаем консоль «Управление компьютером» – правой кнопкой на «Мой компьютер»


в выпадающем меню выбираем пункт «Диспетчер устройств» , либо через
Панель управления. Или Пуск - Выполнить - devmgmt.msc

2. Выбираем «Диспетчер устройств» , выбираем IDE ATA/ATAPI контроллеры ,


откроется несколько строчек с контроллерами – нас интересуют:
Первичный и Вторичный каналы IDE → заходим поочередно в свойства этих каналов (правой кнопкой на канале, строка «Свойства »), в закладку «Дополнительные параметры» ,
здесь выделены две группы «Устройство 0» и «Устройство 1» , в каждой есть строки
«Режим передачи» – в ней должно быть выбрано «DMA, если доступно », далее строка «Текущий режим передачи» , должно быть что-то типа «Режим ультра DMA:4,


если здесь стоит «Режим PIO», то это как раз наш случай и мы будем его исправлять .
Если везде стоит режим ультра DMA, то у Вас все в порядке и дальнейшие действия можно не продолжать.
3. Для начала попробуем исправить вручную – в каждой строке «Режим передачи» ставим «DMA, если доступно» , жмем «ОК» и перезагружаем компьютер. После включения вновь
смотрим режимы работы каналов, если везде стоит DMA, то все в порядке, если остался PIO, то продолжаем дальше.
4. Вновь найдите Первичный и Вторичный каналы IDE и удалите их (правой кнопкой на каждом канале, в списке выбираем «Удалить» ). Не бойтесь, все будет нормально работать.
Снова перезагрузите компьютер – Windows XP найдет контроллеры и переведет их в быстрый режим работы, т.е в DMA . Проверьте результат, везде должен стоять режим DMA.
5. Если все перечисленное не помогло и у Вас опять высвечивается «Режим PIO» , тогда необходимо будет переставить драйвера для материнской платы – перегрузиться
и вновь проверить результат.
6. Ну и последний пункт, если после всех страданий режим PIO так и не пропал, тогда придется подредактировать в реестре. Хочу отметить – производите какие-либо операции с
реестром очень осторожно и внимательно, любое неправильное действие может привести к полной неработоспособности Вашей системы. Лучше всего сделать заранее копию реестра.
Как настроить Windows XP с помощью реестра читайте

Для начала попробуйте отключить систему контроля ошибок.
Для этого в ветке реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Cdfs\ ,
создайте ключ ErrorControl и установите его значение равным 0.


После этого перегрузитесь и выполните пункт №4.


в ней можно вручную выставить режим DMA .
Здесь располагаются несколько папок - 0000, 0001, 0002.
0000 – отвечает за сам контролер;
0001 – отвечает за Secondary IDE Chanell;
0002 – отвечает за Primary IDE Chanell;
Открываем папку для нужного нам канала. В ней находятся
несколько ключей, для начала выбираем:
MasteDeviceTimingModeAllowed
SlaveDeviceTimingModeAllowed
и проставляем значение равное 0хffffffff.
После этого выставляем значение следующих ключей:
MasterDeviceTimingMode
SlaveDeviceTimingMode
в соответствии с следующими данными, в зависимости от
поддерживаемого UDMA - режима:
UDMA Mode 2 – 0×2010
UDMA Mode 4 – 0×8010
UDMA Mode 5 – 0×10010
UDMA Mode 6 – 0xffff

После этого перегрузитесь и проверьте результат – должно все нормально работать.

Как ускорить и восстановить производительность Windows 10, читайте
Какая скорость передачи информации в компьютерах, читайте
Надеюсь эта статья поможет Вам правильно выставитьрежимы PIO и DMA и повысить общую производительность системы.

И с его появлением получил название PATA (Parallel ATA).

История

Шлейфы ATA (IDE): 40-проводной сверху, 80-проводной с кабельной выборкой снизу

Переходник с IDE на 2,5" IDE (жёстких дисков ноутбуков)

Предварительное название интерфейса было PC/AT Attachment («Соединение с PC/AT »), так как он предназначался для подсоединения к 16-битной шине ISA , известной тогда как шина AT . В окончательной версии название переделали в «AT Attachment» для избежания проблем с торговыми марками.

Первоначальная версия стандарта была разработана в 1986 году фирмой Western Digital и по маркетинговым соображениям получила название IDE (англ. Integrated Drive Electronics - «электроника, встроенная в привод»). Оно подчеркивало важное нововведение: контроллер привода располагается в нём самом, а не в виде отдельной платы расширения , как в предшествующем стандарте ST-506 и существовавших тогда интерфейсах SCSI и ST-412 . Это позволило улучшить характеристики накопителей (за счёт меньшего расстояния до контроллера), упростить управление им (так как контроллер канала IDE абстрагировался от деталей работы привода) и удешевить производство (контроллер привода мог быть рассчитан только на «свой» привод, а не на все возможные; контроллер канала же вообще становился стандартным). Следует отметить, что контроллер канала IDE правильнее называть хост-адаптером , поскольку он перешёл от прямого управления приводом к обмену данными с ним по протоколу.

В стандарте АТА определён интерфейс между контроллером и накопителем, а также передаваемые по нему команды.

Интерфейс имеет 8 регистров, занимающих 8 адресов в пространстве ввода-вывода. Ширина шины данных составляет 16 бит. Количество каналов, присутствующих в системе, может быть больше 2. Главное, чтобы адреса каналов не пересекались с адресами других устройств ввода-вывода. К каждому каналу можно подключить 2 устройства (master и slave), но в каждый момент времени может работать лишь одно устройство.

Принцип адресации CHS заложен в названии. Сперва блок головок устанавливается позиционером на требуемую дорожку (Cylinder), после этого выбирается требуемая головка (Head), а затем считывается информация из требуемого сектора (Sector).

Стандарт EIDE (англ. Enhanced IDE - «расширенный IDE»), появившийся вслед за IDE, позволял использование приводов ёмкостью, превышающей 528 Мб (504 МиБ), вплоть до 8,4 Гб. Хотя эти аббревиатуры возникли как торговые, а не официальные названия стандарта, термины IDE и EIDE часто употребляются вместо термина ATA . После введения в 2003 году стандарта Serial ATA («последовательный ATA») традиционный ATA стали именовать Parallel ATA , имея в виду способ передачи данных по параллельному 40- или 80-жильному кабелю.

Поначалу этот интерфейс использовался с жёсткими дисками, но затем стандарт был расширен для работы и с другими устройствами, в основном - использующими сменные носители. К числу таких устройств относятся приводы CD-ROM и DVD-ROM , ленточные накопители, а также дискеты большой ёмкости, такие, как ZIP и флоптические (используют магнитные головки с лазерным наведением ) диски (LS-120 /240). Кроме того, из файла конфигурации ядра FreeBSD можно сделать вывод, что на шину ATAPI подключали даже накопители на гибких магнитных дисках (дискета). Этот расширенный стандарт получил название Advanced Technology Attachment Packet Interface (ATAPI), в связи с чем полное наименование стандарта выглядит как ATA/ATAPI . ATAPI практически полностью совпадает со SCSI на уровне команд и, по сути, есть «SCSI по ATA-кабелю».

Первоначально интерфейсы для подключения приводов CD-ROM не были стандартизованы и являлись проприетарными разработками производителей приводов. В результате для подключения CD-ROM было необходимо устанавливать отдельную плату расширения, специфичную для конкретного производителя, например, для Panasonic (существовало не менее 5 специфичных вариантов интерфейсов, предназначенных для подключения CD-ROM). Некоторые варианты звуковых карт, например, Sound Blaster , оснащались именно такими портами (часто привод CD-ROM и звуковая плата поставлялись в виде мультимедиа-комплекта). Появление ATAPI позволило стандартизировать всю эту периферию и дать возможность подключать её к любому контроллеру, к которому можно подключить жесткий диск.

Другим важным этапом в развитии ATA стал переход от PIO (англ. Programmed input/output - программный ввод-вывод) к DMA (англ. Direct memory access - прямой доступ к памяти). При использовании PIO считыванием данных с диска управлял центральный процессор компьютера, что приводило к повышенной нагрузке на процессор и замедлению работы в целом. По причине этого компьютеры, использовавшие интерфейс ATA, обычно выполняли операции, связанные с диском, медленнее, чем компьютеры, использовавшие SCSI и другие интерфейсы. Введение DMA существенно снизило затраты процессорного времени на операции с диском.

В данной технологии потоком данных управляет сам накопитель, считывая данные в память или из памяти почти без участия процессора, который выдаёт лишь команды на выполнение того или иного действия. При этом жёсткий диск выдаёт сигнал запроса DMARQ на операцию DMA контроллеру. Если операция DMA возможна, контроллер выдаёт сигнал DMACK, и жёсткий диск начинает выдавать данные в 1-й регистр (DATA), с которого контроллер считывает данные в память без участия процессора.

Операция DMA возможна, если режим поддерживается одновременно BIOS , контроллером и операционной системой, в противном случае возможен лишь режим PIO.

В дальнейшем развитии стандарта (АТА-3) был введён дополнительный режим UltraDMA 2 (UDMA 33).

Этот режим имеет временные характеристики DMA Mode 2, однако данные передаются и по переднему, и по заднему фронту сигнала DIOR/DIOW. Это вдвое увеличивает скорость передачи данных по интерфейсу. Также введена проверка на чётность CRC, что повышает надёжность передачи информации.

В истории развития ATA был ряд барьеров , связанных с организацией доступа к данным. Большинство из этих барьеров, благодаря современным системам адресации и технике программирования, были преодолены. К их числу относятся ограничения на максимальный размер диска в 504 МиБ , около 8 ГиБ , около 32 ГиБ, и 128 ГиБ. Существовали и другие барьеры, в основном связанные с драйверами устройств, и организацией ввода-вывода в операционных системах, не соответствующих стандартам ATA.

Оригинальная спецификация АТА предусматривала 28-битный режим адресации. Это позволяло адресовать 2 28 (268 435 456) секторов по 512 байт каждый, что давало максимальную ёмкость в 137 Гб (128 ГиБ). В стандартных PC BIOS поддерживал до 7,88 ГиБ (8,46 Гб), допуская максимум 1024 цилиндра, 256 головок и 63 сектора. Это ограничение на число цилиндров/головок/секторов CHS (Cyllinder-Head-Sector) в сочетании со стандартом IDE привело к ограничению адресуемого пространства в 504 МиБ (528 Мб). Для преодоления этого ограничения была введена схема адресации LBA (Logical Block Address), что позволило адресовать до 7,88 ГиБ. Со временем и это ограничение было снято, что позволило адресовать сначала 32 ГиБ, а затем и все 128 ГиБ, используя все 28 разрядов (в АТА-4) для адресации сектора. Запись 28-битного числа организована путём записи его частей в соответствующие регистры накопителя (с 1 по 8 бит в 4-й регистр, 9-16 в 5-й, 17-24 в 6-й и 25-28 в 7-й).

Адресация регистров организована при помощи трёх адресных линий DA0-DA2. Первый регистр с адресом 0 является 16-разрядным и используется для передачи данных между диском и контроллером. Остальные регистры 8-битные и используются для управления.

Новейшие спецификации ATA предполагают 48-битную адресацию, расширяя таким образом возможный предел до 128 ПиБ (144 петабайт).

Эти ограничения на размер могут проявляться в том, что система думает, что объём диска меньше его реального значения, или вовсе отказывается загружаться и виснет на стадии инициализации жёстких дисков. В некоторых случаях проблему удаётся решить обновлением BIOS. Другим возможным решением является использование специальных программ, таких, как Ontrack DiskManager, загружающих в память свой драйвер до загрузки операционной системы. Недостатком таких решений является то, что используется нестандартная разбивка диска, при которой разделы диска оказываются недоступны, в случае загрузки, например, с обычной DOS-овской загрузочной дискеты. Впрочем, многие современные операционные системы (начиная от Windows NT4 SP3) могут работать с дисками большего размера, даже если BIOS компьютера этот размер корректно не определяет.

Интерфейс ATA

Для подключения жёстких дисков с интерфейсом PATA обычно используется 40-проводный кабель (именуемый также шлейфом). Каждый шлейф обычно имеет два или три разъёма, один из которых подключается к разъёму контроллера на материнской плате (в более старых компьютерах этот контроллер размещался на отдельной плате расширения), а один или два других подключаются к дискам. В один момент времени шлейф P-ATA передаёт 16 бит данных. Иногда встречаются шлейфы IDE, позволяющие подключение трёх дисков к одному IDE каналу, но в этом случае один из дисков работает в режиме read-only.

Разводка Parallel ATA
Контакт Назначение Контакт Назначение
1 Reset 2 Ground
3 Data 7 4 Data 8
5 Data 6 6 Data 9
7 Data 5 8 Data 10
9 Data 4 10 Data 11
11 Data 3 12 Data 12
13 Data 2 14 Data 13
15 Data 1 16 Data 14
17 Data 0 18 Data 15
19 Ground 20 Key
21 DDRQ 22 Ground
23 I/O Write 24 Ground
25 I/O Read 26 Ground
27 IOC HRDY 28 Cable Select
29 DDACK 30 Ground
31 IRQ 32 No Connect
33 Addr 1 34 GPIO_DMA66_Detect
35 Addr 0 36 Addr 2
37 Chip Select 1P 38 Chip Select 3P
39 Activity 40 Ground

Вариант подключения 4 дисковых устройств

Перемычка на оптическом приводе установлена в режиме slave (SL)

Варианты установок перемычек на дисковых устройствах с IDE интерфейсом

Долгое время шлейф ATA содержал 40 проводников, но с введением режима Ultra DMA/66 (UDMA4 ) появилась его 80-проводная версия. Все дополнительные проводники - это проводники заземления, чередующиеся с информационными проводниками. Таким образом вместо семи проводников заземления их стало 47. Такое чередование проводников уменьшает ёмкостную связь между ними, тем самым сокращая взаимные наводки. Ёмкостная связь является проблемой при высоких скоростях передачи, поэтому данное нововведение было необходимо для обеспечения нормальной работы установленной спецификацией UDMA4 скорости передачи 66 МБ/с (мегабайт в секунду). Более быстрые режимы UDMA5 и UDMA6 также требуют 80-проводного кабеля.

Хотя число проводников удвоилось, число контактов осталось прежним, как и внешний вид разъёмов. Внутренняя же разводка, конечно, другая. Разъёмы для 80-проводного кабеля должны присоединять большое число проводников заземления к небольшому числу контактов заземления, в то время как в 40-проводном кабеле проводники присоединяются каждый к своему контакту. У 80-проводных кабелей разъёмы обычно имеют различную расцветку (синий, серый и чёрный), в отличие от 40-проводных, где обычно все разъёмы одного цвета (чаще чёрные).

Стандарт ATA всегда устанавливал максимальную длину кабеля равной 45,7 см (18 дюймов). Это ограничение затрудняет присоединение устройств в больших корпусах, или подключение нескольких приводов к одному компьютеру, и почти полностью исключает возможность использования дисков PATA в качестве внешних дисков. Хотя в продаже широко распространены кабели большей длины, следует иметь в виду, что они не соответствуют стандарту. То же самое можно сказать и по поводу «круглых» кабелей, которые также широко распространены. Стандарт ATA описывает только плоские кабели с конкретными характеристиками полного и ёмкостного сопротивлений. Это, конечно, не означает, что другие кабели не будут работать, но, в любом случае, к использованию нестандартных кабелей следует относиться с осторожностью.

Если к одному шлейфу подключены два устройства, одно из них обычно называется ведущим (англ. master ), а другое - ведомым (англ. slave ). Обычно ведущее устройство идёт перед ведомым в списке дисков, перечисляемых BIOS’ом компьютера или операционной системы . В старых BIOS’ах (486 и раньше) диски часто неверно обозначались буквами: «C» для ведущего диска и «D» для ведомого.

Если на шлейфе только один привод, он в большинстве случаев должен быть сконфигурирован как ведущий. Некоторые диски (в частности, производства Western Digital) имеют специальную настройку, именуемую single (то есть «один диск на кабеле»). Впрочем, в большинстве случаев единственный привод на кабеле может работать и как ведомый (такое часто встречается при подключении CD-ROM’а на отдельный канал).

Настройка, именуемая cable select (то есть «выбор, определяемый кабелем», кабельная выборка), была описана как опциональная в спецификации ATA-1 и стала широко распространена начиная с ATA-5, поскольку исключает необходимость переставлять перемычки на дисках при любых переподключениях. Если привод установлен в режим cable select, он автоматически устанавливается как ведущий или ведомый в зависимости от своего местоположения на шлейфе. Для обеспечения возможности определения этого местоположения шлейф должен быть с кабельной выборкой . У такого шлейфа контакт 28 (CSEL) не подключен к одному из разъёмов (серого цвета, обычно средний). Контроллер заземляет этот контакт. Если привод видит, что контакт заземлён (то есть на нём логический 0), он устанавливается как ведущий, в противном случае (высокоимпедансное состояние) - как ведомый.

Во времена использования 40-проводных кабелей широко распространилась практика осуществлять установку cable select путём простого перерезания проводника 28 между двумя разъёмами, подключавшимися к дискам. При этом ведомый привод оказывался на конце кабеля, а ведущий - в середине. Такое размещение в поздних версиях спецификации было даже стандартизировано. Когда на кабеле размещается только одно устройство, такое размещение приводит к появлению ненужного куска кабеля на конце, что нежелательно - как из соображений удобства, так и по физическим параметрам: этот кусок приводит к отражению сигнала, особенно на высоких частотах.

80-проводные кабели, введённые для UDMA4, лишены указанных недостатков. Теперь ведущее устройство всегда находится в конце шлейфа, так что, если подключено только одно устройство, не получается этого ненужного куска кабеля. Кабельная же выборка у них «заводская» - сделанная в самом разъёме просто путём исключения данного контакта. Поскольку для 80-проводных шлейфов в любом случае требовались собственные разъёмы, повсеместное внедрение этого не составило больших проблем. Стандарт также требует использования разъёмов разных цветов, для более простой идентификации их как производителем, так и сборщиком. Синий разъём предназначен для подключения к контроллеру, чёрный - к ведущему устройству, серый - к ведомому.

Термины «ведущий» и «ведомый» были заимствованы из промышленной электроники (где указанный принцип широко используется при взаимодействии узлов и устройств), но в данном случае являются некорректными, и потому не используются в текущей версии стандарта ATA. Более правильно называть ведущий и ведомый диски соответственно device 0 (устройство 0 ) и device 1 (устройство 1 ). Существует распространённый миф, что ведущий диск руководит доступом дисков к каналу. На самом деле управление доступом дисков и очерёдностью выполнения команд осуществляет контроллер (которым, в свою очередь, управляет драйвер операционной системы). То есть фактически оба устройства являются ведомыми по отношению к контроллеру.

Версии стандарта ATA, скорость передачи и свойства

В приводимой далее таблице приведены названия версий стандарта ATA и поддерживаемые ими режимы и скорость передачи. Следует отметить, что скорость передачи, указываемая для каждого стандарта (например, 66,7 МБ/с для UDMA4, именуемого обычно «Ultra-DMA 66»), указывает максимальную теоретически возможную скорость в кабеле. Это просто два байта, умноженные на фактическую частоту, и предполагает, что каждый цикл используется для передачи пользовательских данных. На практике скорость, естественно, меньше.

Перегрузка на шине, к которой подключён ATA-контроллер, также может ограничивать максимальный уровень передачи. Например, максимальная пропускная способность шины PCI, работающей на частоте 33 МГц и имеющей разрядность 32 бита, составляет 133 МБ/с, и эта скорость делится между всеми подключёнными к шине устройствами.

Скотт Мюллер. Модернизация и ремонт ПК = Upgrading and Repairing PCs. - 17-е изд. - М. : Вильямс , 2007. - С. 573-623. - ISBN 0-7897-3404-4 .
Стандарт Другие названия Добавлены режимы передачи (МБ/с)