25-08-2023
SCSI (англ. Small Computer System Interface, произносится «скази»[1][2] (встречается вариант эс-си-эс-ай) — представляет собой набор стандартов для физического подключения и передачи данных между компьютерами и периферийными устройствами . SCSI стандарты определяют команды, протоколы и электрические и оптические интерфейсы. Разработан для объединения на одной шине различных по своему назначению устройств, таких как жёсткие диски, накопители на магнитооптических дисках, приводы CD, DVD, стримеры, сканеры, принтеры и т. д. Раньше имел неофициальное название Shugart Computer Systems Interface в честь создателя Алана Ф. Шугарта, разработанный в. 1978 г. и опубликованную в 1981 году.
Теоретически возможен выпуск устройства любого типа на шине SCSI.
После стандартизации в 1986 году SCSI начал широко применяться в компьютерах Apple Macintosh , Sun Microsystems. В компьютерах, совместимых с IBM PC, SCSI не пользуется такой популярностью в связи со своей сложностью и сравнительно высокой стоимостью и применяется преимущественно в серверах.
SCSI широко применяется на серверах, высокопроизводительных рабочих станциях; RAID-массивы на серверах часто строятся на жёстких дисках со SCSI-интерфейсом (однако, в серверах нижнего ценового диапазона всё чаще применяются RAID-массивы на основе SATA). В настоящее время устройства на шине SAS постепенно вытесняют устаревшую шину 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 разрядной (битной) шине. Но надо иметь в виду, что до появления 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 | 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 МБайт/сек | 16 |
Использовалась восьмибитная шина, с пропускной способностью в 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, из которых наиболее часто используются:
Каждое устройство на 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 всегда должны терминироваться с обеих сторон для обеспечения нормального функционирования. Подавляющее большинство контроллеров и многие устройства имеют возможность автотерминирования — использования встроенного терминатора.
Компьютерные шины | |
---|---|
Основные понятия | Шина адреса • Шина данных • Шина управления • Пропускные способности |
Процессоры | BSB • FSB • DMI • HyperTransport • QPI |
Внутренние | AGP • ASUS Media Bus • EISA • InfiniBand • ISA • LPC • MBus • MCA • NuBus • PCI • PCIe • PCI-X • Q-Bus • SBus • SMBus • VLB • VMEbus • Zorro III |
Ноутбуки | ExpressCard • MXM • PC Card |
Накопители | ST-506 • ESDI • ATA • eSATA • Fibre Channel • HIPPI • iSCSI • SAS • SATA • SCSI |
Периферия | 1-Wire • ADB • I²C • IEEE 1284 (LPT) • IEEE 1394 (FireWire) • Multibus • PS/2 • RS-232 • RS-485 • SPI • USB • Игровой порт |
Универсальные | Futurebus • InfiniBand • QuickRing • SCI • RapidIO • IEEE-488 • Thunderbolt (Light Peak) |
Компоненты персонального компьютера | |
---|---|
Системный блок | |
Память | |
Носители и дисководы |
Жёсткий диск • Твердотельный накопитель (Флеш-память • USB-флеш) • Оптический привод (CD • DVD • BD) • НГМД (Дискета) • Стример • Кардридер |
Вывод |
Динамик • Монитор • Принтер • Графопостроитель (плоттер) |
Ввод |
Клавиатура • Мышь • Трекбол • TrackPoint • Тачпад • Сенсорный экран • Цифровая ручка • Световое перо • Графический планшет • Микрофон • Сканер • Веб-камера |
Игры | |
Прочее |
Модем • ТВ-тюнер • Сетевой фильтр • ИБП |
SCSI.