SCSI

Материал из Википедии — свободной энциклопедии
Это старая версия этой страницы, сохранённая Tven (обсуждение | вклад) в 12:20, 8 декабря 2005. Она может серьёзно отличаться от текущей версии.
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску

SCSI (Small Computer Systems Interface) — интерфейс, разработанный для объединения на одной шине различных по своему назначению устройств, таких как жёсткие диски, накопители на магнитооптических дисках, приводы CD, DVD, стримеры, сканеры, принтеры и т. д.

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

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

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

Стандарты

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

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

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

SCSI-1

Стандартизован ANSI в 1986 г.

Использовалась восьмибитная шина, с пропускной способностью в 3,5 Мб/сек в асинхронном режиме и 5 Мб/сек в синхронном режиме. Максимальная длина кабеля — до 6 метров.

SCSI-2

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

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

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

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

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

SCSI-3

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

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

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

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

Ultra-2 SCSI

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

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

Ultra-3 SCSI

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

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

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

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

Ultra-320 SCSI

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

Ultra-640 SCSI

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

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

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

Протокол команд 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). В некоторых более сложных случаях одно физическое устройство может представляться набором LUN.

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

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


Ссылки