Интерфейс SCSI
Интерфейс SCSI был разработан в конце 70-х годов и предложен организацией Shugart Associates первоначально под названием SASI (Shugart Associates System Interface). После стандартизации этого интерфейса в 1986 году уже под "именем" SCSI (читается "скази") он стал одним из важнейших промышленных стандартов для подключения "разумных" периферийных устройств, таких, как винчестеры, стримеры, сменные жесткие и оптические диски и т.п.
Интерфейс SCSI не разрабатывался специально для работы с дисковыми устройствами, он представляет собой миниатюрную сеть, построенную в пределах одного компьютера. Для подсоединения устройства любого типа с интерфейсом SCSI (а жесткие диски являются только одним из многих видов устройств, подключаемых посредством интерфейса SCSI) к PC необходимо наличие специальной платы расширения, называемой адаптером SCSI (SCSI Host Adapter). Эта, карта расширения используется в качестве моста между системной шиной.PC и шиной SCSI. Накопители с интерфейсом SCSI, с другой стороны, обладают большей емкостью и скоростью, но за это придется не только заплатить дополнительные деньги, но и преодолеть трудности, связанные с их установкой в PC. Необходимо отметить, что SCSI — интерфейс системного, а не приборного уровня, поскольку протокол определяет только логический и физический уровень. В отличие от последовательных приборных интерфейсов ST506/412 и ESDI (где информация между накопителем и контроллером передается бит за битом) SCSI осуществляет параллельную пересылку данных. Это, в частности, позволяет существенно повысить скорость обмена. Контроллеры SCSI применяются не только в IBM PC-совместимых компьютерах, но и других платформах.
|
По существу, шина SCSI представляет собой две отдельные шины, объединенные мостом. На рис. 17 эта структура отображена графически.
Как видно из этого рисунка, управляющий адаптер шины SCSI подключается к системной шине ISA через ее разъем. К этому адаптеру могут подключаться как внутренние (например, жесткий диск), так и внешние устройства, имеющие разъемы шины SCSI.
В некотором смысле шину SCSI можно рассматривать как небольшую локальную вычислительную сеть. Основное различие между шиной SCSI и обычной локальной вычислительной сетью (ЛВС) состоит в том, что ЛВС (Local Area Network, LAN) обычно используется для соединения нескольких PC (или, возможно, для подключения их к файловому серверу), в то время как PC, на котором установлен адаптер шины SCSI, является единственным универсальным компьютером, который может быть подключен к этой шине. Каждое устройство, имеющее разъем шины SCSI, фактически содержит в своем составе маленький специализированный компьютер, реализующий функции контроллера интерфейса SCSI. Но этот компьютер может решать только одну задачу, а именно, обеспечение связи данного периферийного устройства с адаптером шины, установленным в PC, и возможно с другими устройствами, подключенными к шине SCSI.
Следует заметить, что SCSI не накладывает никаких ограничений на связь между контроллером и периферийным устройством. Устройства, подключаемые к шине SCSI, могут выступать в двух ипостасях: Initiator (ведущий, например компьютер) и Target (ведомый, например винчестер), причем одно и то же устройство может быть как ведущим, так и ведомым. В стандарте выделяются четыре схемы подключения устройств: один ведущий и один ведомый, один ведущий и несколько ведомых, несколько ведущих и один ведомый, несколько ведущих и несколько ведомых. К шине одновременно может быть подключено до восьми устройств, в том числе основной (хост) адаптер SCSI. Если необходимо подключить более семи устройств, то следует использовать второй хост-адаптер. Большинство систем позволяет использовать до 4 хост-адаптеров, таким образом, общее количество периферийных устройств достигает 28.
Однако на практике не рекомендуется "смешивать" адаптеры различных фирм-производителей.
Хост-адаптер SCSI имеет собственную BIOS (базовую систему ввода-вывода), которая занимает обычно 16 Кбайт в верхней области памяти UMB (Upper Memory Block). Замена системной BIOS позволяет адаптеру работать не с двумя, а с семью приводами (например, Adaptec I1540C). Тем не менее стоит отметить, что некоторые адаптеры ограничиваются поддержкой только двух накопителей. В этом случае, правда, можно воспользоваться специальным программным драйвером.
Для осуществления обмена с процессором адаптер SCSI использует такие системные ресурсы, как порты ввода-вывода, прерывания IRQ и каналы прямого доступа в память DMA.
Физически SCSI-шина представляет собой плоский кабель с 50-контактными разъемами для подключения периферийных устройств. Хост-адаптер, как правило, имеет разъемы для подключения не только встраиваемых, но и внешних SCSI-устройств. Стандарт SCSI определяет два способа передачи сигналов — синфазный и дифференциальный. В первом случае сигналы на линиях имеют ТТЛ-уровни (транзисторно-транзисторной логики) и отрицательную логику, то есть логической единице соответствует низкий уровень напряжения. Длина кабеля в этом случае ограничена 6 м. Версии шины SCSI с дифференциальной передачей сигнала ("токовой .петлей") дают возможность увеличить длину шины до 25 м, однако до недавнего времени они были менее распространены. К тому же все "недисковые" SCSI-устройства используют, как правило, интерфейс с синфазными сигналами (общей "землей"). Разумеется, что при использовании устройств как с синфазным, так и с дифференциальным способами передачи сигналов для каждого из них необходим свой хост-адаптер. Хост-адаптер (host adapter) SCSI, который вставляется в разъем системной шины PC, представляет собой аппаратный интерфейс, осуществляющий передачу данных между системной шиной PC и устройствами, подключенными к шине SCSI. В его задачу входит посылка и получение сообщений, посылаемых на языке интерфейса SCSI по шине SCSI, и одновременно посылка и получение сообщений по системной шине PC, использующей свой протокол обмена информацией.
Поскольку поддержка функциональных возможностей интерфейса SCSI не была изначально предусмотрена в PC, в BIOS материнской платы нет программного обеспечения для реализации этой функции. Поэтому, чтобы адаптер шины SCSI мог работать, на нем должна быть установлена микросхема ROM, в которой записана его собственная BIOS, или, прежде чем вы сможете получить доступ к устройствам, подключенным к шине SCSI, вам придется загрузить соответствующее программное обеспечение с не-SCSI диска.
Чтобы гарантировать качество сигналов на магистрали SCSI, линии шины должны иметь согласование с обеих сторон (наборы согласующих резисторов, или терминаторы). На это следует обращать особое внимание при подключении новых SCSI-устройств. Терминаторы должны быть установлены на хост-адаптере и на последнем устройстве в "гирлянде" магистрали. Обычно используется один из трех методов согласования: пассивное согласование линии при помощи резисторов; улучшенное согласование с исключением перегрузок FPT (Force Perfect Termination), с применением ограничительных диодов; активное согласование, использующее регуляторы напряжения.
SCSI-шина имеет восемь линий данных, сопровождаемых линией четности, и девять управляющих линий. На шине, предназначенной для синфазной передачи, все нечетные контакты должны быть подключены к контакту "корпус" (нулевой потенциал). Многие адаптеры имеют перемычки для разрешения или запрещения использования сигнала четности.
Каждое устройство на магистрали SCSI имеет свой адрес (SCSI ID) в диапазоне от 0 до 7. В качестве адреса платы хост-адаптера обычно используется SCSI ID=7.
Обмен между устройствами на магистрали SCSI происходит в соответствии с протоколом высокого уровня. Стандарт SCSI содержит нормированный список команд CCS (Common Command Set), Этот универсальный набор команд обеспечивает доступ к данным с помощью адресации логических, а не физических блоков, как, например, в интерфейсе ESDI. Программное обеспечение для интерфейса SCSI не оперирует физическими характеристиками винчестера (то есть числом цилиндров, головок и т.
д.), а имеет дело только с логическими блоками. Понятно, что именно это и дает возможность работать практически с любыми блочными устройствами.
На магистрали SCSI возможны синхронные и асинхронные передачи. Конечно, передача данных в синхронном режиме осуществляется быстрее. Так, скорость передачи данных по шине 8-разрядной SCSI достигает 1,5 Мбайта/с в асинхронном и 3—4 Мбайт/с в синхронном режиме.
Дальнейшим развитием спецификации SCSI стал стандарт SCSI-2. Он предлагал для данного интерфейса большую гибкость и производительность. В спецификацию CSS были включены команды, поддерживающие такие устройства, как приводы CD-ROM, сканеры, коммуникационные устройства, оптические накопители.
Для повышения производительности в спецификацию SCSI-2 был введен так называемый широкий (Wide) вариант шины данных, предусматривающий наличие дополнительных 24 информационных линий. Так появился Wide SCSI-2. В этом случае 8-разрядные устройства продолжают взаимодействовать по магистрали SCSI, использующей 50-проводный кабель (кабель А), а устройства большей разрядности связываются дополнительным 68-проводным кабелем (кабель В) (рис. 18). Надо отметить, что ограничение "широкого" варианта SCSI-2 состоит в том, что он может надежно работать только при реализации дифференциального варианта SCSI.
Рис 18 Интерфейс SCSI
Для повышения пропускной способности магистрали SCSI было предложено увеличить тактовую частоту обмена примерно в два раза за счет сокращения критических временных параметров шины, применения новейших БИС, высококачественных кабелей и активного согласования линий. Реализуемый таким образом "скоростной" (Fast) SCSI-2 повысил производительность магистрали до 10 Мбайт/с. Совместное использование Fast и Wide (32-разряда) SCSI-2 теоретически позволяет достичь быстродействия до 40 Мбайт/с. Кстати, на практике вместо кабелей А и В производители используют кабели Р (16- и 32-разрядный Wide SCSI) и Q (32-разрядный Wide SCSI), которые определены только в будущем стандарте SCSI-3.
Дело в том, что 68-контактный Р-кабель заменяет кабели А и В для 16-разрядного варианта Wide SCSI-2. Новы вариант интерфейса — Ultra SCSI, для 8- разрядной передачи обеспечивает скорость 20 Мбайт/с, а для 16-разрядной — 40 Мбайт/с.
Разумеется, максимальная производительность может быть достигнута, когда плата хост-адаптера реализована для системной EISA-шины и/или локальных VL-bus- и PCI-шин. Устаревшая ISA-шина слишком медленна даже для варианта Fast SCSI-2, поскольку может обеспечить скорость обмена около 2 Мбайт/с. Кстати, одно из преимуществ использования SCSI-винчестеров состоит в том, что они спокойно "уживаются" с другими типами интерфейсов: ST506/412, ESDI, ATA, так как могут использовать отличные от них системные ресурсы компьютера.
Разумеется, не все различия между интерфейсами SCSI и SCSI-2 перечислены здесь. Ряд изменений внесен и в логический протокол, например введена возможность организации очереди команд. Заметим, что окончательная редакция стандарта SCSI-2 была принята только в январе 1994 года, а в 1995 была утверждена уже спецификация SCSI-3. Она отличается возможностью подключать большее количество устройств (более 7) и допускает использование более длинного кабеля. В частности, в спецификации выделен последовательный вариант SCSI. Возможны три варианта его реализации: Serial Storage Architecture, P1394, или FireWare, и Fibre Channel. Последний, кстати, основан на оптических линиях связи. Скорость передачи от 51 Мбита/с до 1 Гбита/с.
Здесь следует также отметить, что существует спецификация ASPI (Advanced SCSI Programming Interface), которую разработала фирма Adaptec — ведущий производитель адаптеров SCSI. ASPI определяет стандартный Программный интерфейс для хост-адаптера SCSI, то есть позволяет ему общаться с соответствующей операционной системой. Программные модули ASPI (вторичные драйверы) устанавливаются для каждого отдельного устройства. Они обеспечивают взаимодействие периферийных устройств с главным адаптером. Итак, основным программным модулем ASPI является ASPI хост-менеджер.С нимi связываются вторичные драйверы ASPI, например для таких устройств, как приводы CD-ROM, оптические и сменные жесткие диски, сканеры и т.д.
В случае если производитель SCSI-устройства поставляет ASPI-совместимый драйвер, гарантируется его совместимость со всеми хост-адаптерами или интерфейсными картами Adaptec и большинства других производителей. К сожалению, в ряде случаев производители (например, приводов CD-ROM) поставляют свою карту контроллера с собственным (несовместимым с ASPI) драйвером, называя интерфейс SCSI. Это следует иметь в виду, если вы хотите подключить к SCSI другие устройства.
Другая спецификация — SCAM (SCSI Configuration Auto Magically) — позволяет упростить настройку SCSI-устройств и скрыть от пользователя некоторые ее детали.
Ведущими производителями адаптеров SCSI помимо Adaptec являются такие фирмы, как Future Domain, Distributed Processing Technology (DPT), NCR и т.д.