Дифференциальная(Differential) версия для каждой цепи задействует пару проводников, по которым передается парафазный сигнал. Здесь используются специальные дифференциальные приемопередатчики, применяемые и в интерфейсе RS-485, что позволяет значительно увеличить длину кабеля, сохраняя частоту обмена. Дифференциальный интерфейс применяется в дисковых системах серверов. Традиционный дифференциальный интерфейс получил название "высоковольтный" - High Voltage Differential (HVD), поскольку в SCSI-3 ему появилась низковольтная альтернатива - Low Voltage Differential (LVD). Низковольтный вариант достигает частоты 40 МТ/с в устройствах Ultra2 SCSI при длине шины 25 м (8 устройств) или 12 м (16 устройств).

В широко используемой линейной версии(SingleEnded) каждый сигнал передается потенциалом с ТТЛ-уровнями относительно общего провода. Здесь общий (обратный) провод для каждого сигнала тоже должен быть отдельным.

Таблица 1.1 Назначение сигналов шины SCSI

Сигнал	Назначение
BSY#	Busy - шина занята
SEL#	Select -выбор ЦУ инициатором (Select)или инициатора ЦУ (Reselect)
C/D#	Control/Data -управление (низкий уровень)/данные (высокий уровень)
I/0#	Input/Output -направление передачи относительно ИУ: вводу в ИУ соответствует низкий уровень. Используется для различия прямой (Select) и обратной (Reselect)выборки: фазе Selection соответствует низкий уровень
MSG#	Message -передача сообщения
DB[0:31]#	Data Bus -инверсная шина данных
DP[0:3]#	Data Parity -инверсные биты паритета, дополняют количество единичных бит байта до нечетного. DP0#относится к DB[0:7], ... DP3# -к DВ[24:31]. В фазе арбитража не действуют
TERMPWR	Terminator Power - питание терминаторов
ATN#	Attention - внимание
REQ#	Request - запрос от ЦУ на пересылку данных
ACK#	Acknowledge -подтверждение передачи (ответ на REQ#)
RST#	Reset-сброс

Таблица 1.2 Источники сигналов SCSI

Фаза шины	Сигнал
	BSY#	SEL#	REQ#, C/D#, I/O#,  MSG#	ACK# ATN#	DBx#, DBPx#
Bus Free	-	-	-	-	-
Arbitration	AA	WA	-	-	SID
Selection	I, T	I	-	I	I
Reselection	I, T	T	T	I	T
Command	T	-	T	I	I
Data IN	T	-	T	I	T
Data OUT	T	-	T	I	I
Status	T	-	T	I	T
Message IN	T	-	T	I	T
Message OUT	T	-	T	I	I

В фазе Bus Free шина находится в состоянии покоя - нет никаких процессов обмена; она готова к арбитражу. Признаком является пассивное состояние линий BSY# и SEL#.

В фазе Arbitration устройство может получить право на управление шиной. Дождавшись покоя шины (Bus Free), устройство вводит сигнал BSY# и свой идентификатор SCSI ID. Если идентификаторы выставили несколько устройств одновременно, то право на управление шиной получает устройство с наибольшим адресом, а остальные устройства отключаются до следующего освобождения шины. Устройство, выигравшее арбитраж, вводит сигнал SEL# и переходит в фазу Selection или Reselection.

В фазе Selection ИУ, выигравшее арбитраж, вводит на шину данных результат логической функции ИЛИ от пары идентификаторов - своего и ЦУ, - сопровождая его битом паритета. Установкой сигнала ATN# ИУ указывает, что следующей фазой будет Message OUT. ИУ снимает сигнал BSY#. Отсутствие сигнала I/0# отличает данную фазу от Reselection. Адресованное ЦУ отвечает сигналом BSY#, если паритет корректный и на шине данных присутствует только пара идентификаторов (его и ИУ). На некорректные значения данных устройства отвечать не должны. Если за заданное время ЦУ не ответило, срабатывает тайм-аут, ИУ освобождает шину или вводит сигнал сброса RST#.

Фаза Reselection аналогична предыдущей, но ее вводит ЦУ. Фаза появляется в том случае, когда ЦУ на время исполнения команды отключалось от шины. По завершении внутренней операции это устройство, выиграв арбитраж, будет вызывать ИУ, которое ранее породило исполнение операции. ЦУ снимает сигнал BSY#, активность сигнала I/0# отличает данную фазу от фазы Selection. Адресованное ИУ отвечает сигналом BSY#, условия ответа и тайм-аут аналогичны предыдущей

