Контакт внутр. /внешн. UenbSE/Diff Контакт внутр./внешн. Цепь
47/24 GND/DBP2+ 48/58 ";> ; •'">--•'•. :^-*-ёвР2#'к
49/25 GND/DB24+ 50/59 DB24*
51/26 GND/DB25+ 52/60 DB25#
53/27 GND/DB26+ 54/61 DB26#
55/28 GND/DB27+ 56/62 DB27#
57/29 GND/DB28+ 58/63 DB28#
59/30 GND/DB29+ 60/64 DB29#
61/31 GND/DB30+ 62/65 DB30#
53/32 GND/DB31+ 64/66 DB31#
65/33 GND/DBP2+ 66/67 ' DBP2#
67/34 GND/GND 68/68 GND
Таблица 5.5.Разъемы Р-кабеля SCSI
Контакт ЦепьЗЕ/Diff
Контакт
Цепь
1
| GND/DB12+
|
| DB12#
|
| GND/DB13+
|
| DB13#
|
| GND/DB14+
|
| DB14#
|
| GND/DB15+
|
| DB15#
|
| GND/DBP1+
|
| DBP1#
|
| GND/DBO+
|
| DBO#
|
| GND/DB1+
|
| DB1#
|
| GND/DB2+
|
| DB2#
|
| GND/DB3+
|
| DB3#
|
| GND/DB4+
|
| DB4#
|
| GND/DB5+
|
| DB5#
|
| GND/DB6+
|
| DB6#
|
| GND/DB7+
|
| DB7#
|
| GND/DBPO+
|
| DBPO#
|
| GND
|
| GND
|
| DIFFSENS (GND)'
|
| GND
|
| TERMPWR
|
| TERMPWR
|
| TERMPWR
|
| TERMPWR
|
| Резерв
|
| Резерв
|
| GND
|
| GND
|
| GND/ATN+
|
| ATN#
|
| GND/GND
|
| GND
|
| GND/BSY+
|
| BSY#
|
| GND/ACK+
|
| ACK#
|
| GND/RST+
|
| RST#
|
| GND/MSG+
|
| MSG#
|
| GND/SEL+
|
| SEL#
| продолжение^
|
|
|
| Глава 5,
| Шина SCSI
| Таблица 5
| .5 (продолжение)
|
|
|
|
| Контакт
| UenbSE/Diff
| Контакт
| Цепь
|
|
|
| GND/C/D+
|
| C/D#
|
| GND/REQ+
|
| REQ#
|
| GND/I/O+
|
| I/O#
|
| GND/DB8+
|
| DB8#
|
| GND/DB9+
|
| DB9#
|
| GND/DB10+
|
| DB10#
|
| GND/DB11 +
|
| DB11#
| Сигнал DIFFSENS определен только для интерфейса LVD.
Таблицаб.6.Разъем Mac SCSI (DB-25)
Контакт
Цепь
Контакт
Цепь
| REQ#
|
| GND
|
| MSG#
|
| C/D#
|
| I/O*
|
| GND
|
| RST#
|
| ATN#
|
| АСК#
|
| GND
|
| BSY#
|
| SEL#
|
| GND
|
| DBPO#
|
| DBO#
|
| DB1#
|
| GND
|
| DB2#
|
| DB3#
|
| • DB4#
|
| DB5#
|
| GND
|
| DB6#
|
| TERMPWR
|
| DB7#
|
|
| Таблица 5.7.Разъем SCA-80
Контакт
Цепь
Контакт
EnbSE/Diff
| 12 Volt Charge
|
| 12V GND
|
| 12 Volt
|
| 12V GND
|
| 12 Volt
|
| 12V GND
|
| 12 Volt
|
| Mated 1
|
| Резерв
|
| Резерв
|
| Резерв
|
| GND
|
| DB11#
|
| GND/DB11 +
|
| DB10#
|
| GND/DB10+
|
| DB9#
|
| GND/DB9+
|
| DB8#
|
| GND/DB8+
|
| I/O*
|
| GND/I/0+
|
| REQ#
|
| GND/REQ+
| 5.1. Параллельные интерфейсы SCSI
Контакт
Цепь
Контакт
UenbSE/Diff
| C/D#
|
| GND/C/D+
|
| SEl#
|
| GND/SEL+
|
| MSG#
|
| GND/MSG+
|
| RST#
|
| GND/RST+
|
| ACK#
|
| GND/ACK+
|
| BSY#
|
| GND/BSY+
|
| ATN#
|
| GND/ATN+
|
| DBPO#
|
| GND/DBPO+
|
| DB7#
|
| GND/DB7+
|
| DB6#
|
| GND/DB6+
|
| DB5#
|
| GND/DB5+
|
| DB4#
|
| GND/DB4+
|
| DB3#
|
| GND/DB3+
|
| DB2#
|
| GND/DB2+
|
| DB1#
|
| GND/DB1+
|
| DBO#
|
| GND/DBO+
|
| DBP1#
|
| GND/DBP1 +
|
| DB15#
|
| GND/DB15+
|
| DB14#
|
| GND/DB14+
|
| DB13#
|
| GND/DB13+
|
| DB12#
|
| GND/DB12+
|
| 5 Volt
|
| Mated 2
|
| 5 Volt
|
| 5VGND
|
| 5 Volt Charge
|
| 5VGND
|
| Резерв
|
| Active LED Out
|
| Auto Spin Up
|
| Delayed Start
|
| SCSI I D 0
|
| SCSI I D 1
|
| SCSI ID 2
|
| SCSI I D 3
| 5.1.2. Терминаторы
Как было сказано выше, каждая физическая шина SCSI должна оканчиваться терминаторами, устанавливаемыми на обоих ее концах. Терминаторы могут быть как внутренними (установленными внутри контроллеров и периферийных устройств SCSI), так и внешними — маленькими блоками, устанавливаемыми на разъем кабеля или дополнительный разъем последнего устройства. Терминаторы шины SCSI должны выполнить две задачи:
♦ избавить линии шины от отражений сигналов с ее концов;
♦ обеспечить требуемый уровень сигнала пассивных линий.
Первая задача вытекает из того, что шлейф SCSI может иметь довольно большую протяженность, и в терминах теоретических основ электротехники каждая сиг-
126 Глава 5. Шина SCSI
нальная линия является «длинной линией». Чтобы сигналы не отражались от концов этой линии, оба конца должны быть нагружены согласованной нагрузкой. Согласованность означает совпадение волнового сопротивления линии с динамическим сопротивлением (импедансом) нагрузки. Волновое сопротивление линий кабельных шлейфов, применяемых в SCSI, обычно лежит в диапазоне 85-110 Ом. Если терминаторов не будет (или импеданс терминатора не совпадает с линией), «звон» отраженных сигналов будет приводить к помехам на шине. Вторая задача обусловлена спецификой интерфейса SCSI, где каждой сигнальной линией может управлять любое из нескольких устройств, подключенных к шине. Причем устройство, посылающее сигнал, формирует только активный уровень (низкий в недифференциальных версиях SCSI), а возвратить линию в пассивное состояние должны терминаторы. Если нет ни одного терминатора, то уровень на линиях, «отпущенных» устройством, за счет входных токов приемников сигнала тоже будет возвращаться в пассивное состояние, но гораздо медленнее. Если шина достаточно длинная и устройств много, то это возвращение будет слишком запоздалым и может вызвать сбои в протоколе. У высокоскоростных устройств применяется активное возвращение сигналов в пассивное состояние (active negation), от чего возникает иллюзия возможности работы шины без терминаторов. Однако устойчивая работа при большом количестве устройств (более двух на шине, включая контроллер) проблематична.
Из сказанного выше становится понятно, когда пренебрежение правилами установки терминаторов может «сойти с рук»: когда шина не очень длинная, устройств мало (скажем, контроллер и один винчестер), а скорость обмена невелика. Однако на одну шину SCSI чаще устанавливают много устройств, при этом шина получается довольно длинной; устройства стараются использовать на высоких скоростях обмена, да еще и с высокими требованиями к надежности. В иных случаях было бы выгоднее применять устройства с иным интерфейсом — для устройств хранения данных это широко распространенный и дешевый интерфейс АТА. Рассмотрим, какие бывают терминаторы для наиболее популярных устройств SE и LVD. Многие устройства с интерфейсом LVD способны работать и с интерфейсом SE (но на малых скоростях); их интерфейс обозначается символами «LVD/SE». Режим работы эти устройства способны определять автоматически: если все устройства на шине (включая и терминаторы) «умеют» работать в режиме LVD, то этот режим и будет выбран (если ни на одном из устройств принудительно не установлен режим SE). Если же на шине хоть одно устройство способно только на режим SE, то в этот режим перейдут и все остальные (соответственно, снижая возможную скорость передачи данных). Заметим, что устройства HVD (Diff) в компанию к LVD/SE включать нельзя.
Для режимов SE и LVD различается способ передачи по сигнальным линиям и режим терминации. Каждая сигнальная линия шины SCSI состоит из пары проводов: прямого и обратного. В режиме SE все обратные провода соединяются с «землей» (на каждом устройстве); терминирующие цепи подключаются только к прямым проводам. В режиме LVD по каждой паре проводов сигнал передается в дифференциальной парафазией форме; терминирующие цепи подключаются к обоим
5.1. Параллельные интерфейсы SCSI____________________________________ 127
проводам каждой пары. Варианты схем терминаторов для SE и LVD приведены на рис. 5.4, где изображены нагрузочные цепи для одной: сигнальной линии. Все терминаторы (не только «активные»!) нуждаются в питании; которое на них поступает по специальным линиям TERMPWR (+5.В).
♦ Пассивные терминаторы SE (рис. 5.4, а) имеют импеданс 132 Ом, что плохо согласуется с ленточным кабелем шины. Эти терминаторы пригодны лишь для «обычного» интерфейса SCSI (скорость передачи до 5/10 Мбайт/с в «узком»/«широком» вариантах). Для Fast SCSI, Ultra SCSI и далее они непригодны.
♦ Активные терминаторы SE (рис. 5.4, б) имеют импеданс 110 Ом, что позволяет их использовать на более высоких скоростях в Fast SCSI, ;Их «активность» заключается лишь в наличии внутреннего источника опорного напряжения,(ИОН) +2,85 В, питающегося от тех же линий TermPWR. Микросхемы активных терминаторов имеют и электронные ключи, включенные последовательно в каждую линию. Ключи управляются общим сигналом, позволяющим включать-отключать терминатор.
♦ Терминаторы FPTSE (Forced Perfect Terminator) — улучшенный вариант активных терминаторов с диодными ограничителями выбросов, применяемые в высокоскоростных версиях SE-интерфейса.
♦ Терминаторы для LVD (рис. 5.4, в) имеют дифференциальной импеданс 105 Ом (линейный — 150 Ом). Здесь два источника опорных напряжений обеспечивают между прямым и обратным проводами смещение 112 мВ (в их пассивном состоянии).
♦ Универсальные терминаторы L VD/SE сочетают в себе активные SE-терминаторы, дифференциальные терминаторы LVD, схему определения режима и цепи коммутации каждого провода (прямого и обратного) шины SCSI на соответствующие терминирующие цепи.
Рис. 5.4. Терминаторы SCSI: а — SE пассивные, б — SE активные, в — LVD'
Универсальные терминаторы LVD/SE, как и оетальны'е; устройст/ва, о режим работы шины по линии DIFSENSE; В старых устройствах SE контактр"азт!ема,' соответствующий этой линии, бьш^^ заземлен. Устройства LVD иытйютсй вЫвеСтй' этот контакт потенциал 1,3 В. Устройства HVD на этот контакт выводили потейци-; '' ал выше 2,1 В. В терминаторе имеются компараторы, сравнивающие сигнал ^т0й;) линии с эталонами, и логика, переключающая режим терминатора <если Ьбнаружи-''! вается HVD, терминатор отключает все свои цепи). Специально для универйайй-''!
Глава 5. Шина SCSI
ных терминаторов выпускаются микросхемы (например, DS2117М, DS2118М фирмы Dallas Semiconductor), выполняющие все функции автоматической терминации для 9 пар проводов. Для терминации 16-разрядной шины данных (Wide SCSI) и сигналов управления требуется 3 таких микросхемы. В микросхемах используются прецизионные резисторы с лазерной подгонкой, что обходится недешево. По исполнению терминаторы могут быть как внутренними (размещенными на печатной плате устройства), так и внешними (устанавливаемыми на разъемы кабеля или устройства). Внутренние терминаторы на каждом устройстве могут быть включены или выключены. В старых устройствах (SCSI-1) для включения терминаторов нужно было установить набор перемычек или вставить в специальную кроватку сборку резисторов. Активные терминаторы включаются-выключаются перестановкой одного джампера или даже бесконтактно — программно при конфигурировании устройства. Возможно даже автоматическое включение терминатора (если таковая возможность поддерживается устройством и разрешена при конфигурировании). Внешние терминаторы выглядят как разъемы с небольшой крышкой, под которой смонтирована их «начинка». Несмотря на внешнюю простоту, они имеют ощутимую цену — терминатор для Ultra-Wide SCSI стоит $10-15. Внешние терминаторы устанавливаются и снимаются только вручную.
Внутренние терминаторы или, по крайней мере, панелька для их установки имеются практически во всех устройствах, интерфейс которых не является LVD-ин-терфейсом. В устройствах с LVD-интерфейсом терминаторы, как правило, отсутствуют в целях экономии: когда на шину устанавливается несколько устройств, терминатор используется лишь в последних. Однако при подключении одного устройства экономия на цене устройства незаметна, а вот расходы на приобретение терминатора вполне очевидны.
ВНИМАНИЕ---------------------------------------------------------------------------------
Отсутствие терминаторов на устройствах с LVD не означает отказа от правил терминации!
5.1.3. Протокол шины
Назначение сигналов параллельной шины раскрывает табл. 5.8. Все сигналы являются L-активными: активному состоянию и логической единице соответствует низкий потенциал, что в данной книге отмечено символом «#» после мнемоники цепи. Обратные (парафазные) цепи обозначаются знаком «+».
Таблица 5.8.Назначение сигналов шины SCSI Сигнал Назначение
BSY# Busy — шина занята
SEL# Select — выбор ЦУ инициатором (Select) или инициатора целевым устройством
(Reselect)
C/D# Control/Data — управление (низкий уровень)/данные (высокий уровень)
I/O» Input/Output — направление передачи относительно ИУ: вводу в ИУ соответствует
низкий уровень. Используется для различия прямой (Select) и обратной (Reselect) выборки: фазе Selection соответствует низкий уровень
5.1. Параллельные интерфейсы SCSI____________________________________ 129
Сигнал Назначение
MSG# Message — передача сообщения DB[0:31 ]# Data Bus — инверсная шина данных
DP[0:3]# Data Parity — инверсные биты паритета, дополняют количество единичных битов байта до нечетного. DPO# относится к DB[0:7],... DP3# — к DB[24:31]. В фазе арбитража не действуют
TERMPWR Terminator Power — питание терминаторов
ATN# Attention — внимание (намерение ИУ послать сообщение)
REQ# Request — запрос от ЦУ на пересылку данных
ACK# Acknowledge — подтверждение передачи (ответ на REQ#)
RST# Reset —сброд
DIFFSENS Признак дифференциального (LVD) интерфейса: ниже 0,7 В — линейный SE; 0,9-1,9 В— дифференциальный LVD; выше 2,4 В — дифференциальный HVD
Каждое устройство SCSI, подключенное к шине, должно иметь свой уникальный адрес, назначаемый при конфигурировании. Для 8-битной шины диапазон значений адреса 0-7, для 16-битной — 0-15. Адрес задается предварительной установкой переключателей или джамперов. Для хост-адаптера возможно программное конфигурирование. Адресация устройств на шине в фазах выборки осуществляется через идентификатор SCSI ID, представляющий адрес в позиционном коде. Адрес определяет номер той линии шины данных, которая осуществляет выборку данного устройства. Устройство с нулевым адресом выбирается низким уровнем на линии DBO# (SCSI ID-00000001), с адресом 7 - на линии DB7# (SCSI ID=10000000). Для ИУ значение идентификатора определяет приоритет устройства при использовании шины; наибольший приоритет имеет устройство с большим значением адреса. Понятия адрес и идентификатор часто путают, но это всего лишь две различные формы представления одного и того же параметра. В любой момент обмен информацией по шине может происходить только между парой устройств. Операцию начинает инициатор обмена ИУ (initiator), а целевое устройство ЦУ (target) ее исполняет. ИУ выбирает ЦУ по его идентификатору. Чаще всего роли устройств фиксированы: хост-адаптер является инициатором (ИУ), а периферийное устройство — целевым (ЦУ). Возможны комбинированные устройства, выступающие в роли и ИУ, и ЦУ. В ряде случаев роли устройств меняются: ЦУ может, пройдя фазу арбитража, выполнить обратную выборку (Reseleci) ИУ для продолжения прерванной операции. При выполнении команды копирования (Сору) ИУ дает указание ведущему устройству копирования (Copy Master) на обмен данными, который может производиться и с другим ЦУ (для которого ведущее устройство копирования выступит в роли ИУ).
Информация по шине данных передается побайтно (пословно) асинхронно, используя механизм запросов (REQuest) и подтверждений (ACKnowledge). Каждый байт контролируется на нечетность (кроме фазы арбитража), но контроль может быть отключен. Интерфейс имеет возможность синхронной передачи данных, ускоряющей обмен (в SCSI-1 синхронного режима не было). Шина может находиться в одной из перечисленных ниже фаз. Роли источников сигналов между ИУ и ЦУ описаны в табл. 5.9.
5. Параллельные интерфейсы SCSI 130
Таблица 5.9 Источники сигналов SCSI
1 АА: источник сигнала — устройство, активное в арбитраже;
2 WA: источник сигнала — устройство — победитель в арбитраже;
3 SID: каждое устройство управляет только битом данных, соответствующим значению его SCSI ID; * I: источник сигнала — ИУ;
5 Т: источник сигнала — ЦУ.
В фазе Bus Free шина находится в состоянии покоя — нет никаких процессов обмена; она готова к арбитражу. Признаком является пассивное состояние линий BSY# и SEL#.
В фазе Arbitration устройство может получить право на управление шиной. Дождавшись покоя шины (Bus Free), устройство вводит сигнал BSY# и свой идентификатор SCSI ID. Если идентификаторы выставили несколько устройств одновременно, то право на управление шиной получает устройство с наибольшим адресом, а остальные устройства отключаются до следующего освобождения шины. Устройство, выигравшее арбитраж, вводит сигнал SEL* и переходит в фазу Selection или Reselection. В фазе Selection ИУ, выигравшее арбитраж, вводит на шину данных результат логической функции ИЛИ от пары идентификаторов — своего и ЦУ, — сопровождая его битом паритета. Установкой сигнала ATN# ИУ указывает, что следующей фазой будет Message OUT. ИУ снимает сигнал BSY#. Отсутствие сигнала I/O* отличает данную фазу от Reselection. Адресованное ЦУ отвечает сигналом BSY#, если паритет корректный и на шине данных присутствует только пара идентификаторов (его и ИУ). На некорректные значения данных устройства отвечать не должны. Если за заданное время ЦУ не ответило, срабатывает тайм-аут, ИУ освобождает шину или вводит сигнал сброса RST#.
Фаза Reselection аналогична предыдущей, но ее вводит ЦУ. Фаза появляется в том случае, когда ЦУ на время исполнения команды отключалось от шины. По завершении внутренней операции это устройство, выиграв арбитраж, будет вызывать ИУ, которое ранее породило исполнение операции. ЦУ снимает сигнал BSY#, активность сигнала I/O* отличает данную фазу от фазы Selection. Адресованное ИУ отвечает сигналом BSY#, условия ответа и тайм-аут аналогичны предыдущей фазе.
5.1. Параллельные интерфейсы SCSI____________________________________ 131
В фазах Command, Data, Status и Message по шине данных передается информация, фазы идентифицируются сигналами MSG#, C/D# и I/O* (табл. 5.10), которыми управляет ЦУ. ИУ может потребовать посылки сообщения (фаза Message OUT) введением сигнала ATN#, а ЦУ может освободить шину, сняв сигналы MSG#, C/D#, I/O* и BSY#.
Таблица 5.10.Информационные фазы SCSI
Сигнал Фаза Направление
MSG# C/D#l/0#
|
|
| Data OUT
|
|
|
| Data IN
|
|
|
| Command
|
|
|
| Status
|
|
|
| Зарезервировано
|
|
|
| Зарезервировано
|
|
|
| Message OUT
|
|
|
| Message IN
| Временные диаграммы асинхронного обмена приведены на рис. 5.5. Здесь передача каждого байта сопровождается взаимосвязанной парой сигналов REQ#/ACK#. ИУ фиксирует принимаемые данные, получив сигнал REQ# (по отрицательному перепаду). ЦУ считает принимаемые данные действительными по отрицательному перепаду сигнала АСК#. Асинхронный обмен поддерживается всеми устройствами для всех фаз передачи информации.
Рис. 5.5.Временные диаграммы асинхронного обмена (DI — данные от ИУ, DT — данные от ЦУ)
Фазы передачи данных Data OUT и Data IN по предварительной «договоренности» устройств могут выполняться и в синхронном режиме обмена, диаграммы которого приведены на рис. 5.6. При согласовании синхронного режима определяются минимальные длительности и периоды управляющих импульсов АСК# и REQ#, а также допустимое отставание подтверждений от запросов (REQ/ACK offset agreement). ЦУ передает серию данных, сопровождаемых стробами REQ# (рис. 5.6, а), в темпе, ограниченном установленными временными параметрами. ИУ фиксирует принимаемые данные по отрицательному перепаду сигнала REQ#,
Глава 5. Шина SCSI
но отвечать на них сигналом АСК# может с некоторым опозданием. Как только отставание числа принятых сигналов АСК# от числа посланных REQ# достигнет оговоренного предельного значения (в данном примере — 2), ЦУ приостановит обмен до прихода очередного подтверждения АСК#. Операция считается завершенной, когда число принятых подтверждений совпадет с числом посланных запросов. При приеме данных ЦУ механизм согласования остается тем же, но данные фиксируются по отрицательному перепаду сигнала АСК# (рис. 5.6, б).
ВНИМАНИЕ
В спецификации SCSI-1 момент возобновления передачи после устранения отставания описан нечетко, в результате разработчики могли посчитать, что очередной запрос (и данные) может последовать лишь после окончания (положительного перепада) сигнала АСК#. Устройство, на это рассчитанное, может терять данные: для него последний сигнал REQ# (и данные) является неожиданным и выглядит как превышение согласованного смещения.
Рис. 5.6. Временные диаграммы синхронного обмена: а — передача; б— прием
Обмен при разрядности 16 бит происходит аналогично. Если в последней фазе данных используются не все байты, передатчик обязан снабдить корректным битом паритета и неиспользуемые байты.
При описании фаз передачи данных не говорилось о временных задержках. Они определяются спецификацией так, чтобы возможный «перекос» — неодновременный приход сигналов, вызванный задержкой как в электронных схемах, так и в разных проводах кабеля, — не влиял на устойчивость протокола. В асинхронном режиме обмена на скорость передачи информации влияет и длина кабеля, поскольку изменения состояний участников обмена привязываются к сигналам, распространя-
5.1. Параллельные интерфейсы SCSI 133
ющимся по кабелю с ограниченной скоростью. Если в широкой шине имеется пара кабелей (А и В, что на практике встречается редко), то в каждом из них используется своя пара управляющих сигналов (REQ#/ACK# и REQB#/ACKB#), поскольку эти кабели могут иметь разную длину.
В фазе Command ЦУ запрашивает от ИУ команду. В фазе Status ЦУ делает запрос на передачу И У информации о своем состоянии. В фазах Data IN и Data OUT ЦУ делает запросы на передачу данных к ИУ и от него соответственно. Фазы Message IN и Message O UT служат для передачи сообщений. Фазу Message OUT'ЦУ вводит в ответ на условие Attention, порождаемое ИУ сигналом ATN#, когда оно нуждается в посылке сообщения ЦУ. Фазу Message Ш ЦУ вводит при необходимости посылки сообщения ИУ.
Между фазами передачи информации сигналы BSY#, SEL#, REQ# и АСК# должны оставаться в неизменном состоянии, меняться могут только значения сигналов C/D#, I/O#, MSG# и шины данных.
Сигналы ATN# и RST# могут порождать условия Attention и Reset соответственно, причем асинхронно по отношению к фазам шины. Эти условия могут привести к изменению предопределенного порядка фаз. Сигнал ATN# вводится ИУ во время любой фазы, кроме арбитража и состояния покоя шины. Сигнал RST# вводится в любой момент любым устройством, и по условию Reset все устройства должны немедленно освободить шину. В зависимости от настройки, принятой для всех устройств конкретной системы, возможно выполнение одного из двух вариантов сброса. «Жесткий» сброс переводит устройства в состояние, принятое по включению питания, сбрасывая все текущие процессы, очереди и т. п. В случае «мягкого» сброса после освобождения шины устройства пытаются завершить начатые операции, сохраняя текущие значения настроек.
Каждый процесс ввода-вывода состоит из следующей последовательности фаз шины: из состояния Bus Free через фазу Arbitration переход к фазе Selection или Reselection. Далее следуют фазы передачи информации (Command, Data, Status, Message), Завершающей фазой является Message In, в которой передается сообщение Disconnect или Command Complete, после чего шина переходит в состояние покоя Bus Free.
Архитектура SCSI обеспечивает для каждого процесса ввода-вывода сохранение набора из трех указателей (saved SCSI pointers): для команды, состояния и данных. ИУ имеет текущий набор указателей (только один), в который копируется сохраненный набор для текущего процесса. Текущие указатели указывают на очередной байт команды, состояния и данных, которые будут передаваться между памятью ИУ и ЦУ. Сохраненные указатели команды и состояния всегда указывают на начала блоков дескрипторов команд и состояния. Сохраненный указатель данных указывает на начало блока данных до тех пор, пока ЦУ не пришлет сообщение Save Data Pointer. По его приему будет сохранен текущий указатель данных. Когда ЦУ отключается от шины, информация о текущем процессе ввода-вывода содержится в сохраненном наборе указателей. При возобновлении процесса ЦУ сообщением Restore Pointers может потребовать у ИУ скопировать сохраненный набор в текущий и продолжить выполнение команд данного процесса ввода-вывода.
Глава 5. Шина SCSI
ВНИМАНИЕ-------------------------------------------------------------------------------------------------------
Поскольку указатель данных может быть модифицирован ЦУ до завершения ввода-вывода, определение реального количества переданных данных с помощью указателя дает ненадежные результаты.
5.1.4. Конфигурирование устройств
Все устройства на шине должны быть согласованно сконфигурированы. Для них требуется программно или с помощью джамперов установить перечисленные ниже основные параметры.
♦ Идентификатор устройства (SCSI ID) — адрес 0-7 (для Wide SCSI 0-15), уникальный для каждого устройства на шине. Обычно хост-адаптеру, который должен иметь высший приоритет, назначается адрес 7 (15 для Wide SCSI, если все устройства 16-битные). Позиционный код, используемый для адресации, обеспечивает совместимость адресации 8- и 16-битных устройств на одной шине. Ряд версий BIOS считает загрузочным только устройство с SCSI ID=0.
♦ Контроль паритета (SCSI Parity). Если хотя бы одно устройство не поддер живает контроль паритета, он должен быть отключен для всех устройств на шине. Контроль паритета, особенно для дисковых устройств, является необхо димым средством защиты от искажения данных при передаче по шине.
♦ Включение терминаторов (Termination). В современных устройствах приме няются активные терминаторы, которые могут включаться одним джампером или программно-управляемым сигналом. Терминаторы должны включаться только на крайних устройствах в цепочке. Современные хост-адаптеры позво ляют автоматически включать свой терминатор, если они являются крайними, и отключать, если используются внутренний и внешний разъем канала. Это позволяет подключать и отключать внешние устройства, не заботясь о пере ключении терминаторов. Ранее приходилось открывать корпус и переставлять джампер, а пассивные терминаторы устанавливать в специальные гнезда (и извлекать их оттуда). При отсутствии внутренних терминаторов пользователь был вынужден применять внешние, устанавливаемые на кабель.
ВНИМАНИЕ
Правильная установка терминаторов крайне существенна — отсутствие/избыток терминаторов может привести к неустойчивости или неработоспособности интерфейса.
Питание терминаторов (Terminator power) должно быть включено (джампером или программно) хотя бы на одном устройстве.
Согласование скорости синхронного обмена (SCSI synchronous negotiation). Режим синхронного обмена, обеспечивающий высокую производительность, включается по взаимному согласию устройств. Если хотя бы одно устройство на шине его не поддерживает, рекомендуют запретить согласование на хост-адаптере. Если обмен будет инициирован целевым устройством, поддержива-
5.1. Параллельные интерфейсы SCSI 135
ющим синхронный режим, «нормальный» хост-адаптер поддержит этот режим. Целевому устройству можно запретить запрос синхронного режима специальным джампером, который может называться «Enable TI-SDTR» (Target Initiated Synchronous Data Transfer Request Negotiation).
♦ Разрешение отключения (Enable disconnection). Позволяет устройствам отключаться от шины при неготовности данных во время длительных операций с носителем, что весьма эффективно в многозадачном режиме при нескольких ПУ на шине. В случае одного устройства отключение приводит только к дополнительным затратам времени на повторное соединение.
♦ Согласование ширины шины данных тоже выполняется по протоколу шины, исходя из возможностей обоих участников обмена. Целевому устройству можно запретить запрос 16-битного режима специальным джампером, кото рый может называться «Enable TI-WDTR» (Target Initiated Wide Data Transfer Request Negotiation).
♦ Запрет 16-разрядного режима (Disable wide). Позволяет подключить «широ кое» устройство к «узкой» шине.
♦ Принудительное переключение в линейный режим (Force SE). Позволяет перевести устройство LVD в режим SE, независимо от состояния линии DIFFSENS.
♦ Запрет синхронизации по обоим фронтам (Disable U160). Позволяет принудительно перевести устройство UltraS SCSI в режим Ultra2.
♦ Старт по команде (Start on command), или запрет автоматического запуска шпиндельного двигателя (Disable Auto Spin up). При установке этого параметра запуск двигателя устройства выполняется только по команде от хост-адаптера, что позволяет снизить пик нагрузки блока питания в момент включения. Хост будет запускать устройства последовательно.
♦ Задержанный старт (Delayed Start) в сочетании с джамперами выбора за держки позволяет автоматически запускать двигатель через указанный интер вал после подачи питания (разным устройствам задают различные значения задержки).
Не нашли, что искали? Воспользуйтесь поиском по сайту:
©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.
|