Интерфейсы накопителей
Первоначально для подключения накопителей к IBM PC использовались интерфейсы низкого уровня, классифицируемые как интерфейсы на уровне устройства: ST-506 (Shugart Technology), ESDI (Enhanced Small Device Interface). Для таких интерфейсов характерно, что их сигналы являются функцией генерирующего и использующего их устройства. Это позволяет использовать весьма простую электронику в самом устройстве, а основную нагрузку по обработке данных переложить на контроллер или процессор, что, естественно, негативно отражается на скоростных и прочих характеристиках подобных накопителей.
Например, для ST-506/412: Direction In (направление), Step (шаг), Head Select (выбор головки) и т.п. Более того, сигнал с носителя, включающий в себя данные и биты синхронизации, передавался через интерфейс в аналоговом виде, поскольку разделение этой информации, выполняемое специальным блоком - сепаратором, происходило в контроллере. Появление новых методов кодирования информации (RLL1) вместо MFM2) ) привело к необходимости создания ориентированных на эти методы контроллеров (RLL-контроллер вместо MFM-контроллера), причем не гарантировалась надежная работа MFM-винчестера с RLL-контроллером. В интерфейсе ESDI эта проблема была решена, поскольку сепаратор был перенесен из контроллера в само устройство. Кроме того, в интерфейсе ESDI была выделена последовательная линия Command Data для передачи 16-битных команд, что перевело взаимодействие контроллера и винчестера ESDI на более высокий уровень и позволило повысить скорость передачи данных до 20 Мбит/с.
В настоящее время распространены интерфейсы системного уровня, использующие сигналы в логике центрального процессора, что предполагает реализацию функций контроллера накопителя в самом накопителе, а устройство, сопрягающее интерфейс накопителя с системной шиной ПК, выполняет лишь роль адаптера интерфейса (моста). В IBM PC таким интерфейсом является EIDE/ATA. Он представляет собой "приставку" к 16-битной шине ISA, иначе называемой AT Bus, поэтому стандарт именуется AT Attachment (ATA).
Другое название интерфейса - Enhanced Integrated Drive Electronics (EIDE). Первая спецификация ATA (IDE) определяла возможность подключения двух устройств к одному интерфейсу. Спецификация ATA-2 (EIDE) описывает совместную работу двух интерфейсов, позволяя, таким образом, подключать до четырех устройств. С внедрением стандарта ATA-4 на поддержку пакетных команд (ATAPI - ATA Packet Interface) стало возможным подключение устройств со сменным накопителем (приводы CD-ROM/DVD-ROM, стримеры, приводы флоппи-дисков большого объема). Последующие спецификации добавляли новые скоростные режимы (табл. 14.3) и решали некоторые проблемы (табл. 14.4). После появления интерфейса SerialATA принято ссылаться на EIDE/ATA как Parallel ATA.
Режим | PIO3) | SW DMA4) | MW DMA5) | Ultra DMA | ||||||||||||||
0 | 1 | 2 | 3 | 4 | 0 | 1 | 2 | 0 | 1 | 2 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | |
Скорость, Мбайт/с | 3,3 | 5,2 | 8,3 | 11 | 16 | 2,1 | 4,2 | 8,3 | 4,2 | 13 | 16 | 16 | 25 | 33 | 44 | 66 | 100 | 133 |
Стандарт | 1 | 1 | 1 | 2 | 2 | 1 | 1 | 1 | 1 | 2 | 2 | 4 | 4 | 4 | 5 | 5 | 6 | 7 |
1 | ATA, IDE | X3.221-1994 | Накопители размером <528 мегабайт |
2 | EIDE, FastATA | X3.279-1996 | Адресация LBA 24 бита (до 8,4 гигабайт) |
3 | EIDE | X3.298-1997 | Адресация LBA 28 бит (до 134 гигабайт), SMART |
4 | ATAPI | NCITS 317-1998 | Поддержка пакетных команд (ATAPI) - поддержка CD-ROM |
5 | UltraATA/66 | NCITS 340-2000 | 80-контактный кабель |
6 | UltraATA/100 | NCITS 347-2001 | Адресация LBA 48 бит, автоматическое управление акустикой |
7 | UltraATA/133 | NCITS 361-2002 | Потоковое расширение (streaming), "длинные" сектора |
Кроме перечисленных интерфейсов, для подключения накопителей используются универсальные периферийные интерфейсы, речь о которых пойдет в следующей главе - SCSI, USB, FireWire и т.п.