В фазах Command, Data, Status и Message по шине данных передается информация, фазы идентифицируются сигналами MSG#, C/D# и I/0# (табл. 1.3), которыми управляет ЦУ. ИУ может потребовать посылки сообщения (фаза Message OUT) введением сигнала ATN#, а ЦУ может освободить шину, сняв сигналы MSG#, C/D#, I/0# и BSY#.

В фазе Command ЦУ запрашивает от ИУ команду. В фазе Status ЦУ делает запрос на передачу ИУ информации о своем состоянии. В фазах Data IN и Data OUT ЦУ делает запросы на передачу данных к ИУ и от него соответственно. Фазы Message IN и Message OUT служат для передачи сообщений. Фазу Message OUT ЦУ вводит в ответ на условие Attention, порождаемое ИУ сигналом ATN#, когда оно нуждается в посылке сообщения ЦУ. Фазу Message IN ЦУ вводит при необходимости посылки сообщения ИУ.

Таблица 1.3 Информационные фазы SCSI

Сигнал				Фаза	Направление
MSG#		C/D#	I/O#
0		0	О	Data OUT	I =>T
0		0	1	Data IN	I<=Т
0		1	О	Command	I=>T
0		1	1	Status	I<=Т
1		0	О	Зарезервировано
1		0	1	Зарезервировано
1		1	О	Message OUT	I=>Т
1		1	1	Message IN	I<=Т

Таблица 1.4 Сообщения шины SCSI

Код	Направление	Сообщение	Назначение
00h	In	Command Complete	Процесс ввода/вывода завершен, информация о состоянии послана в сообщении Status
02h	In	Save Data Pointer	Сохранение указателя данных
03h	In	Restore Pointers	Восстановление указателей.
04h	In	Disconnect	Текущее соединение разрывается, но для продолжения процесса потребуется повторное соединение (не вызывает сохранения текущих указателей)
04h	Out	Disconnect	Инструкция ЦУ на разрыв соединения
05h	Out	Initiator Detected Error	ИУ обнаружило ошибку на шине
06h	Out	Abort	Сброс всех процессов, связанных с данной парой I_T, и освобождение шины
07h	In/Out	Message Reject	Сообщение (или его параметры) недействительны для получателя
08h	Out	No Operation	ИУ нечего ответить на запрос сообщения
09h	Out	Message Parity Error	Последний байт сообщения принят с неверным паритетом
0Ah	In	Linked Command Complete	Цепочка команд завершена. ИУ может инициализировать указатели для новой цепочки
0Bh	In	Linked Command Complete (With Flag)	То же, но ИУ между цепочками команд вызывает прерывание в хост-системе
0Ch	Out	Bus Device Reset	Аппаратный сброс ЦУ и освобождение шины
0Dh	Out	Abort Tag	Сброс текущего процесса, связанного с данной парой I_T, и освобождение шины
0Eh	Out	Clear Queue	Сброс всех процессов и освобождение тины (эквивалентно серии сообщений Abort, принятых от всех ИУ)
0Fh	In/Out	Initiate Recovery	Сообщение для уведомления об асинхронных событиях (ЦУ временно становится ИУ)
10h	Out	Release Recovery	Завершение обработки асинхронных событий
11h	Out	Terminate I/O Process	Принудительное завершение текущего процесса без логического повреждения носителя у ЦУ
12h- 1F, 30h-7Fh	Зарезервированы для 1-байтных сообщений
80h -FFh	Out	Identify	Установление связи типа I_Т_L или I_Т_R
80h -FFh	In	Identify	Восстановление связи типа I_T_L или I_T_R при повторном соединении. Вызывает восстановление сохраненных указателей
2-байтные сообщения
20h	In	Simple Queue Tag	Процесс помещен в очередь, аргумент - тег (00h-FFh)
20h	Out	Simple Queue Tag	Обращение к конкретному процессу маркированной очереди, аргумент - тег (00h-FFh)
21h	Out	Head Of Queue Tag	Помещение процесса в начало маркированной очереди для данного LUN, аргумент - тег (00h-FFh)
22h	Out	Ordered Queue Tag	Помещение процесса в конец маркированной очереди для данного LUN, аргумент - тег (00h-FFh)
23h	In	Ignore Wide Residue	Последние байты последнего переданного слова недействительны (аргумент см. в табл. 1.5)
24h-2Fh	Зарезервированы для 2-байтных сообщений
Расширенные сообщения. Первый байт -0lh, в поле "код" первым байтом указана длина, вторым - расширенный код
05h, 00h	In	Modify Data Pointer	Запрос модификации указателя данных - суммирование текущего указателя с 4-байтным аргументом сообщения
03h, 0lh	In/Out	Synchronous Data Transfer Request	Параметры синхронного режима обмена, 1-й байт аргумента определяет период посылки, 2-й - допустимое смещение REQ/ACK
02h, 03h	In/Out	Wide Data Transfer Request	Разрядность передач в фазах данных. Аргумент задает число байт: 0 -1 байт, 1 - 2 байта, 2 - 4 байта

