Интерфейс SCSI

В начале 1970-х годов для мини-ЭВМ (по тем временам это действительно была мини-ЭВМ) был разработан интерфейс SCSI (читается «скази»), название которого расшифровывается как Small Computer System Interface. Опять же, в названии видна его «портативность». Первоначальный вариант предполагал скорость обмена 5 Mb/s, а устройства подключались с помощью 50-проводного кабеля. В последствии в SCSI вносились различные дополнения и усовершенствования, повышающие скорость обмена — сегодняшние SCSI-контроллеры поддерживают скорости до 160 Mb/s, то есть больше, чем стандартная шина PCI. А самый первый стандарт SCSI, понятное дело, уже устарел и сейчас о нем практически никто не помнит. Вариантов SCSI довольно много, и все они имеют различные и запутанные названия (ситуация практически такая же, как и с IDE), поэтому мы не будем рассматривать каждый отдельно, а сведем основные положения в таблицу.

Общая часть названия Ее значение
Fast SCSI, или SCSI-2 Частота шины 10 Mhz
Ultra Частота шины 20 Mhz
Ultra2 Частота 40 Mhz. Не совместим с предыдущими
Wide Ширина шины увеличена до 16 бит (в не Wide варианте — 8 бит)

Пропускную способность легко подсчитать: для этого нужно просто взять численное значение частоты, а в случае Wide умножить его на два. Например, контроллер UltraSCSI (часто говорят Ultra SCSI-2) имеет скорость 20 Mb/s. Данные таблицы уже в некоторой степени устарели, так как, согласно ней, максимум составляет 80 Mb/s (Ultra2 Wide SCSI, или просто UltraWide SCSI, так как сейчас не выпускаются контроллеры Wide SCSI не Ultra2, и Ultra по умолчанию подразумевает Ultra2), а уже широкое распространение получила скорость 160 Mb/s (такой стандарт называется Ultra160 SCSI). Эти стандарты доступны только с интерфейсом LVD (Low Voltage Differential), обеспечивающим повышенную помехозащищенность и увеличенную допустимую длину кабеля SCSI.

Вот типичные разъемы, которые можно встретить на SCSI-контроллерах:

Внутренние

Low-Density 50-pin
Подключение внутренних медленных устройств — старых HDD, почти всех CD/DVD-ROM, CD-R, MODD, ZIP и т. д. (как IDE, только на 50 контактов)

High-Density 68-pin
Подключение внутренних wide-устройств, в основном HDD
Внешние

DB-25
Подключение внешних медленных устройств, в основном сканеров, IOmega Zip Plus. Наиболее распространен на Mac. (как у модема). Устарел

Low-Density 50-pin
Или Centronics 50-pin. Внешнее подключение сканеров, стриммеров, обычно SCSI-1 (самый первый вариант SCSI). Как и сам SCSI-1, уже устарел

High-Density 50-pin
Или Micro DB50, или Mini DB50. Стандартный внешний разъем для подключения сканеров, внешних CD-ROM, старых HDD и т. п.

High-Density 68-pin
Или Micro DB68, Mini DB68. Cтандартный внешний wide разъем, в основном для подключения HDD

High-Density 68-pin
Аналогичен предыдущему (практически нигде не применяется)

Существует также еще один тип разъема — CL, или Single Connector имеющий 80 контактов. Single Сonnector используются в основном в host-swap (когда может потребваться горячая замена устройства) конфигурациях, так как объединяют сигналы SCSI-питания и заземления в одном разъеме.

Кроме вышеуказанных интерфейсов существует еще так называемый Serial SCSI, работающий на основе технологии Fibre Channel. Устройства соединяются с контроллером с помощью 6-жильного кабеля и могут обмеиваться на скоростях 100 Mb/s и более. На контроллерах Serial SCSI (также часто его называют SCSI-3) есть и обычные разъемы narrow и wide, что позволяет подключать и стандартные устройства SCSI. Fibre Channel более похожа на сетевой стандарт, чем на интерфейс для подключения носителей; в нем используется последовательная передача данных. Более подробно о технологии Fibre Channel смотрите статье Технология Fibre Channel.

