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:
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.
Развитие интерфейса Ultra-3 с удвоенной скоростью передачи данных (до 320 Мбайт/сек).
Предложен в начале 2003 года.
Удвоенная пропускная способность (640 Мбайт/сек). В связи с резким сокращением максимальной длины кабеля неудобен для использования с более чем двумя устройствами, поэтому не получил широкого распространения.
В терминологии 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)
|
---|
Основные понятия
| |
---|
Процессоры
| |
---|
Внутренние
| |
---|
Ноутбуки
| |
---|
Накопители
| |
---|
Периферия
| |
---|
Управление оборудованием
| |
---|
Универсальные
| |
---|
Видеоинтерфейсы
| |
---|
Встраиваемые системы
| |
---|