Таблица 1.5 Игнорирование лишних данных

Значение 2-го байта	Игнорировать биты данных при разрядности обмена
	32 бит	16 бит
0lh	DB[31:24]	DB[15:8]
02h	DB[31:16]	Зарезервировано
03h	DB[31:8]	Зарезервировано
00h, 04h - FFh	Зарезервировано	Зарезервировано

Таблица 1.8 Команды SCSI

Команда	Код	Применимость	Назначение
Change Definition	40h	*o	Модификация определений операций для ЛУ
Compare	39h	*o	Побайтное сравнение данных двух ЛУ1
Copy	18h	*o	Копирование данных с одного ЛУ на другое1
Copy And Verify	3Ah	*o	Копирование данных с одного ЛУ на другое с верификацией1
Erase	19h	1m	Стирание (участка или до конца носителя)
Erase (10)	2Ch	7o	То же с 10-байтным блоком дескриптора
Erase (12)	ACh	7o	То же с 12-байтным блоком дескриптора
Exchange Medium	A6h	8o	Обмен носителями между двумя элементами устройства
Format	04h	2o	Выбор шрифтов и форм
Format Unit	04h	0m 7o	Форматирование устройства
Get Data Buffer Status	34h	6o	Опрос состояния буфера данных
Get Message	08h	9o	Прием пакета из коммуникационного устройства
Get Message (10)	28h	9o	То же с 10-байтным блоком-дескриптора
Get Message (12)	A8h	9o	То же с 12-байтпым блоком дескриптора
Get Window	25h	6o	Получение информации о предварительно определенном окне
Initialize Element Status	07h	8o	Инициализация состояния элемента
Inquiry	12h	*m	Опрос типа устройства, уровня стандарта, идентификатора производителя, модели и т.п.
Load Unload	1Bh	1o	Загрузка/разгрузка носителя
Locate	2Bh	1o	Позиционирование на заданный логический блок
Lock-Unlock Cache	36h	0o4o5o7o	Фиксация заданных логических блоков в кэше устройства и ее отмена
Log Select	4Ch	*o	Запись статистической информации, обработка которой поддерживается устройством, в ЦУ или ЛУ
Log Sense	4Dh	*o	Считывание статистической информации с ЦУ или ЛУ
Medium Scan	38h	4o7o	Сканирование - поиск непрерывной области чистых или записанных блоков
Mode Select (6)	15h	*z	Запись параметров носителя, ЦУ или ЛУ (с 6-байтным блоком дескриптора)
Mode Select (10)	55h	*z	То же с 10-байтным блоком дескриптора
Mode Sense (6)	lAh	*z	Считывание параметров носителя, ЦУ или ЛУ (с 6-байтиым блоком дескриптора)
Mode Sense (10)	5Ah	*z	То же с 10-байтным блоком дескриптора
Move Medium	A5h	8m	Передача носителя
Object Position	31h	6o	Позиционирование (загрузка/выгрузка) сканируемого объекта
Pause/Resume	4Bh	5o	Пауза/продолжение воспроизведения аудио
Play Audio (10)	45h	5o	Аудиовоспроизведение указанных логических блоков
Play Audio (12)	A5h	5o	То же с 12-байтным блоком дескриптора
Play Audio MSF	47h	5o	Аудиовоспроизведение с адресацией MSF
Play Audio Track/Index	48h	5o	Аудиовоспроизведение с указанием треков и индексов
Play Track Relative (10)	49h	5o	Аудиовоспроизведение с адресацией относительно трека
Play Track Relative (12)	A9h	5o	То же с 12-байтным блоком дескриптора
Position To Bement	2Bh	8o	Позиционирование транспортного элемента к указанному элементу
Prefetch	34h	0o4o5o7o	Считывание блоков данных в кэш (без передачи ИУ)
Prevent Allow Medium Removal	1Eh	0o1o4o5o7o8o	Запрет/разрешение смены носителя в ЛУ
Print	0Ah	2m	Печать блока данных
Read(6)	08h	0m 1m 4o 5o 7o	Чтение данных (с 6-байтным блоком дескриптора)
Read (10)	28h	0m 4m 5m 6m 7m	То же с 10-байтным блоком дескриптора
Read (12)	A8h	4o 5o 7o	То же с 12-байтным блоком дескриптора
Read Block Limits	05h	1m	Запрос ограничений на длину блока (минимальная и максимальная длины)
Read Buffer	3Ch	*o	Чтение буфера
Read Capacity	25h	0m 4m 7m	Определение емкости ЛУ
Read Cd-Rom Capacity	25h	5m	Определение емкости CD-ROM (возможно быстрое определение с погрешностью) .
Read Defect Data	37h	0o7o	Чтение списков дефектных блоков (Plist - исходный список от изготовителя, Glist - список, заполняемый при эксплуатации)
Read Defect Data (12)	B7h	7o	То же с 12-байтным блоком дескриптора
Read Element Status	B8h	8o	Чтение состояния элементов
Read Generation	29h	7o	Чтение максимально возможного поколения для указанного логического блока
Read Header	44h	5o	Чтение заголовка логического блока CD-ROM
Read Long	3Eh	0o4o5o7o	"Длинное" чтение - данные блока и поля ЕСС
Read Position	34h	1o	Запрос позиции данных, находящихся в буфере (адрес начала и конца, количество блоков и байт)
Read Reverse	0Fh	1o	Чтение блоков с текущей позиции в обратном направлении
Read Sub-Channel	42h	5o	Чтение данных субканала CD-ROM
Read Toc	43h	5o	Чтение таблицы содержимого CD-ROM
Read Updated Block	2Dh	7o	Чтение определенного поколения обновленного логического блока
Reassign Blocks	07h	0o 4o 7o	Переназначение дефектных блоков
Receive	08h	3o	Прием пакета
Receive Diagnostic Results	1Ch	*o	Получение результатов диагностики
Recover Buffered Data	14h	1o2o	Восстановление данных, посланных в буфер, но не записанных (не напечатанных) из-за ошибки
Release	17h	0m 2m 4m 5m 6m 7m 8o	Освобождение зарезервированного ЛУ, экстента или элемента
Request Sense	03h	*m	Опрос уточненного состояния
Request Volume Element Address	B5h	8o	Передача результатов команды SEND VOLUME TAG
Reserve	16h	0m 1m 2m 4m 5m 6m 7m 80	Предотвращение использования ЛУ (его экстента или элемента) другим ИУ
Rewind	0lh	1m	Перемотка носителя к началу раздела
Rezero Unit	0lh	0o4o5o7o8o	Приведение ЛУ в определенное состояние
Scan	1Bh	6o	Сканирование данных в определенном окне
Search Data Equal	31h	0o4o5o7o	Поиск данных, (не) совпадающих с эталоном2
Search Data Equal (12)	Blh	4o 5o 7o	То же с 12-байтным блоком дескриптора2
Search Data High	30h	0o4o5o7o	Поиск данных, (не) больших эталона2
Search Data High (12)	B0h	4o 5o 7o	То же с 12-байтным блоком дескриптора2
Search Data Low	32h	0o5o7o	Поиск данных, (не) меньших эталона2
Search Data Low (12)	B2h	4o 5o 7o	То же с 12-байтным блоком дескриптора2
Seek(6)	0Bh	0o4o5o7o	Позиционирование (с 6-байт-ным блоком дескриптора) 3
Seek(10)	2Bh	0o4o5o7o	Позиционирование - поиск логического адреса (с 10-байтным блоком дескриптора ) 3
Send	0Ah	3m	Посылка пакета
Send(10)	2Ah	6o	Посылка данных в устройство
Send Diagnostic	1Dh	*m	Запуск теста ЦУ. Ответом будет состояние Good, если тест прошел успешно, или Check Conditum в случае ошибки
Send Message	0Ah	9m	Посылка пакета в коммуникационное устройство
Send Message (10)	2Ah	9o	То же с 10-байтным блоком дескриптора
Send Message (12)	AAh	9o	То же с 1.2-байтным блоком дескриптора
Send Volume Tag	B6h	8o	Посылка тега тома (шаблона) для поиска его в элементах или создания нового тега
Set Limits	33h	0o4o5o7o	Определение области логических адресов, над которыми могут выполняться операции цепочки команд
Set Limits (12)	B3h	4o5o7o	То же с 12-байтным блоком дескриптора
Set Window	24h	6m	Определение окна сканирования
Slew And Print	0Bh	2o	Прогон бумаги и печать
Space	11h	1m	Относительное позиционирование (вперед и назад) на заданное число блоков, файлов, маркеров и т. п.
Start Stop Unit	1Bh	0o4o5o7o	Разрешение/запрет операций с носителем, извлечение носителя4
Stop Print	1Bh	2o	Останов печати с очисткой буфера или без нее
Synchronize Buffer	10h	2o	Синхронизация буфера - печать всего содержимого, при невозможности - сообщение об ошибке
Synchronize Cache	35h	0o4o5o7o	Синхронизация кэша - запись несохраненных данных заданного диапазона адресов на носитель
Test Unit Ready	00h	*m	Опрос готовности ЛУ
Update Block	3Dh	7o	Обновление логического блока
Verify	2Fh	0o5o7o	Верификация - проверка возможности безошибочного считывания блоков данных с носителя
Verify	13h	1o	Тоже
Verify(10)	2Fh	4o5o7o	То же или проверка чистоты блоков (с 10-байтным блоком дескриптора)
Verify (12)	AFh	4o 5o 7o	То же с 12-байтным блоком дескриптора
Write (6)	OAh	0o 1m 4o 7o	Запись блоков данных, переданных ИУ (с 6-байтным блоком дескриптора)
Write (10)	2Ah	0o4m 7m	Запись блоков данных, переданных ИУ (с 10-байтным блоком дескриптора)
Write (12)	AAh	4o7o	То же с 10-байтным блоком дескриптора
Write And Verify	2Eh	0o4o7o	Запись блоков данных, переданных ИУ, с верификацией записи
Write And Verify (12)	AEh	7o4o	То же с 12-байтным блоком дескриптора
Write Buffer	3Bh	*o	Запись в буфер (но не на носитель) или загрузка микрокода
Write Filemarks	10h	1m	Запись маркера файлов
Write Long	3Fh	0o4o7o	"Длинная" запись - блока данных и поля ЕСС
Write Same	41h	0o	Запись блока данных, переданных ИУ, в группу смежных блоков или до конца носителя5

* Команды копирования и сравнения данных оперируют парой ЛУ, которые могут принадлежать как одному ЦУ, так и разным, если эту возможность поддерживает ведущее устройство копирования - Copy Master. Копирование возможно между устройствами любых классов. Для устройств типов 8 и 9 эти команды не применяются.

* Данные ищутся сравнением указанного числа логических записей с эталоном. Логические записи определяются длиной, начальным логическим блоком и смещением внутри него. Можно потребовать попадания искомых данных в один логический блок.

* Команда эффективна для ленточных устройств прямого доступа.

* Команда STOP UNIT для устройств с кэшированием перед остановом автоматически выполняет синхронизацию кэша.

* Первые 4 байта в записываемых блоках могут быть заменены на физический или логический адрес блока.

Устройства прямого доступа (0) позволяют сохранять блоки данных. Каждый блок хранится по уникальному логическому адресу LBA - Logical Block Address. Взаимное расположение логических блоков на носителе не регламентируется. Адрес первого логического блока - нулевой, последнего - (n-1), где n - общее число блоков. В цепочках команд устройствами может поддерживаться относительная адресация, когда исполнительный адрес в команде определяется смещением относительно адреса, действовавшего в предыдущей команде.

Блоки данных хранятся на носителе вместе с дополнительной информацией, используемой контроллером для управления чтением и записью, а также обеспечения надежности хранения данных (ЕСС или CRC-коды). Формат дополнительных данных не регламентируется, ЦУ скрывает эти данные от ИУ.

Для каждого блока может быть установлена своя длина, но чаще используют единую длину блока для всего носителя. Группа смежных блоков одинаковой длины называется экстентом (extent), экстенты определяются командой MODE SELECT, длину блока можно узнать по команде MODE SENSE. После изменения длины блока для активизации экстента обычно требуется форматирование.

Носитель может быть разделен на области, одна из которых используется для хранения блоков данных, другая резервируется для замены дефектных блоков, часть носителя может использоваться контроллером для обслуживания устройства. Дефектные блоки области данных могут быть переназначены на другую область носителя, что позволяет их скрыть.

Носитель может быть фиксированным и сменяемым (Removable). Сменяемый носитель в картридже (или чехле) называют томом (Volume). Для чтения/записи том должен быть смонтирован.

Устройство может быть зарезервировано ИУ, при этом доступ к нему других ИУ ограничивается.Ограничения распространяются на ЛУ или экстент.

Устройства, имеющие кэш данных, могут поддерживать политику обратной записи (Write Back). При этом появляются интервалы времени, в течение которых внезапное отключение питания устройства приведет к потере данных, поскольку сообщение о завершении команды посылается после записи в кэш, а не на носитель. Сообщения об ошибках при WB поступают к ИУ с опозданием. Чтобы избежать этих неудобств, ИУ может запретить устройству использовать WB. Отдельные блоки в кэше можно фиксировать, не допуская их замещения при последующих операциях обмена.

Типичный пример устройств прямого доступа - накопитель на магнитном диске. Есть устройства прямого доступа на ленточном носителе - Floppy Таре. Именно для них эффективна команда SEEK. Устройства прямого доступа могут не иметь подвижных носителей, а быть основаны на памяти разной природы: SRAM, DRAM, PRAM, EEPROM, флэш-память.

Устройства последовательного доступа (1) имеют ряд особенностей, связанных с принципом их действия. Носитель представляет собой магнитную ленту с многодорожечным, серпантинным или наклонно-строчным типом записи. Носитель - всегда сменяемый, с некоторым конструктивным обрамлением (катушка, картридж) - также называется томом. Том имеет начало носителя ВОМ (beginning-of-medium) и конец носителя ЕОМ (end-of-medium). При записи ИУ должен заранее узнавать о приближении конца носителя, для чего определяется позиция раннего предупреждения EW (Early Warning) с соответствующим маркером. Это позволяет после записи блока данных из буфера поместить на носитель соответствующий концевой маркер. Том может иметь один или несколько разделов (Partitions), нумеруемых с нуля. Разделы располагаются друг за другом, без перекрытия. Каждый раздел х имеет начало ВОР х (Begining-Of-Partition х), конец ЕОР х и раннее предупреждение EW х. Между началом и концом раздела помещаются блоки данных и маркеры. Блоки данных, передаваемые ИУ, называются логическими. Логический блок может занимать один или несколько физических блоков данных на носителе, в последнем случае за блокирование-деблокирование отвечает ЦУ. Описатели записанных физических и/или логических блоков могут храниться на носителе (определяется форматом записи). Буфер устройства должен вмещать по крайней мере один логический блок.

Принтеры (2), подключаемые через интерфейс SCSI, не требуют особых команд для управления, поскольку эти функции реализуются через поток передаваемых данных. Однако двунаправленная связь по шине позволяет ввести дополнительные команды, служащие для отслеживания состояния принтеров с буферной памятью, и обеспечить целостность заданий. Принтеры могут иметь встроенный контроллер SCSI или подключаться ЛУ к внешнему контроллеру по интерфейсу Centronics или RS-232. Параметры подключения определяются командой MODE SELECT.

Процессорными устройствами (3) в терминологии SCSI являются источники и потребители пакетов информации, трактовка которой стандартом не определена. Примерами процессорных устройств являются компьютеры, обменивающиеся сообщениями односторонним или двухсторонним образом. Процессорным устройством является и какое-либо сложное устройство отображения (графический дисплей), которое занято выводом потока сообщений. От коммуникационных устройств процессорные отличаются тем, что они являются источниками или потребителями информации, в то время как коммуникационные служат лишь посредниками.