Для работы любого устройства, как известно, необходима программная поддержка. Для большинства IDE-устройств она встроена в BIOS материнской платы, для остальных необходимы драйвера под различные операционные системы. У SCSI-устройств все немного сложнее. Для первичной загрузки со SCSI жесткого диска и работы в DOS необходим свой SCSI BIOS. Здесь есть 3 варианта:

  • Микросхема со SCSI BIOS есть на самом контроллере (как на видеокартах). При загрузке компьютера она активизируется и позволяет загрузиться со SCSI жесткого диска или, например, CD-ROM, MO. При использовании нетривиальной операционной системы (Windows NT, OS/2, *nix) для работы с устройствами SCSI всегда используются драйвера. Также они необходимы для работы устройств, не являющихся жесткими дисками, под DOS
  • Образ SCSI BIOS прошит в Flash-BIOS материнской платы. Обычно в BIOS платы добавляют SCSI BIOS для контроллеров на основе наиболее распространенных чипов. Ее можно перепрошивать и тем самым и изменять версию SCSI BIOS на более новую. При наличии на материнской плате SCSI-контроллера используется именно такой подход. Этот вариант также более выгоден экономически — контроллер без микросхемы BIOS стоит дешевле.
  • SCSI BIOS нет вообще. Работа всех SCSI-устройств обеспечивается только драйверами операционной системы. Загрузка с них, естественно, невозможна. Такой подход используется при создании собственного контроллера для какого-либо внешнего устройства (например, сканера), то есть когда загрузка с устройства не имеет смысла и использование дрйверов предполагается в любом случае

Кроме поддержки загрузки со SCSI устройств, BIOS обычно выполняет еще несколько функций: настройка конфигурации адаптера, проверка поверхности дисков, форматирование на низком уровне, настройка параметров инициализации SCSI-устройств, задание номера загрузочного устройства и так далее. В SCSI BIOS часто необходимо также хранить конфигурацию SCSI-устройств. Эту роль обычно выполняет маленькая микросхема типа 93C46 (flash). Подключается она к основному SCSI-чипу. У нее всего 8 ножек и несколько десятков байт памяти, однако ее содержимое сохраняется и при выключении питания (аналогично CMOS на материнской плате). В этой микросхеме SCSI BIOS может сохранять как параметры SCSI-устройств, так и свои собственные установки. В общем случае ее присутствие не связано с наличием микросхемы со SCSI BIOS, но, как показывает практика, обычно их устанавливают вместе.

Существуют также мощные контроллеры для серверов. Кроме обязательной поддержки самых скоростных режимов они обычно имеют поддержку RAID, горячей замены дисков и дополнительный SCSI-канал, что позволяет увеличить количество подключаемых устройств. Часто еще устанавливают аппаратный кэш величиной этак мегабайта в 32, 64 или больше. На картинке слева вы можете наблюдать такой контроллер от фирмы ASUSTeK (хорошая, к слову сказать, фирма). На его плате очень хорошо виден 486-й процессор, который, видимо, и пытается всем этим добром управлять.

Еще на плате контроллера SCSI можно встретить светодиод активности SCSI-шины и/или разъем для его подключения, а если есть поддержка кэша, то иногда и слоты для модулей памяти. Бывает, что ставят еще дополнительный IDE-контроллер, звуковую карту или VGA-карту. На очень старых контроллерах иногда можно найти разъемы для подключения дисководов для дискет.

К различным не слишком торопливым устройствам (обычно сканерам) в комплекте часто прилагается свой SCSI-контроллер. Как правило, он имеет предельно упрощенную конфигурацию: рассчитан только на одно устройство и работает только с ним, не имеет BIOS, работает только со своим драйвером и без прерываний (polling mode). С экономической точки зрения это вполне оправданно, так как предоставляет достаточно много возможностей (понятно, что даже самый примитивный вариант SCSI лучше, чем LPT или USB) при минимальных зарплатах. Но, с другой стороны, это и не есть хорошо, потому что ничего, кроме своего родного устройства со 100%-й гарантией использовать не удастся. Хотя это никому особенно и не нужно — все равно скорость работы таких карточек невелика и при реальной потребности в SCSI придется покупать что-то более серьезное.

Устройства подключаются к контроллеру соответсвующим (narrow или wide) кабелем по цепочке (аналогично IDE). Это относится и к внешним устройствам, только здесь можно провести аналогию с последовательным подключением, скажем, сканера и принтера к параллельному порту. Не сдедует обращать особого внимания на скоростные показатели носителей, так как в большинстве случаев действует правило: «Если разъем подходит, значит будет работать».

Правда, в таком случае возможно замедление работы шины, поэтому, если есть возможность, лучше подключать медленные устройства к одному разъему, быстрые — к другому. Естественно, контроллер должен как-то различать подключенные к одному кабелю устройства, чтобы устанавливать с ними связь. Для этого каждое устройство имеет свой логический номер, который называется называется SCSI ID. Для устройств на narrow SCSI-шине он может быть от 0 до 7, на wide соответственно от 0 до 15. У SCSI-контроллера, являющегося равноправным SCSI-устройством, тоже есть свой номер, обычно это 7. Заметим, что если у вас один контроллер, но есть разъемы и narrow и wide, то SCSI-шина все-таки одна, и все устройства на ней должны иметь уникальные номера. Для некоторых целей, например, у библиотек устройств CD-ROM, применяется еще LUN — логический номер устройства. Если в библиотеке 8 CD-ROM, то она имеет SCSI ID, например, 6, а логически CD-ROM’ы различаются по LUN. Для контроллера все это выглядит в виде пар ID — LUN, в нашем примере 6-0, 6-1, …, 6-7. Поддержку LUN при необходимости нужно включать в SCSI BIOS. Номер SCSI ID обычно устанавливается с помощью перемычек или через все ту же BIOS (автоматически или вручную), так как в SCSI существуют и новые стандарты, аналогичные Plug&Play, не требующие перемычек. Также можно установить параметры типа проверки четности (если контроллер ее поддерживает), включение терминатора, питание терминатора (см. дальше), включение диска по команде контроллера и т. д. Опять же, зачастую все это можно сделать программным способом через BIOS. Принцип использования ID хорош тем, что не требует прерываний. Для работы SCSI достаточно только одного прерывания (для самого контроллера), что, в отличие от IDE, позволяет экономить этот ресурс и поэтому дает возможность устанавливать в систему больше оборудования.

Теперь, как и обещалось, о терминаторах. Если коротко, то это такие штуковины, которые ставятся на концах шины. Цель применения терминаторов — обеспечить согласование уровней сигналов, уменьшить затухание и помехи. Говорят, что проблемы с терминаторами являются наиболее распространенными, однако если внимательно все делать, их не возникнет. Каждое SCSI-устройство имеет возможность включения или выключения терминаторов. Исключение составляют некоторые сканеры, у которых терминация шины включена навсегда, и внешние устройства со сквозной шиной. Варианты терминаторов:

  • Внутренние. Обычно присутствуют на жестких дисках; включаются установкой одной перемычки
  • Автоматические. Большинство контроллеров SCSI имеет такие. Они сами решают, включаться им или нет.
  • В виде сборок резисторов, на некоторых CD-ROM и CD-R именно такие. Выключаются удалением из панелек всех сборок.
  • Внешние. Как в предыдущем пункте, но красивее (например, на стримере HP T4e). Устройство (обычно внешнее) в этом случае имеет два разъема SCSI: в один включается кабель к контроллеру, в другой — терминатор или кабель к следующему устройству в цепочке.

Два последних вида, правда, уже устарели и не применяются. Кроме того, терминаторы могут быть пассивными или активными. Сегодня практически все активные, они обеспечивают бОльшую помехоустойчивость и надежность на высоких скоростях. Определить, какой используется на SCSI устройстве обычно можно по способу его включения. Если это одна перемычка, или он автоматический, то скорее всего активный. А если для его выключения необходимо вытащить из устройства 1-2 резисторных сборки, то пассивный. В принципе, терминация шины с разных концов разными по типу терминаторами возможна, но только на низких скоростях. Кстати, это еще один аргумент в пользу разделения медленнх и быстрых устройств на разные контроллеры или каналы.

