Шина SCSI – системный интерфейс малых компьютеров.
Одно из устройств, называемое основным (host) адаптером, выполняет роль связующего звена между шиной SCSI и системной тиной персонального компьютера. Шина SCSI взаимодействует не с самими устройствами (например, с жесткими дисками), а со встроенными в них контроллерами.
Как уже упоминалось, шина SCSI может обеспечить работу 8 или 16 подключенных к ней модулей, каждому из которых присваивается идентификационный номер — SCSI ID. Один из модулей является платой адаптера, установленной в компьютере; остальные семь — периферийными устройствами. К одному и тому же основному адаптеру можно подключать жесткие диски, накопители на магнитной ленте, CD-ROM, сканеры и другие устройства (не больше семи или пятнадцати). Так как в большинстве компьютеров можно устанавливать до четырех основных адаптеров, а к каждой шине SCSI можно подключать до 15 периферийных устройств, то общее количество устройств может достигать 60!
Существует три стандарта SCSI:
SE (англ. single-ended) - асимметричный SCSI, для передачи каждого сигнала используется отдельный проводник.
LVD (англ. low-voltage-differential) — интерфейс дифференциальной шины низкого напряжения, сигналы положительной и отрицательной полярности идут по разным физическим проводам - витой паре. На один сигнал приходится по одной витой паре проводников. Используемое напряжение при передаче сигналов ±1,8 В.
HVD (англ. high-voltage-differential) — интерфейс дифференциальной шины высокого напряжения, отличается от LVD повышенным напряжением и специальными приемопередатчиками.
Протокол команд 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 в некоторых нюансах.
[править]Терминирование
Параллельные шины SCSI всегда должны терминироваться с обеих сторон для обеспечения нормального функционирования. Подавляющее большинство контроллеров и многие устройства имеют возможность автотерминирования — использования встроенного терминатора.