Курсовая работа: Интерфейс Serial ATA
1 Семейство IDE - контроллеров
1.1 IDE / ATA
Интерфейс IDE был разработан в 1988 году в качестве альтернативного ответа на практически безуспешные в то время попытки фирм-производителей создать, стандартное программное обеспечение для периферийных SCSI-устройств. Группа промышленный предприятий образовала Комитет общих методов доступа САМС (CommonAccessCommitte) с целью разработки интерфейса ATA(ATAttachment— подключение к АТ). Который можно было бы встраивать в недорогие, совместимые с AT системные платы, Комитет САМС разработал стандарт (описание) интерфейса, который впоследствии был одобрена Национальным институтом стандартизации США (ANSI — AmericanNationalStandardInstitute). Термин ЛТЛ-интерфеис вобщем случае характеризует тип интерфейса и может относиться как к накопителю, так и к контроллеру. Это означает, в частности, что для IDE- накопителя необходим IDE-контроллер.
Несмотря на то, что, на сегодняшний день разработано несколько разновидностей интерфейсов семейства IDE (EIDE, UDMA/33, UDMA/66, UDMA/100 и UDMA/133), все они относятся к одному IDE-типу
Термины IDE и АТА являются практически синонимами. И та, и другая аббревиатура относится к дисковым накопителям со встроенными контроллерами. Они радикальным образом отличались от предшественников — жестких дисков с интерфейсами ST5O6/4I2 и ESDI( EnhancedSmallDeviceInterface — улучшенныйинтерфейс малых устройств), в которых нужна была отдельная плата контроллера. Такой подход привел к снижению стойкости интерфейса и упрощению аппаратно-программных средств компьютеров. Интерес IDE оказался настолько дешевой и легко конфигурируемой системой, что его появление привело к настоящему буму в промышленности, производящей жесткие диски
Хотя термины IDE и АТА чаше всего используют как синонимы, между ними, все же, есть разница. АТА— это формальный стандарт, в котором определены характеристики и принципы работы интерфейса и накопителей, aIDE— это торговая марка и конструктивное решение, этапное для реализации стандарта АТА (40-контактный интерфейсный разъем, и т.п.).
Характерные черты и архитектура классического IDE -интерфейса. IDE-накопители считаются интеллектуальными устройствами, поскольку почти все функциональные узлы, которые в системах с накопителями старых типов располагались отдельной плате-адаптере, встроены в сам IDE-накопитель. Данные передаются через единый кабель, подключенный к контроллеру(он может представлять собой как отдельное устройство, так и быть смонтированным на системной плате), который, в свою очередь, подключен к системной шине расширения ISA(IndustrialStandardArchitecture—архитектура промышленного стандарта)или PCI(PeripheralComponentInterconnect— соединение внешних устройств). Схемотехника внешних по отношению к IDE-накопителям устройств настолько проста, что практически во всех комплектах (chipset)интегральных схем современных системных плат предусмотрены двухканальные IDE-контроллеры, и надежность в отдельных платах расширения практически отпала. По современным меркам контролеры с классическим IDE-интерфейсом работают довольно медленно: скорость передачи данных едва превышает 10 Мбайт/с. Емкость накопителей со стандартным IDE-интерфейсом ограничена величиной 504 Мбайт. (В EIDE и более поздних версиях IDE-интерфейса традиционный барьер в 504 Мбайт преодолен, и емкости накопителей могут превышать 32 Гбайт). Интерфейс IDE лишен гибкости и возможностей наращивания, присущих стандарту SCSI, но по сравнению с ним стоит существенно дешевле. Поэтому его часто используют в простых, недорогих компьютерах низкого и среднего класса, возможно в ПК, которых не предполагается существенно наращивать. Изначально интерфейс IDE разрабатывался для накопителей на жестких дисках, однако впоследствии он стал использоваться и для подключения дисководов CD-ROM и накопителей на магнитной ленте, работающих в соответствии с протоколом обмена данными АТАРI(АТА PacketInterface — пакетный интерфейс АТА). В компьютерной литературе много говорится об интеллектуальных возможностях IDE-интерфейса. Они определяются теми функциями, которые способен выполнять Кроенный в накопитель контроллер. В этой книге, говоря об интеллектуальных возможностях интерфейса IDE, мы будем подразумевать следующие. Во-первых, интеллектуальные IDE-накопители способны работать в режиме преобразования параметров. Это означает, подпрограмме настройки параметров BIOSBasicInput/OutputSystem — базовая система вы можете вводить в память CMOS любую комбинацию параметровжесткого диска (количество цилиндров, головок и секторов). При этом должно соблюдаться одно условие: суммарное количество секторов в модели не должно превышать реальное количество секторов в накопителей. Преобразование параметров приобретает особое значение в тех случаях, когда реальное количество цилиндров в накопителе превышает 1024 (что характерно для всех современных IDE-накопителей). Неинтеллектуальные IDЕ-накопители могут работать только в «физическом» режиме. CMOS параметры должны соответствовать реальным параметрам жесткого диска. Во-вторых, в интеллектуальных накопителях предусмотрена поддержка нескольких дополнительных команд, которые входят в необязательную часть стандарта АТА.
Еще одной особенностью технологии интеллектуального IDE-интерфейса являет зонная запись, позволяющая разбивать дорожки на переменное количество секторов. Bрезультате появляется возможность увеличить общее количество секторов, а значит и суммарную емкость накопителя. Поскольку BIOS может работать только с жесткими дисками с фиксированным количеством секторов на дорожке, IDE-накопители с зонной записью всегда должны функционировать в режиме преобразования параметров. IDЕ-накопитель работает в режиме преобразования параметров, то вы не в состоянии изменить коэффициент чередования секторов.
Компоновка типичного IDE-контроллера показана на рис. 1. Стандартный IDE-накопитель подключается к контроллеру с помощью 40-жильного кабеля. (В старых разработках 1ВМ использовался 44 или 72-жильный кабель). Этот сигнальный кабельпредназначен для передачи данных и управляющих сигналов между накопителем и контроллером. Как и в SCSI-устройствах, в IDE-накопителях для обеспечения параметров линий связи и электрических характеристик сигналов также устанавливаются нагрузочные сопротивления, но они, в отличие от согласующих резисторов в интерфейсе SCSI, обычно впаяны в плату и не могут быть удалены. В большинстве случаев два накопителя IDE/EIDEтипа могут работать совместно при наличии согласующих сопротивлений в каждом из них, Если на накопителе имеются перемычки выбора режима, то с их помощью конкретное устройство можно сделать либо ведущим (master),либо ведомым (slave).
Рисунок. 1. Плата типичного двухканального контроллера Ultra-DMA/66
Значение выводов разъемов 40-жильного изолированного сигнального кабеля накопителя приведено в таблице. 1. В отличие от распространенных ранее интерфсй-Т506/412 и ESDI(EnhancedSmallDeviceInterface — улучшенный интерфейс малыхустройств), в интерфейсе IDE для передачи сигналов используются как четные, так и нечетные проводники кабеля.
Отметим также, что перед обозначением большинства управляющих сигналов стоит знак «—». Это означает, что активный уровень данного сигнала 6—т.е. значению «истина» соответствует уровень логического нуля. Уровни всех передаваемых по кабелю сигналов управления соответствуют транзисторной (TTL) логике, т.е. уровню логического нуля соответствует полное напряжение от 0 до 0,8 В, а логической единицы — напряжение от +2,0 В до напряжения питания.
Таблица 1. Назначение выводов разъема интерфейса IDE
Наименование сигнала | Вывод | Наименование сигнала |
Reset | 2 | Общий |
DD7 | 4 | DD8 |
DD6 | 5 | DD9 |
DD5 | 8 | DD10 |
DD4 | 10 | DD11 |
DD3 | 12 | BB12 |
DD2 | 14 | BB13 |
DD1 | 16 | DD14 |
DD0 | 18 | DD15 |
Общий | 20 | Отсутствует |
DMARQ | 22 | Общий |
-I/O Write Data (-DIOW) | 24 | Общий |
-I/O Read Data (-DIOR) | 26 | Общий |
-I/O Chanel Ready (-IORDY) | 28 | Общий |
-DMA Acknowledge (-DMASK) | 30 | Общий |
Interrupt Request (INTRQ) | 32 | -Host 16-bit I/O (IOCS16) |
DA1 | 34 | -Passed Diagnostic (-PDIAG) |
DA0 | 36 | DA2 |
-Host Chip Sel 0 (-CS1FX) | 38 | -Host Chip Sel 1 (-CS3FX) |
-Drive Active (-DASP) | 40 | Общий |
Выбор точек ввода данных и регистров в IDE-накопителе осуществляется с помощью адресной шины накопителя (DriveAddress Вus) DA0-DA2 (выводы 35, 33 и 36 соответственно) в сочетании с входами выбора микросхемы накопителя (HostChipSet)-CS1FXS3FX (выводы 37 и 38). При появлении активного уровня сигнала на управляющей.
J-D10R(I/OReadData — ввод/вывод, чтение данных, вывод 25) накопитель выполняя считывания, а при появлении управляющего сигнала на линии -DIOW(I/OWrite ввод/вывод, запись данных, вывод 23) — цикл записи. В отличие от прежних интерфейсов, которые были последовательными, т.е. преобразование данных в параллельный (Осуществлялось внешним контроллером). В интерфейсе IDE предусмотрено 16 двунаправленных линий передачи данных в накопитель или из нее (DDO-DD1: выводы с 3 по 18). После окончания передачи данных интегральная схема (ИС) контролера жесткого диска выдает в накопитель сигнал подтверждения –DMACK. Наконец, при подаче сигнал сброса (Reset, вывод 1) накопитель переходя в исходное состояние, т.е. то, в котором он находится после включения питания. Сим сброса подается при включении питания и при перезагрузке компьютера.
Часть линий интерфейса IDE используется для передачи управляющих сигналов в обратном направлении, т.е. от накопителя к контроллеру. Сигнал запроса прямого доступа к памяти DMARQ(DirectMemoryAccessReQuest,вывод 21) используется для инициализации передачи данных в накопитель или из него. Направление передачи данных определяется состоянием входов -DIOR и –DI0W. Сигнал -DMACK выдается после того, когда DMARQ переходит в активное состояние. Сигнал готовности канала ввода/вывода-IORDY(I/OchannelReaDY,вывод 27) используется для привлечения внимания в тех случаях, когда накопитель еще не готов ответить на запрос о передаче данных, Запрет прерывания INTRQ(INTerruptReQuest,вывод 31) выдается накопителем в тех случаях, когда он ожидает ответа от системы
(готовится к операции обмена данными с контроллером). Сигнал занятости накопителя -DASP(DriveActive,вывод 39) принимает значения логического «О» в случае какой-либо активности жесткого диска. Сигнал прохождения диагностики -PDIAG(PassedDIAGnostics, вывод 34) появляется после выполнения любой диагностической команды или сброса накопителя. Если уровень сигнала -PDIAG ниже (логического «О»), то система полагает, что накопитель готов к работе. Наконец, сигнал состоят 16-разрядного ввода/вывода -IOCS 16 (Host 16-bit I/O,вывод 32) используется для информирования контроллера о том, что накопитель готов к передаче или приему информации. Помимо сигнальных линий, в кабеле имеется несколько шин общего провода (выводы! 19, 22, 24, 26, 28, 30 и 40), а также ключ (20) — срезанный вывод в приборной (штыревой! части разъема).
Подключение накопителей к интерфейсе IDE / EIDE . В стандарте АТА предусмотрено параллельное подключение двух накопителей к аи дому каналу (кабелю) IDE-интерфейса. На рисунке. 2 показан типичный кабель, используемый для соединения накопителей с IDE-контроллером. По традиции ведущий накопитель подключают к концевому разъему кабеля, а ведомый — к среднему. На самом деле это не более чем дань единообразию, поскольку сточки зрения IDE-интерфейса оба разъем! эквивалентны, и любой накопитель может быть подключен к любому из них. Необходимо лишь с помощью перемычек строить накопитель как ведущий или ведомый, Длина плоского кабеля с 40-контактными разъемами не должна превышать 60 см. Поскольку в IDEнакопителях для обеспечения необходимых параметров электрических сигналов иcпользуется так называемая распределенная нагрузка(т.е. нагрузочные резисторы устанавливаются во всех устройствах), нет необходимости устанавливать или удалять кие либо согласующие сопротивления. Несмотря на всю простоту IDE-интерфейса, в некоторых случаях вы можете, столкнуться с определенными проблемами при совместном подключении двух накопителей Старые IDE-накопители не вполне соответствуют стандартам САМ С ATAIDE. Присоединении к одному кабелю двух старых жестких дисков (особенно если они выпущены разными фирмами) из-за различий в интерпретации настроек ведомый/ведущий междуними может возникнуть конфликт, в результате которого оба накопителя в большинстве случаев окажутся неработоспособными. При подключении двух IDE-накопителей старайтесь использовать новые устройства, выпущенные одной и той же фирмой.
ведущий ведущий
Рисунок 2. Шлейф передачи данных и сигнала управления интерфейса IDE/EIDE
1.2 ATAPI
Одним из существенных недостатков стандарта АТА было то, что он предназначался только для жестких дисков. В конце 1980-х годов в связи с широким распространением дисководов CD-ROM перед разработчиками возникла серьезная проблема. Нужно было найти способ подключения этих устройств и других накопителей (например, на магнитной ленте) к существующим IDE-интерфейсам, либо изобретать специализированные интерфейсы контроллеров. В результате был разработан стандарт ATAPI, являющийся расширением интерфейса АТА и позволяющий подключать к обычному IDE-порту не только жесткие диски, но и другие устройства. Впрочем, разница между жесткими дисками и прочими устройствам и все же существует. Если поддержка первых предусмотрена в системной, то для работы остальных АТАРI -устройств нужны специальные драйверы. Загрузка компьютера с АТАР1 -дисковода CD-ROM возможна только с накопителей, соответствующих стандарту EIDE, и при использовании в компьютере последних версий BIOS.
1.3 ATA -2, FAST - ATA и EIDE
Вначале 1990-х годов технологии производства накопителей на жестких дисках древнего уровня, что стало ясно — архитектура АТА в самом скором времени перестали соответствовать их возможностям. Выходом из сложившейся ситуации стала стандарта АТА-2, который можно рассматривать как расширение первоначальной версии АТА. Внесенные в новый стандарт дополнения существенно улучшили параметры интерфейса. В нем определены более быстрые режимы передачи данных программного ввода/вывода (Р I/O— Programmed I/O)и с использованием прямого доступа к памяти(DMA), добавлены новые команды для накопителя (в частности, команда “IdentifyDrim”, позволяющая BIOS автоматически распознавать тип и определять параметры жесткого диска, введен второй канал для подключения дисководов, предусмотрен специальный режим блочной передачи данных (BlockTransferMode)и определены новые способы обращения к секторам на жестком диске с использованием логической адресации блоков (LBA— LogicalBlockAddressing).Логическая адресация блоков стала самым эффективным средством для преодоления традиционно существовавшего ограничения емкости жесткого диска в 504 Мбайт. Несмотря настоль впечатляющие усовершенствования, в стандарте АТА-2 для подключения накопителей используются те же самые 40-контактные разъемы, что и в предыдущей версии, а старые IDE-накопители полностью совместимы с новым интерфейсом. Наряду с АТА-2, можно встретить два других названия этого интерфейса: EIDE (EnhancedIDE— улучшенный IDE)и Fast-ATA(быстрый А ТА).Это не другие стандарты, а просто разные реализации стандарта АТА-2. Версия E1DE была разработана фирмой WesternDigital на базе как стандарта АТА-2, так и ATAPI. Она оказалась настолько удачной, что аббревиатурой EIDE стали обозначать все модернизированные варианты интерфейса IDE. Фирмы Seagate и Quantum сосредоточили свои усилия на разработке реализации Fast-ATA стандарта АТА-2.
Ее отличие от EIDE заключается в том, что она разрабатывалась только на основе стандарта АТА-2. С практической точки зрения разницы между АТА-2, EIDE и Fast-ATAнет, поэтому часто эти названия используются как синонимы (хотя с технической точки зрения это не совсем корректно).
Ограничение емкости накопителей на уровне 504 Мбайт в классическом IDE -интерфейсе. Предел в 504 Мбайт (528 Мб в десятичных единицах), являющейся, возможно, наиболее существенным ограничением в рамках традиционной IDE-архитектуры, возник из-за несогласованности действий разработчиков BIOS и создателей архитектуры контроллера накопителей WDI003. Чтобы уяснить суть этого ограничения, необходимо понять, как осуществляется адресация данных в IDE-накопителях. Классической схемой адресации является схема CHS(Cylinder, Head, Sector— цилиндр, головка, сектор). Проще говоря, необходимо ввести в регистры контроллера WDI003 необходимые вам номер цилиндра, номер головки и номер сектора, а затем через программное прерывание 1NTI3 вызвать из BIOS процедуру, перемещающую головки накопителя на заданный сектор для считывания или записи информации.
В теории все выглядит прекрасно, но на практике возникает проблема. Дело в том, чтопредельные значения количества цилиндров, головок и секторов в BIOS и в контроллере WD1003 разные. В табл. 2 приведены эти значения и показаны итоговые ограничения на доступное дисковое пространство накопителя с классическим IDE-интерфейсом. В BIOS определены следующие максимальные значения: 1024 цилиндров, 256 головок и 63 сектора на дорожку. Если перемножить все эти числа, а результат затем умножить на 512 (количество байт в секторе), то получается, что теоретический предел ограничения емкости накопителя на уровне BIOS составит 8 455 716 864 байт (примерно 7,88 Гбайт или 8,4 Гб в десятичных единицах). Контроллер WD1003 может работать с 65536 цилиндрами, 16 головками и 256 секторами на дорожке, т.е. теоретическая емкость накопителя составляет 128 Гбайт (137 Гб).