Более подробно про терминаторы написано в описании каждого устройства. Правила терминирования часто нарисованы в руководстве к адаптеру. Главное звучит так: шина SCSI должна быть затерминирована на обоих своих концах. Мы рассмотрим наиболее распространенные варианты устройств на одной SCSI-шине.

Простейший вариант: контроллер и одно устройство (внешнее или внутреннее — не важно). Терминаторы необходимо включить и на контроллере и на устройстве.

Вариант с несколькими внутренними устройствами. Терминатор включен только на последнем устройстве и на контроллере.

Есть как внутренние, так и внешние устройства. Терминаторы включены на крайних внутреннем и внешнем устройствах, но выключены на контроллере.

Есть внутреннее и несколько внешних устройств. Терминаторы включены на внутреннем и на последнем внешнем устройстве.

Немного сложнее ситуация, когда на одном контроллере (шине) используются narrow- и wide-устройства одновременно. Представим, что у нас две 8 бит шины, которые на самом деле есть просто старший и младший байты wide-шины (в описаниях и SCSI BIOS это так и называется — High byte/Low byte). Теперь, следуя вышеприведенным правилам, необходимо затерминировать обе эти шины. Обычно в таких случаях на контроллере можно независимо терминировать старший и младший байты wide-шины. В этой ситуации narrow шина есть продолжение младшего байта wide шины. Приведем один пример:

Narrow-устройства вполне можно использовать и на wide-шине даже тогда, когда на контроллере нет необходимого разъема (как внешнего, так и внутреннего). Нужно только использовать переходник wide-narrow, или это может быть внешний SCSI кабель с narrow-разъемом на одном конце и wide на другом. Чаще всего такая необходимость возникает при подключении внешних narrow-устройств к wide-контроллеру, так как он обычно имеет внешний разъем типа wide. Если вы используете переходники, обратите внимание на терминацию. При подключении внешнего narrow-устройства к wide-разъему переходник должен терминировать high byte. Если же подключается narrow-устройство к внутреннему разъему wide, то переходник просто преобразовывает разъемы (то есть сокращает количество проводов с 68 до 50). Правда, как уже отмечалось, терминация часто производится самим контроллером и устройствами в автоматическом режиме, и проблем возникнуть не должно; эти сведения приведены скорее как справочная, нежели практическая информация.

В различных конфренциях и FAQ часто задают вопрос типа «А что лучше: IDE или SCSI?». Ответить на него очень просто, но с небольшим и очень важным дполнением: «Это смотря для чего». Вот основные преимущества SCSI перед IDE:

  • Значительно более низкая нагрузка на процессор
  • Более высокая скорость передачи данных
  • Возможна одновременная работа со всеми устройствами, где бы они ни находились и как бы ни были подключены
  • Длина кабеля может составлять 3-6 метров
  • Вообще более высокая надежность по сравнению с IDE как контроллеров, так и SCSI-устройств
  • Возможность использования внешних устройств
  • Максимальное количество устройств (до 15) значительно больше, чем у IDE, к тому же можно установить несколько SCSI-контроллеров (обычно не более четырех)
  • Для всех SCSI-устройств нужно всего лишь одно прерывание
  • Для повышения надежности и быстродействия можно использовать кэширование и технологии RAID и host-swap. Правда, в последнее время стали появляться и аналогичные IDE-контроллеры, но они, безусловно, не так хороши, как у SCSI

Однако, при всей своей красе, SCSI — дорогой интерфейс. Это относится как к контролерам, так и к устройствам. Прежде чем решить, нужен ли вам SCSI, необходимо уяснить поставленные цели. Для работы, скажем, в Microsoft Office, вовсе не нужно высокое быстродействие. К тому же преимущества сильно заметны только в случае активной многозадачности. Следует также помнить, что за небольшие деньги можно купить куда более быстродействующий и емкий жесткий диск с интерфейсом IDE, чем со SCSI. Но если вы занимаетесь видеомонтажем, записью CD, сложной графикой или просто хотите максимального быстродействия в любимом Unreal’е (или что у вас там любимое), то тут SCSI, понятное дело, стоит потраченных денег. В общем, решайте сами. Правда, в случае если финансы у вас находятся в плачевном состоянии, то решать тут особенно и нечего…

Вам может также понравиться...

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *