SCSI

Эмблема оригинального SE SCSI

SCSI ( англ. Small Computer Systems Interface , Традиционно произносится бешенстве) - интерфейс, разработанный для объединения на одной шине различных по своему назначению устройств, таких как жесткие диски, накопители на магнитооптических дисках, приводы CD, DVD, стримеры, сканеры, принтеры и т.д.. Раньше имел неофициальное название Shugart Computer Systems Interface в честь создателя Алана Ф. Шугарта.

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

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

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

Система команд 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.


1. Стандарты

Существует три стандарта SCSI

  • SE - англ. single-ended ,
  • LVD - англ. low-voltage-differential - Интерфейс дифференциальной шины низкого напряжения,
  • HVD - англ. high-voltage-differential - Интерфейс дифференциальной шины высокого напряжения), каждый из которых имеет множество дополнительных и необязательных возможностей.

Некоторые комбинации возможностей имеют собственные наименования. Контроллер SCSI может работать с любым устройством, на котором присутствует данный интерфейс (жесткий диск, сканер).

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

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

1.1. SCSI-1

Стандартизированный ANSI в 1986 г. Использовалась восьмибитова шина, с пропускной способностью в 3,5 МБайт / сек в асинхронном режиме и 5 МБайт / сек в синхронном режиме. Максимальная длина кабеля - до 6 метров. В наше время почти не используется, можно увидеть только в архаихчних пристороях.

1.2. SCSI-2

SCSI Host Bus Adapter (16-bit ISA Card)

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

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

Wide SCSI в дополнение к этому имеет удвоенную разрядность шины (16 бит), что позволяет достичь скорости передачи 20 МБ / сек. При этом максимальная длина кабеля ограничивалась тремя метрами. Также в этом стандарте была предусмотрена 32-х битная версия Wide SCSI, которая позволяла использовать два шестнадцятибитових кабели на одной шине, но эта версия не получила распространения.


1.3. SCSI-3

Также известен под названием Ultra SCSI. Предложенный в 1992 году. Пропускная способность шины составила 20 МБайт / сек для восьмибитовои шины и 40 МБайт / сек - для шестнадцятибитнои. Максимальная длина кабеля так и осталась равной трем метрам.

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

1.4. Ultra-2 SCSI

Предложенный в 1997 году. Использует LVDS. Максимальная длина кабеля - 12 метров, пропускная способность - до 80 МБайт / сек.

1.5. Ultra-3 SCSI

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

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

1.6. Ultra-320 SCSI

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

1.7. Ultra-640 SCSI

Также известен под названием Fast Ultra-320. Предложенный в начале 2003 года. Удвоенная пропускная способность (640 МБайт / сек). В связи с резким сокращением максимальной длины кабеля неудобен для использования с более чем двумя устройствами, поэтому не получил широкого распространения.

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

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

Команды SCSI посылаются в виде блоков описания команды (Command Descriptor Block, CDB). Длина каждого блока может составлять 6, 10, 12 или 16 байт. В последних версиях 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, сконфигурированного на нем. Семейство стандартов SCSI включает в себя ряд стандартов уровня аппаратуры, стандарты SAM и SPC, описывающие главные команды и структуры типа развернутой информации об ошибке, и специфических для класса устройств стандартов.

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


3. SCSI кабели

Внутренние SCSI кабели это обычно ленточные кабели (шлейфы), имеющие 50 или 68 (в широком варианте SCSI) контактов. Внешние кабели как правило экранированные и имеют разъемы на концах.

4. Терминирования

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

5. Дальнейшее развитие

  • Для передачи команд протокола SCSI через IP -сети используется сетевой протокол iSCSI, утвержденный IETF как стандартный в 2003 году.
  • Для замены параллельной шины предложена технология подключения устройств по последовательной шине Serial Attached SCSI (SAS).

См.. также