Контроллеры
ESDI
По мере роста скорости работы компьютеров интерфейс ST506 перестал удовлетворять всем требованиям и в 1985 году был разработан новый стандарт - ESDI, который, по сути, являлся простым расширением возможностей своего предшественника. Кабели, используемые в спецификации ESDI, внешне не отличаются от кабелей ST506, однако сигналы по ним передаются другие.
Длина используемых в интерфейсе ESDI кабелей могла достигать 9 футов (3 метра), сигналы передавались главным образом как синфазные (с общей землей), за исключением данных и синхронизации, для передачи которых использовался дифференциальный метод. Данные передавались через последовательную линию порциями по 16 бит, сопровождаемых битом четности. Обеспечивалась также возможность подтверждения передачи данных.
Сепаратор в соответствии с новой спецификацией устанавливался непосредственно на плате винчестера и по кабелю данных передавались уже не аналоговые сигналы, а реальные данные в цифровой форме, что позволяло подобрать параметры сепаратора к конкретному типу устройства, поскольку искажения сигналов в кабеле уже не имели значения. Такой метод повышал надежность передачи данных и увеличивал скорость обмена с контроллером до 10Мбит/сек за счет передачи по кабелю цифровых сигналов. Кроме того, интерфейс ESDI обеспечивал возможность использования винчестеров большой емкости и оптических накопителей.
Интерфейс ESDI обеспечивал три сигнала выбора устройства, что позволяло подключать к нему до 7 накопителей. Сигналы выбора головки позволяли напрямую адресовать до 16 головок, однако специальная команда Select Head Group позволяла использовать до 256 головок (16 групп по 16 головок в каждой).
SCSI
Первоначальный вариант интерфейса SCSI (Small Computer System Interface) был предложен в конце 70-х годов Shugart Associates под названием SASI (Shugart Associates System Interface) взамен разработанной компанией IBM системной шины IPI (интеллектуальный периферийный интерфейс). После неудачи в конкурентной борьбе с фирмой IBM этот интерфейс был предложен комитету ANSI X3T9.2 как интерфейс нижнего уровня под названием SCSI. В 1984 году этот комитет закончил разработку спецификации SCSI-1 и в 1986 году она была опубликована в окончательном виде. Этот интерфейс обеспечивал подключение широкого класса периферийных устройств, таких как винчестеры, принтеры, сканеры, стриммеры, приводы CD-ROM и др. SCSI является интерфейсом системного, а не приборного уровня. В отличие от ST506/412 и других приборных интерфейсов с последовательной передачей информации, SCSI передает биты данных параллельно, что обеспечивает существенное повышение скорости обмена данными между устройством и хост-адаптером.
Интерфейс SCSI используется не только в IBM -совместимых компьютерах, но и семействах Macintosh, SPARC, VAX и др. Одна из причин такого широкого распространения интерфейса SCSI заключается в том, что он не накладывает никаких ограничений на связь между контроллером и периферийным устройством. Шину SCSI можно использовать для связи компьютера с несколькими периферийными устройствами (как внешними, так и внутренними). Более того, допускается совместное использование одного периферийного устройства несколькими компьютерами, подключенными к общей шине SCSI (правда это значительно сложнее сделать, чем написать, но об этом разговор особый). Подключаемые к шине SCSI устройства могут играть роль ведущих ( Initiator ) или ведомых ( Target ), при этом одно и то же устройство может быть ведомым в одних случаях и ведущим - в других. Такое разделение функций устройств позволяет организовать передачу данных с одного периферийного устройства на другое (например, резервное копирование данных с винчестера на стриммерную кассету). Обмен между устройствами по магистрали SCSI происходит в соответствии с протоколом высокого уровня и адресация осуществляется на уровне логических, а не физических (как в ESDI) блоков. Программы для работы со SCSI -устройствами не используют физические характеристики конкретного устройства (число головок, цилиндров и т.п.), а имеют дело с логическими блоками, что дает возможность работы фактически со всеми блочными устройствами.
Для подключения устройств SCSI используется кабель (как правило плоский) с 50-контактными разъемами (Приложение 3). Возможны как синфазная, так и дифференциальная (с помощью "токовой петли") передача данных по кабелю; при синфазной передаче длина кабеля может достигать 6 м, при дифференциальной - 25 м. Для гарантированной передачи сигналов по магистрали SCSI линию требуется согласовывать с помощью терминаторов (набора резисторов), устанавливаемых по обоим концам шины SCSI.
Спецификация SCSI предусматривает подключение к шине до восьми устройств, однако с учетом того, что каждое устройство может содержать 8 логических блоков, а каждый блок - 256 подблоков, возможности расширения являются фактически неограниченными. Каждое подключаемое к шине SCSI устройство имеет свой идентификатор, устанавливаемый с помощью перемычек или переключателей непосредственно в устройстве. Идентификаторы позволяют адресовать устройства и задают их приоритет (чем больше значение идентификатора, тем выше приоритет устройства).
На протяжении последних лет интерфейс SCSI был существенно расширен - появились спецификации Fast-SCSI и Wide-SCSI, обеспечивающие более высокую скорость обмена данными с устройствами SCSI. В настоящее время интерфейс SCSI используется в основном в высокопроизводительных системах, предназначенных для коллективного использования (диски файловых серверов, сканеры и т.д.)