Часть 1
Сегодня, уважаемые читатели, я бы хотел поговорить с Вами о том, что такое ATA/ATAPI контроллеры, откуда появился интерфейс IDE и что это такое?
Для начала давайте с Вами усвоим необходимый минимум теории. Когда-то очень давно (еще в прошлом тысячелетии :)) фирма «Western Digital» разработала параллельный интерфейс подключения жестких дисков.
Новым и важным в этом было то, что контроллер (управлявший всеми операциями ввода-вывода) был интегрирован в сам привод, а не вынесен в виде отдельной платы расширения, как раньше. Это позволяло:
- убыстрить работу устройства
- удешевить производство
- и упростить схему обмена данными с накопителем
Давайте сразу разберем основные аббревиатуры, чтобы потом не путаться. Сначала интерфейс получил название «IDE» (Integrated Drive Electronics — "Диск со встроенным контроллером"), но проблема заключалась в том, что это было слишком общее определение, под которое могло подойти много чего, имеющего «диск» и «контроллер». В связи с этим был разработан стандарт, который получил название «ATA» (анг. AT Attachment). После появления устройств SATA, это название было изменено на PATA (Parallel ATA).
Многие компьютерщики иногда говорят IDE вместо ATA или — наоборот. В принципе, это — одно и то же, просто правильнее — ATA 🙂
Поначалу стандарт работал только с жёсткими дисками, но затем был изменен для работы и с другими устройствами. К таким устройствам относятся приводы CD и DVD-ROM, магнитооптические диски и ленточные накопители. Этот новый (расширенный) стандарт стал называться «Advanced Technology Attachment Packet Interface» (ATAPI), и поэтому полное его название выглядит как — «ATA/ATAPI».
Вот как выглядят разъемы этого образца на материнской плате (два нижних, верхний — флоппи диск):

Данный интерфейс развивался во времени и одним из значимых этапов стал переход от программного ввода-вывода данных (PIO — Programmed input-output) к прямому доступу к памяти (DMA — Direct Memory Access). Что это значит? При использовании программного метода ввода-вывода считыванием данных с диска управлял центральный процессор, что приводило к абсолютно лишней на него нагрузке, так как ЦП приходилось заниматься еще и дисковыми операциями.
В то время пальму первенства держал интерфейс обмена данными, носящий название скази («SCSI» — Small Computer System Interface). Он выгодно отличался высокой скоростью передачи и применялся в высокопроизводительных серверных платформах. Поэтому режим DMA для устройств IDE стал мощным толчком для дальнейшего развития стандарта.
При прямом доступе к памяти потоком данных управляет уже сам накопитель, считывая данные в память и обратно без участия процессора. Роль последнего сводится лишь к отдаче команд на выполнение того или иного действия. При этом жесткий диск выдает сигнал запроса на операцию прямого доступа к памяти. Если операция доступа данный момент возможна, контроллер дает "добро" и диск начинает выдавать данные, а контроллер считывает их в оперативную память (без участия CPU).
Вот, к слову, как выглядит плата типичного контроллера, устанавливаемая производителями на свои изделия:

Главный чип здесь — MCU (Microcontroller Unit), он и осуществляет управление всеми операциями ввода-вывода накопителя и контролирует его работу.
Примечание: Операция прямого доступа к памяти возможна только тогда, когда такой режим работы поддерживается одновременно «BIOS», контроллером и операционной системой. Иначе система будет работать используя предыдущий режим программного ввода-вывода (PIO).
Всю хронологию развития и достижений на пути становления ATA интерфейса можно представить в виде следующей сводной таблицы.

Как видите (из второй колонки) скорости обмена данными через интерфейс постоянно увеличивались, что, в свою очередь, на этапе внедрения ревизии «Ultra ATA Mode 4» (он же — Ultra DMA/66 со скоростью передачи 66 мегабайт в секунду) вызвало необходимость внедрения нового интерфейсного кабеля с удвоенным количеством проводников (четвертая колонка в таблице).
Для сравнения — оба кабеля рядом:

