Хост-адаптер
Хост-адаптер SCSI является важнейшим узлом интерфейса, определяющим производительность подсистемы SCSI-устройств. Существует широкий спектр адаптеров, начиная от простейших, к которым можно подключать только устройства, не критичные к производительности. Такие адаптеры иногда входят в комплект поставки сканеров, и подключение к ним диска может оказаться неразрешимой задачей. Высокопроизводительные адаптеры имеют собственный специализированный процессор, большой объем буферной памяти и используют высокоэффективные режимы прямого управления шиной для доступа к памяти.
Конфигурирование SCSI хост-адаптеров с точки зрения шины SCSI не отличается от конфигурирования других устройств (см. выше). Для современных адаптеров вместо джамперов используется программное конфигурирование. Утилита конфигурирования обычно входит в расширение BIOS (на плате адаптера), и приглашение к ее исполнению выводится на экран при инициализации во время POST.
Как и всякая карта расширения, хост-адаптер должен быть сконфигурирован и с точки зрения шины расширения, к которой он подключается. Адаптеры SCSI существуют для всех шин: ISA (8-16 бит), EISA, MCA, PCI, VLB, PCMCIA. Существуют адаптеры для параллельного порта. Некоторые новые системные платы имеют встроенный SCSI-адаптер.
Системные ресурсы для шинного SCSI-адаптера включают:
Область памяти для расширения ROM BIOS, необходимого для поддержки конфигурирования устройств и дисковых функций. Если в системе установлено несколько однотипных хост-адаптеров, ROM BIOS для них используется с одного адаптера. Может оказаться так, что на одном компьютере заставить работать вместе несколько разнотипных хост-адаптеров не удастся.
Область портов ввода/вывода (I/O Port).
IRQ – запрос прерывания.
DMA – канал прямого доступа к памяти (для шин ISA/EISA), часто используемый для захвата управления шиной (Bus-Mastering).
SCSI устройства
Перечислить все SCSI устройства не представляется возможным, приведем только несколько их типов: жесткий диск, CD-ROM, CD-R, CD-RW, Tape (стример), MO (магнитооптический драйв), ZIP, Jaz, SyQuest, сканер. Среди более экзотических отметим Solid State disks (SSD) - очень быстрое устройство массовой памяти на микросхемах и IDE RAID - коробка с n IDE дисками, которая притворяется одним большим SCSI диском. В общем случае можно считать, что все устройства на шине SCSI одинаковы и для работы с ними используется один набор команд.
Конечно по мере развития физического уровня SCSI изменялся и программный интерфейс. Один из наиболее распространенных сегодня - ASPI. Поверх этого интерфейса можно применять драйвера сканеров, CD-ROMов, MO. Например правильный драйвер CD-ROMа может работать с любым устройством на любом контроллере, если у контроллера есть ASPI драйвер. Кстати, Windows95 эмулирует ASPI даже для IDE/ATAPI устройств. Это можно посмотреть например в программах типа EZ-SCSI и Corel SCSI.
Каждое устройство на SCSI шине имеет свой номер. Этот номер называется SCSI ID. Для некоторых целей, например у библиотек устройств CD-ROM, применяется еще LUN - логический номер устройства. Если в библиотеке 8 CD-ROM, то она имеет SCSI ID, например, 6, а логически CD-ROMы различаются по LUN. Для контроллера все это выглядит в виде пар SCSI ID - LUN, в нашем примере 6-0, 6-1, ..., 6-7 . Поддержку LUN при необходимости нужно включать в SCSI BIOS.
Номер SCSI ID обычно устанавливается с помощью перемычек (хотя в SCSI существуют и новые стандарты, аналогичные Plug&Play, не требующие перемычек). Также ими можно установить параметры: проверка четности, включение терминатора, питание терминатора, включение диска по команде контроллера.
Все устройства SCSI требуют специальных драйверов. Базовый драйвер дисковых устройств обычно входит в BIOS хост-адаптера. Расширения, например ASPI (Advanced SCSI Programming Interface), загружаются отдельно.