SCSI — Википедия

Логотип

SCSI (англ. Small Computer System Interface, произносится /ˈskʌzi/ «скази»[1][2] (встречаются варианты «эс-си-эс-ай» и «сэкси») представляет собой набор стандартов для физического подключения и передачи данных между компьютерами и периферийными устройствами. SCSI-стандарты определяют команды, протоколы и электрические и оптические интерфейсы. Разработан для объединения на одной шине различных по своему назначению устройств, таких, как жёсткие диски, накопители на магнитооптических дисках, приводы CD, DVD, стримеры, сканеры, принтеры и т. д. Раньше имел неофициальное название Shugart Computer Systems Interface в честь создателя Алана Ф. Шугарта, разработанный в 1978 г. и опубликованный в 1981 году.

Теоретически возможен выпуск устройства любого типа на шине SCSI.

После стандартизации в 1986 году SCSI начал широко применяться в компьютерах Sun Microsystems. В компьютерах, совместимых с IBM PC, SCSI не пользуется такой популярностью в связи со своей сложностью и сравнительно высокой стоимостью и применяется преимущественно в серверах.

SCSI широко применяется на серверах, высокопроизводительных рабочих станциях; RAID-массивы на серверах часто строятся на жёстких дисках со SCSI-интерфейсом (однако в серверах нижнего ценового диапазона всё чаще применяются RAID-массивы на основе SATA). В настоящее время устройства на шине Serial Attached SCSI постепенно вытесняют устаревшую шину SCSI.

Система команд SCSI на уровне программного обеспечения употребляется в единых стеках поддержки устройств хранения данных в ряде операционных систем, таких, как Microsoft Windows.

Существует реализация системы команд SCSI поверх оборудования (контроллеров и кабелей) IDE/ATA/SATA, называемая ATAPI — ATA Packet Interface. Все используемые в компьютерной технике подключаемые по IDE/ATA/SATA приводы CD/DVD/Blu-Ray используют эту технологию.

Также система команд SCSI реализована поверх протокола USB, что является частью спецификации класса Mass Storage device[3][4]. Это позволяет подключать через интерфейс USB любые хранилища данных (от флеш-накопителей до внешних жёстких дисков), не разрабатывая для них собственного протокола обмена, а вместо этого используя имеющийся в операционной системе драйвер SCSI.

Современная модель стандартов SCSI, устанавливаемая комитетом T10 (ANSI), определяет:

  • архитектуру SCSI (документ SAM — SCSI Architecture Model);
  • основные требования к протоколу, основные команды (SPC — SCSI Primary Commands);
  • структуры типа развернутой информации об ошибке;
  • виды участников:
    • инициаторы
    • устройства прямого доступа
    • устройства последовательного доступа
    • устройства автоматизированного управления и прочие;
  • наборы команд для видов участников (например, SBC — SCSI Block Commands, MMC)
  • виды транспорта (SAS, iSCSI, традиционный параллельный SCSI, Fibre Channel…)[5].

Наиболее современным транспортом для физического подключения является Serial Attached SCSI (SAS).

Для передачи команд протокола SCSI по IP-сетям используется сетевой протокол iSCSI, утверждённый IETF как стандартный в 2003 году.

Интерфейс SCSI

[править | править код]

Параллельный интерфейс SCSI является исторически первым и самым известным. Существует три стандарта электрической организации параллельного интерфейса SCSI:

SE (англ. single-ended) — асимметричный SCSI, для передачи каждого сигнала используется отдельный проводник.

LVD (англ. low-voltage-differential) — интерфейс дифференциальной шины низкого напряжения, сигналы положительной и отрицательной полярности идут по разным физическим проводам — витой паре. На один сигнал приходится по одной витой паре проводников. Используемое напряжение при передаче сигналов ±1,8 В.

HVD (англ. high-voltage-differential) — интерфейс дифференциальной шины высокого напряжения, отличается от LVD повышенным напряжением и специальными приёмопередатчиками.

Первый стандарт SCSI имеет 50-контактный неэкранированный разъем для внутрисистемных соединений и аналогичный экранированный разъем типа Centronics (Alternative 2) для внешних подключений. Передача сигналов осуществляется 50-контактным кабелем типа — A-50 на 8-разрядной (8-битной) шине.

Но надо иметь в виду, что до появления SCSI, имевшего 50-контактный разъём, и даже одновременно с ним был более старый SCSI, имевший 25-контактный разъём, почти такой, как разъём LPT (например, в теперь уже почти вышедшем из употребления сканере Mustek 1200 FS есть одновременно три разъёма: OPTION на 26 контактов, SCSI на 25 контактов, SCSI на 50 контактов).

В стандарте SCSI-2 для 8-битной шины предусматривался кабель типа A, который, как и в SCSI-1, поддерживал 50-контактными разъемами типа D с уменьшенным шагом выводов (Alternative 1). Разъемы типа Centronics (Alternative 2) в SCSI-2 построены на 8- и 16-битной шине. Передача информации осуществляется по 68-контактным кабелям типа A-68 и P-68 (Wide). Для 32-битной версии шины был предусмотрен тип кабеля B, который должен был параллельно подключаться одновременно с кабелем A в одно устройство. Однако кабель B не получил широкого признания и из стандарта SCSI-3 исключен.

В стандарте SCSI-3 кабели A-68 и P-68 поддерживались экранированными либо неэкранированными разъемами типа D. Кабели в SCSI-3 снабжены фиксаторами-защёлками, а не проволочными кольцами, как разъемы Centronics. Начиная с этой версии SCSI в массивах накопителей используется 80-контактный разъем, называемый Alternative 4. Накопители с таким разъемом поддерживают «горячее» подключение устройств, то есть устройства SCSI можно подключать и отключать при включенном питании.

Основные реализации параллельного интерфейса SCSI (в хронологическом порядке):

Обзор интерфейсов SCSI[6]
Наименование Разрядность шины Частота шины Пропускная способность Максимальная длина кабеля Максимальное количество устройств
SCSI 8 бит 5 МГц 5 Мбайт/сек 6 м (25 м с HVD) 8
Fast SCSI 8 бит 10 МГц 10 Мбайт/сек 3 м (25 м с HVD) 8
Wide SCSI 16 бит 10 МГц 20 Мбайт/сек 3 м (25 м с HVD) 16
Ultra SCSI 8 бит 20 МГц 20 Мбайт/сек 1,5—3 м (25 м с HVD) 4—8
Ultra Wide SCSI 16 бит 20 МГц 40 Мбайт/сек 1,5—3 м (25 м с HVD) 4—16
Ultra2 SCSI 8 бит 40 МГц 40 Мбайт/сек 12 м (25 м с HVD) 8
Ultra2 Wide SCSI 16 бит 40 МГц 80 Мбайт/сек 12 м (25 м с HVD) 16
Ultra3 SCSI 16 бит 40 МГц DDR 160 Мбайт/сек 12 м 16
Ultra-320 SCSI 16 бит 80 МГц DDR 320 Мбайт/сек 12 м 16
Ultra-640 SCSI 16 бит 160 МГц DDR 640 Мбайт/сек 10 м 16

Стандартизован ANSI в 1986 г. Использовалась восьмибитная шина с пропускной способностью в 1,5 Мбайт/сек в асинхронном режиме и 5 Мбайт/сек в синхронном режиме[7]. Максимальная длина кабеля — до 6 метров.

Этот стандарт был предложен в 1989 году и существовал в двух вариантах — Fast SCSI и Wide SCSI.

Fast SCSI характеризуется удвоенной пропускной способностью (до 10 Мбайт/сек).

Wide SCSI в дополнение к этому имеет удвоенную разрядность шины (16 бит), что позволяет достичь скорости передачи до 20 МБ/сек.

При этом максимальная длина кабеля ограничивалась тремя метрами.

Также в этом стандарте была предусмотрена 32-битная версия Wide SCSI, которая позволяла использовать два шестнадцатибитных кабеля на одной шине, но эта версия не получила распространения.

Также известен под названием Ultra SCSI.

Предложен в 1992 году.

Пропускная способность шины составила 20 Мбайт/сек для восьмибитной шины и 40 Мбайт/сек — для шестнадцатибитной. Максимальная длина кабеля так и осталась равной трём метрам.

Устройства, отвечающие этому стандарту, известны своей чувствительностью к качеству элементов системы (кабель, терминаторы).

Предложен в 1997 году.

Использует LVDS. Максимальная длина кабеля — 12 метров, пропускная способность — до 80 Мбайт/сек.

Также известен под названием Ultra-160 SCSI.

Предложен в конце 1999 года.

Имеет удвоенную пропускную способность (по сравнению с Ultra-2 SCSI), которая составила 160 Мбайт/сек. Увеличения пропускной способности удалось достичь за счёт одновременного использования фронтов и срезов импульсов.

В этот стандарт было добавлено использование CRC (Cyclic Redundancy Check), предупреждение ошибок.

Также известен под названием Fast Ultra-320.

Ultra320 LVD SCSI диск Fujitsu MAP3735NC из состава RAID-массива подключается при помощи разъёма SCA-2

Развитие интерфейса Ultra-3 с удвоенной скоростью передачи данных (до 320 Мбайт/сек).

Предложен в начале 2003 года.

Удвоенная пропускная способность (640 Мбайт/сек). В связи с резким сокращением максимальной длины кабеля неудобен для использования с более чем двумя устройствами, поэтому не получил широкого распространения.

Протокол команд SCSI

[править | править код]

В терминологии SCSI взаимодействие идёт между инициатором и целевым устройством. Инициатор посылает команду целевому устройству, которое затем отправляет ответ инициатору.

Команды SCSI посылаются в виде блоков описания команды (англ. Command Descriptor Block, CDB). Длина каждого блока может составлять 6, 10, 12, 16 или 32 байта. В последних версиях SCSI блок может иметь переменную длину. Блок состоит из однобайтового кода команды и параметров команды.

После получения команды целевое устройство возвращает значение 00h в случае успешного получения, 02h в случае ошибки или 08h в случае, если устройство занято. В случае, если устройство вернуло ошибку, инициатор обычно посылает команду запроса состояния. Устройство возвращает Key Code Qualifier (KCQ).

Все команды SCSI делятся на четыре категории: N (non-data), W (запись данных от инициатора целевым устройством), R (чтение данных) и B (двусторонний обмен данными). Всего существует порядка 60 различных команд SCSI, из которых наиболее часто используются:

  • Test unit ready — проверка готовности устройства, в том числе наличия диска в дисководе.
  • Inquiry — запрос основных характеристик устройства.
  • Send diagnostic — указание устройству провести самодиагностику и вернуть результат.
  • Request sense — возвращает код ошибки предыдущей команды.
  • Read capacity — возвращает ёмкость устройства.
  • Format Unit
  • Read (4 варианта) — чтение.
  • Write (4 варианта) — запись.
  • Write and verify — запись и проверка.
  • Mode select — установка параметров устройства.
  • Mode sense — возвращает текущие параметры устройства.

Каждое устройство на SCSI-шине имеет как минимум один номер логического устройства (LUN — англ. Logical Unit Number). В некоторых более сложных случаях одно физическое устройство может представляться набором LUN.

Для возможности работы нескольких независимых целевых устройств SCSI в UNIX-подобных операционных системах применяется адресация из произвольно назначаемого драйвером идентификатора целевого устройства (SCSI target id) и номера LUN, сконфигурированного на нём.

Для устройств типа приводов CD/DVD/Blu-Ray, в том числе их разновидностей с возможностью записи, разработан MMC — Multimedia Command Set. Некоторые приводы, например, производства Asus и Pioneer, используют конкурирующий стандарт Mt. Fuji, отличающийся от MMC в некоторых нюансах.

Терминирование

[править | править код]

Параллельные шины SCSI всегда должны терминироваться с обеих сторон для обеспечения нормального функционирования. Подавляющее большинство контроллеров и многие устройства имеют возможность автотерминирования — использования встроенного терминатора.

Коннекторы

[править | править код]

По состоянию на 2003 год[8]:

  • IDC50 (внутренний SCSI-1, Fast. Ultra)
  • HD68 (Ultra 2 LVD, ULtra Wide внешний или внутренний)
  • CN50 — Centronics 50 (внешний)
  • HD50 (SCSI-1, Fast внешний)
  • DB25 (внешний, использовался на старых Macintosh, Iomega Zip)
  • VHDCI (Ultra Wide, Ultra2 Wide, Ultra 3 в RAID-системах)
  • MD50 (SCSI-2)

Примечания

[править | править код]
  1. Общепринятое английское произношение — scuzzy ([skʌzɪ]), то есть «скази»; см. Field, G., Ridge, P. Welcome to SCSI // The Book of SCSI. — 2-е изд. — 2000. — С. 1. — 456 с. — ISBN 1886411107.
  2.  (недоступная ссылка)SCSI в словаре Lingvo (недоступная ссылка)
  3. Universal Serial Bus Mass Storage Class Specification Overview, revision 1.3 (англ.) pp. 6—7 (5 сентября 2008). Дата обращения: 7 июля 2010. Архивировано из оригинала 5 февраля 2012 года.
  4. The Mass Storage Page (англ.). Дата обращения: 7 июля 2010. Архивировано 5 февраля 2012 года.
  5. SCSI Architecture (англ.). Дата обращения: 28 января 2012. Архивировано 4 февраля 2012 года.
  6. STA-Endorsed Terms & Terminology for SCSI Parallel Interface Technology (англ.). SCSI Trade Association. Дата обращения: 7 июля 2010. Архивировано из оригинала 19 октября 2005 года.
  7. High Performance SCSI & RAID: What is SCSI? (англ.). Дата обращения: 7 июля 2010. Архивировано 5 февраля 2012 года.
  8. Berman, R. All about Hard Disk Recorders: An Introduction to the Creative World of Digital, Hard Disk Recording. — Hal Leonard, 2003. — ISBN 9780634057342.