Устройства оптической памяти (7) близки к устройствам прямого доступа со сменными носителями, но имеют ряд характерных особенностей. Большая емкость носителя вызывает необходимость применения команд с 12-байтным дескриптором. Устройства могут обеспечивать считывание, однократную или многократную запись. На носителе могут быть определены зоны, недоступные для записи. Блоки носителя имеют состояние "чистый" и "записанный", что отмечается соответствующим атрибутом. Для устройств многократной записи перед повторной записью блока необходимо его стереть. Стирание может выполняться специальной командой или автоматически по команде записи. В записи фаза стирания может отсутствовать. К этим устройствам применимо понятие обновления (update) логического блока - запись новых данных по тому же адресу логического блока, но на другое место носителя. Прежние данные могут быть считаны специальной командой, указывающей кроме логического адреса блока и его поколение (generation). Емкость носителя в таком случае сообщается без учета множества поколений. Оптические носители по сравнению с магнитными имеют существенно более высокий уровень ошибок, так что приходится использовать более сложные алгоритмы восстановления информации.

Устройства однократной записи (4), обычно оптические, отличаются невозможностью перезаписи ранее записанного блока. Попытка повторной записи в зависимости от реализации устройства может приводить к потере записанных данных. Каждый блок имеет состояние "записан" или "не записан", инициализация (форматирование) не применяется.

Приводы CD-ROM (5) предназначаются для работы с CD-дисками. Изначально диски содержали звукозапись и приводы были рассчитаны не только на чтение блоков данных, но и на потоковый вывод на внешний аудиоинтерфейс. Запись не предусмотрена. Данные на диске адресуются по-разному. Физический сектор имеет 2352 байт, из которых обычно используется 2048, поле синхронизации 12 байт и поле тега адреса сектора 4 байт. Дополнительное поле 288 байт используется для исправления ошибок данных, но если ошибки допустимы, его тоже используют для хранения данных. Таким образом, физический сектор данных может иметь размер 2048 байт (CD-ROM Data Mode 1) или 2336 и даже 2340 (вместе с полем тега) байт (CD-ROM Data Mode 2). В зависимости от размера логического блока (1024, 512 или 256 байт) сектор может вмещать 2,4 или 8 блоков.

Один сектор, или кадр (frame), аудиодиска хранит 1/75 с звукозаписи. От этого происходит адресация MSF: 75 смежных кадров, адресуемых полем F (0-74), объединяются в более крупную единицу, адресуемую полем S (0-59), звучащую 1 с. 60 полей S соответствуют полю М (0-74), звучащему 1 мин. Адресация MSF может использоваться как абсолютная или относительно начала трека.

Носитель делится на треки (track), характерные однотипностью записанной информации. Каждый трек (они нумеруются от 1 до 99) делится на последовательно нумеруемые (1-99) индексы (index).

Носитель CD-ROM и CD-DA кроме основного канала имеет субканал (sub-channel), разделенный на 8 частей, называемых Р, Q, R, S, Т, U, V и W. К примеру, часть Q несет информацию для контроллера и привода - управляющие поля и MSF-адрес. Каждая часть имеет производительность, равную 1/192 основного канала.

Сканеры (6) передают ИУ данные, описывающие растровое изображение сканируемого объекта. Команды позволяют задавать окна сканирования, определяя в них режим и разрешение. Для некоторых функций требуется посылка данных в сканер (например, полутоновые маски). Для сканеров с автоподачей имеются команды позиционирования.

Устройства смены носителей (8) предназначены для автоматического манипулирования сменными носителями - дисками и картриджами с магнитными лентами. В SCSI они представляются ЛУ, отличающимися от первичных устройств хранения, которые они обслуживают. Модель устройства состоит из набора адресуемых элементов, каждый из которых может "держать" только одну единицу носителя:

•	Medium Transport Element - элемент транспортировки носителя;

•	Storage Element - место хранения единицы носителя, когда он не находится ни в одном из элементов трех других типов;

•	Import Export Element - элемент, с помощью которого устройство принимает носители извне или отдает их;

•	Data Transfer Element - позиция первичного устройства, осуществляющего обмен данными с носителем.

Элементы адресуются 16-битными адресами; доступна информация об их состоянии. Каждый том носителя снабжается идентификатором-тегом, по которому определяется его нахождение в элементах.

Коммуникационные устройства (9) предназначены для обмена информацией с устройствами через внешнюю по отношению к шине SCSI среду передачи данных. Внешние протоколы стандартом SCSI не описываются: вся необходимая для них информация заключена в сообщениях, передаваемых и принимаемых ИУ по командам SEND MESSAGE и GET MESSAGE.