На цвет не обращайте внимания 🙂 Кабель слева имеет 80 жил (проводников), справа — 40. Как мы видим из таблицы, раньше все кабели имели именно 40 жил. Но дело в том, что с ростом скоростей передачи данных резко возросла роль взаимных помех и наводок отдельных проводников в кабеле друг на друга.
Именно поэтому был введен новый кабель. Причем все дополнительные двадцать пар его проводов это — проводники заземления (Ground), чередующиеся с проводниками информационными. Такое чередование уменьшает емкостную связь между отдельными жилами и, таким образом, сокращает взаимные наводки. Да и если подумать логически, что там еще может быть, если самих контактов (штырьков) на устройстве осталось все так же 40 (без учета "ключа") — по одному на каждый провод. Последующим (более быстрым режимам) «UDMA5» и «UDMA6» также требовался 80-жильный кабель.
Обратите Ваше внимание на колодки обоих кабелей. У них есть "ключ" (пластмассовый «П» образный выступ), который исключает неправильное подключение к разъему. Мало того, у 80-ти жильного кабеля на интерфейсе отсутствует одно из центральных гнезд (на материнских платах тогда начали устанавливать специальный IDE-разъем без центрального контакта), который также выполняет функцию дополнительного "ключа".
Но, — продолжим, чтобы закончить тему о кабелях. При возросших скоростях передачи данных появляется еще одно ограничение — на максимально допустимую длину кабеля. Стандарт ATA всегда устанавливал эту границу в 46 см. В продаже, к примеру, широко распространены кабели от 44-х до 48-ми сантиметров. Встречаются также изделия откровенно превышающие рекомендованный предел и, как Вы понимаете, их использование вряд ли можно рекомендовать.
Чтобы более полно осветить тему добавлю, что бывают еще, так называемые, "круглые" ATA шлейфы.

Выглядят они более благородно, чем свои "плоские" собратья, но, Вы же понимаете, что это снова — не стандарт, а — изделие сторонних производителей, которое должно обеспечивать работу на соответствующих скоростях и соответствовать заявленным характеристикам. Нам надо понимать, что ключевое слово здесь — должно ! 🙂
На пути своего развития стандарт ATA преодолел много препятствий, которые были заложены именно "в железе". Сначала это было ограничение, связанное с геометрией накопителя. Стандартный PC BIOS поддерживал жестко определенное предельно возможное число головок, секторов и цилиндров из которых состоят жесткие диски (максимально адресуемый размер пространства равнялся тогда 528 мегабайтам).
Это аппаратное ограничение было преодолено введением не физической (как раньше), а логической (условной) адресации, не имеющей уже ничего общего с реальной геометрией накопителя. Появились режимы работы для "больших" дисков «Large» и его преемник — «LBA» (Logical Block Address). Это позволяло адресовать (использовать) уже 8,46 гигабайта дискового пространства.
Со временем, когда объем жестких дисков опять увеличился, было преодолено и это ограничение и планка поднялась до 32-х гигабайт, а затем (с введением 28-ми битного режима адресации) — до невиданного ранее объема в 137 гигабайт ! 🙂 Запись 28-ми битного числа, организована методом вписывания его отдельных частей в соответствующие регистры самого диска. Последние спецификации ATA поддерживали уже 48-ми битную адресацию, расширяя возможный предел адресации до 144-х петабайт (1 петабайт — 1024 терабайта).
И тут, казалось бы, когда все ограничения на объем используемых дисков были так героически преодолены выяснилось, что параллельный интерфейс ATA (в том виде, в котором он существует на данный момент) не подходит для дальнейшего развития стандарта. Попытки увеличить его пропускную способность сводятся на нет возникающими вследствие возросших скоростей наводками в кабеле. Укорачивать сам кабель? Тоже не выход из положения.
И вот тут на сцену выходит новый стандарт передачи данных — «SATA» (Serial ATA).

Это — переработанный, и улучшенный вариант предыдущего стандарта. Как Вы помните, АТА — параллельный интерфейс (Parallel), в то время как SATA — последовательный (Serial). В это время и происходит переименование отживающего свое «ATA» в «PATA» (Parallel ATA), однозначно указывая, таким образом, что это — параллельный интерфейс передачи данных.
Несмотря на то, что последовательный способ передачи медленнее, в данном случае это компенсируется возможностью работы на более высоких частотах. Отпадает необходимость в синхронизации каналов. Также сам интерфейсный кабель гораздо более помехоустойчив (все его 7 жил отдельно экранированы). Это, в свою очередь, дало возможность довести максимальную длину кабеля до одного метра.
В стандарте «SATA» Изменился также сам принцип передачи данных. Он получил название LVDS — низковольтная дифференциальная передача сигналов (англ. low-voltage differential signaling). Повышение скорости передачи и использование самосинхронизирующихся кодов позволяют отправлять больше данных по меньшему количеству проводов, чем в случае параллельной шины.
За время своего существования новая спецификация успела сменить несколько ревизий (поколений), которые характеризуются все увеличивающейся пропускной способностью интерфейса.
- SATA-1 150 МБ/с (мегабайт в секунду)
- SATA-2 300 МБ/с (мегабайт в секунду)
- SATA-3 600 МБ/с (мегабайт в секунду)
Тут надо понять следующее: все эти бешеные скорости это — скорость передачи данных по интерфейсному кабелю (от контроллера, с использованием предварительного кеширования и т.д.). И какая бы большая цифра здесь не была написана, реально нас должна интересовать скорость чтения/записи непосредственно с самих пластин (блинов) жесткого диска. Ведь именно она является узким местом в его быстродействии. Другое дело, что в новых моделях реализованы более совершенные алгоритмы по работе с данными, оптимизирована работа с кеш памятью устройства и т.д.
На данный момент (в стандартных настольных конфигурациях) Вы вряд ли увидите скорость чтения с пластин, превышающую 100-120 мегабайт в секунду. Как видите, эта цифра только сейчас подошла к пределу пропускной способности старого стандарта Ultra ATA 133 (133 мегабайта в секунду). Как мы говорили выше, скорости передачи в SATA достигаются за счет другого, а все эти "300", и "600" мегабайт в секунду (три и шесть гигабит в секунду, соответственно) — работа на перспективу (твердотельные SSD накопители), а при их чрезмерном выпячивании — бессмысленная реклама, сбивающая с толку неподготовленного пользователя.
О чем это мы? Ах, да! О преимуществах сата: надо также помнить, что каждое SATA устройство располагается на отдельном канале (контроллере), поэтому отпадает необходимость в их конфигурировании с помощью перемычек (джамперов).
Хотя, справедливости ради стоит отметить, что на ранних этапах внедрения нового стандарта на SATA жестких дисках можно было обнаружить джамперы, но они использовались редко и то лишь для принудительного перевода накопителя SATA-2 в режим SATA-1 (для совместимости с первым поколением контроллеров).
Вот так друзья, коротко мы разобрали основные понятия, связанные с интерфейсом ATA/ATAPI. Теперь смело нажимайте на ссылку "следующая", переходим к практической части материала.
О том, как правильно подключать кабели передачи данных, смотрите в видео ниже:
Serial-ATA — это новый интерфейс для подключения жесткого диска и другой периферии к компьютеру. Он эволюционно сменяет интерфейс Parallel ATA (PATA). Т. е. Serial-ATA -интерфейс устройств хранения данных для нового поколения компьютеров. С его помощью можно подключать такие устройства хранения данных, как жесткие диски, DVD и CD-R/W, к материнской плате. Системы с Serial-ATA легче проектировать и монтировать, т. к. они снабжаются узким и более длинным, чем у предшественника, кабелем и небольшими удобными разъемами
Более низкий вольтаж особенно важен при использовании автономного питания. Конфигурирование новых устройств стало намного проще из-за того, что отпала необходимость в переключении джамперов и поиска оптимального варианта подключения двух устройств к одному шлейфу.
![]()
![]()
ATA (англ. Advanced Technology Attachment ) или >Integrated Drive Electronics ) — параллельный интерфейс подключения накопителей (гибких дисков, жёстких дисков и оптических дисководов) к компьютеру. В 1990-е годы был стандартом на платформе IBM PC; в настоящее время вытеснен своим последователем — SATA — и с его появлением получил название PATA (Parallel ATA).
Содержание
История [ править | править код ]
![]()
Интерфейс ATA [ править | править код ]
![]()
Для подключения жёстких дисков с интерфейсом PATA обычно используется 40-проводный кабель (именуемый также шлейфом). Каждый шлейф обычно имеет два или три разъёма, один из которых подключается к разъёму контроллера на материнской плате (в более старых компьютерах этот контроллер размещался на отдельной плате расширения), а один или два других подключаются к дискам. В один момент времени шлейф P-ATA передаёт 16 бит данных. Иногда встречаются шлейфы IDE, позволяющие подключение трёх дисков к одному IDE каналу, но в этом случае один из дисков работает в режиме read-only.
| Контакт | Назначение | Контакт | Назначение |
|---|---|---|---|
| 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 |

![]()
Долгое время шлейф 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). Существует распространённый миф, что ведущий диск руководит доступом дисков к каналу. На самом деле управление доступом дисков и очерёдностью выполнения команд осуществляет контроллер (которым, в свою очередь, управляет драйвер операционной системы). То есть фактически оба устройства являются ведомыми по отношению к контроллеру.




