Протокол команд 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 в некоторых нюансах.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: