Сигналы управления шины SCSI
В шине SCSI используются девять сигналов управления, активным уровнем которых является низкий уровень сигнала: BSY (Занят), SEL (Выбор), C/D (Управление/Данные), I/O (Ввод/Вывод), MSG (Сообщение), REQ (Запрос), ACK (Подтверждение), RST (Сброс), ATN (Внимание).
Источники вышеприведённых сигналов приведены в табл. 5.
Таблица 4. Источники сигналов управления шины SCSI
Сигнал | BSY | SEL | C/D | I/O | MSG | REQ | ACK | RST | ATN |
Источник | ИУ, ЦУ | ИУ, ЦУ | ЦУ | ЦУ | ЦУ | ЦУ | ИУ | ИУ, ЦУ | ИУ |
Между фазами передачи информации сигналы Busy, Select, REQ, ACK должны оставаться в неизменном состоянии, меняться могут только значения сигналов Msg, C/D, I/O.
Информационные фазы передачи информации Data Out (In), Command, Status, Message Out (In)
Target управляет сигналами Msg, C/D, I/O, в зависимости от комбинации которых идентифицируются фазы шины Data Out (In), Command, Status, Message Out (In).
Таблица 5. Информационные фазы SCSI
Сигнал | Фаза | Направление | ||
MSG | C/D | I/O | ||
Data Out | ИУ -> ЦУ | |||
Data In | ИУ <- ЦУ | |||
Command | ИУ -> ЦУ | |||
Status | ИУ <- ЦУ | |||
Зарезервировано | ||||
Зарезервировано | ||||
Message Out | ИУ -> ЦУ | |||
Message In | ИУ <- ЦУ |
Асинхронная передача данных
Является обязательной для всех устройств SCSI и всех фаз передачи информации. Target управляет направлением передачи информации с помощью сигнала I/O:
I/O = «0» – передача Initiator => Target,
I/O = «1» – передача Initiator <= Target.
Передача каждого байта сопровождается взаимосвязанной парой сигналов REQ/ACK. Initiator фиксирует принимаемые данные по отрицательному перепаду сигнала REQ, Target считает принимаемые данные действительными по отрицательному перепаду сигнала ACK.
Рис. 10. Временные диаграммы асинхронной передачи данных
Т – источник данных Target, I – источник данных Initiator
Синхронная передача данных
Является опцией и может использоваться в фазах Data Out и Data In и только по результатам предварительной договорённости, которая реализуется посредством сообщений «Synchronous Data Transfer Request».
Рис. 11. Временные диаграммы синхронной передачи данных
Т – источник данных Target, I – источник данных Initiator
Управление интерфейсом
Для управления интерфейсом служит система сообщений. Всего сообщений – 28. Форматы сообщений стандартизированы, существуют однобайтные, двухбайтные и расширенные сообщения. В двухбайтном сообщении второй байт является аргументом сообщения, в расширенных сообщениях второй байт задаёт длину сообщения, а последующие байты несут код и аргументы сообщения.
Рассмотрим внутреннюю структуру сообщения на примере однобайтного сообщения «Identify».
Identify Message (80h-FFh)
ByteBit | ||||||||
Identify | DiscPriv | LUNTAR | LUNTRN |
Identify– Бит идентификации, должен быть установлен в единицу – признак Identify Message.
DiscPriv– Disconnect Privilege Bit, если равен 0, то Target не будет отсоединяться от Initiator до конца выполнения задачи. Если равен 1, то Initiator предоставляет Target привилегию отключения от шины. DiscPriv используется совместно с опциональным битом Dimm (Disconnect Immediate), который описан в Disconnect/Reconnect Mode Page (см. 8.12.3. Disconnect/Reconnect Control Page). Если Initiator выбирает Target, использующее SCSI-1 с опцией одного инициатора, то Target не будет пытаться отключится от шины до конца выполнения задачи и соответственно не будет обращать внимания на DiscPriv, который в этом случае всегда должен быть равен нулю.
LUNTAR– Logical Unit Target Bit. Если равен 0, то Identify Message адресовано логическому устройству (ЛУ). Если равен 1, то Identify Message адресовано обычному Target, который не включает в себя ЛУ. LUNTAR=0 всегда при работе с HDD.
LUNTRN– Logical Unit Number Target Routine Number описывает Logical Unit Number, если LUNTAR=0. При LUNTAR=1 описывает Target Routine Number (номер ЛУ).
Адресация и система команд
SCSI ID (бит идентификатора)
Бит идентификатора является единственным битом на шине данных, который соответствует уникальному адресу устройства на шине SCSI. Каждое устройство SCSI должно иметь свой уникальный адрес, назначаемый при конфигурировании. Бит идентификатора (адрес) задаётся при конфигурировании предварительной установкой переключателей или джамперов. Для хост-адаптера возможно программное конфигурирование.
Для хост-адаптера:
1. Narrow Width | |||||||
D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
2. Wide Width | |||||||||||||||
D15 | D14 | D13 | D12 | D11 | D10 | D9 | D8 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
Заводская установка ID для HDD SCSI всегда устанавливается на 0h или 1h.
Для двух подключаемых HDD:
Первый HDD | |||||||||||||||
D15 | D14 | D13 | D12 | D11 | D10 | D9 | D8 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
Второй HDD | |||||||||||||||
D15 | D14 | D13 | D12 | D11 | D10 | D9 | D8 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
Именно эта функция определяет максимальное количество устройств, которое может одновременно находится на шине SCSI: 16 на Wide Width и 8 на Narrow Width, включая хост-адаптер.