Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Yedelev_megapack_VT49V / interfejsy-periferijnyx-ustrojstv.pdf
Скачиваний:
53
Добавлен:
15.02.2016
Размер:
2.79 Mб
Скачать

175

6.4.4.7. Xaбы USB

Хаб является ключевым элементом технологии РnР в архитектуреUSB. Хаб выполняет множество функций:

-обеспечивает физическое подключение устройств, формируя и воспринимая сигналы в соответствии со спецификацией шины на каждом из своих портов и транслируя трафик с восходящего порта на нисходящие и наоборот;

-обеспечивает управляемую информационную связь сегментов шипы, включая и связь сегментов, работающих на разных скоростях, причем каждому нисходящему порту может быть селективно разрешена или запрещена трансляция трафика;

-отслеживает состояние подключенных к нему устройств, уведомляя хост об измененияхподключении и отключении устройств;

-обнаруживает ошибки на шине, выполняет процедуры восстановления и изолирует неисправные сегменты шины (благодаря «бдительности» хабов неисправное устройство не может заблокировать всю шину интерфейса);

-управляет энергопотреблением: подает питающее напряжение на нисходящие порты, селективно генерирует сигнал приостановки портов, транслирует эти сигналы в разных направлениях.

6.4.4.8. Хост-контроллер

Хост-контроллер является базовым компонентом хост-адаптера ИВВUSB, являющимся аппаратным посредником между устройствамиUSB и хостом. Хост-контроллер выполняет физические транзакции с устройствами по шинеUSB в соответствии с описаниями (дескрипторами) этих транзакций, помещенными в системное ОЗУ драйвером - хост контроллера. При этом транзакции разных типов обрабатываются по-разному. В плане обработки ошибок проще всего изохронные транзакции, в которых ошибки не требуют повторов. Транзакции передач с гарантированной доставкой в случае ошибок требуют повторов до «победного конца» или до признания неудачи(исчерпания допустимого числа повторов). С точки зрения планирования выделяются периодические транзакции, которые должны выполняться строго по графику; остальные выполняются как получится, и их ставят в очереди. Из-за особенностей планирования и возможных повторов порядок завершения обработки дескрипторов транзакций (успешного или нет) для разных конечных точек будет отличаться от порядка их помещения в память, что прибавляет забот хост-контроллеру и его драйверу.

Основное

взаимодействие

драйвера

с

хост-контроллером

происходит

с

помощ

дескрипторов, расположенных в памяти. Прерывания от контроллера могут инициироваться

 

различными

событиями, такими как выполнение транзакций(избранных), обнаружение

 

факта приема короткого пакета, прием сигнала возобновления или появление ошибки.

 

 

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

Контрольные вопросы к разделу 6.4.4

1.Дайте общую характеристику универсальному ПИВВUSB.

2.Что понимается под хост-центральностьюUSB?

3.Охарактеризуйте компоненты аппаратной частиUSB.

4.Охарактеризуйте компоненты программной частиUSB.

5.Когда реализуется в полном объеме программная частьUSB?

6.Как организуется взаимодействие сUSB-клавиатурой и USB-Mouse через порты 60h и

176

64h?

7.Дайте краткую характеристику физическому устройствуUSB.

8.Охарактеризуйте физическую топологиюUSB.

9.Охарактеризуйте логическую топологиюUSB.

10.Охарактеризуйте физический интерфейсUSB.

11.Охарактеризуйте логическое устройствоUSB.

12.Как организуется решение устройствомUSB нескольких функциональных задач?

13.Что понимается под конфигурацией устройстваUSB и сколько конфигураций оно может иметь?

14.Какие базовые типы передачи данных между хостом и периферийными устройствами USB допускает архитектура USB?

15.Опишите взаимоотношения клиентского программного обеспечения с интерфейсами устройств USB (рис. 6.25).

16.Как с помощью запросов, пакетов и транзакций реализуется прием и передача данных между клиентским ПО и устройством USB?

17.Охарактеризуйте типы коммуникационных каналовUSB.

18.Как различаются каналыUSB по их назначению?

19.Что представляет собой интерфейс устройства, с которым работает клиентский драйвер?

20.Кто и для чего пользуется основными каналами сообщений всех устройств?

21.Опишите правила использования кадров и микрокадров при организации обмена по

USB.

22.Что обеспечивает протокол USB и какие задачи решаются на протокольном уровне?

23.Что реализует физический уровень протоколаUSB?

24.Что реализует канальный уровень протоколаUSB?

25.Охарактеризуйте пакеты транзакцийUSB.

26.Чем характерен протокол управляющих передач?

27.Охарактеризуйте кабели и разъемыUSB.

28.Охарактеризуйте особенности сигнального протоколаUSB.

29.Как хаб обнаруживает подключение устройстваUSB?

30.Охарактеризуйте процессы обнаружения устройства и сбросаFS и LS устройств USB

(рис. 6.20 а, б).

31.Охарактеризуйте процесс сброса дляHS устройств (рис. 6.20.в).

32.Как обнаруживается отключение устройствUSB?

33.Охарактеризуйте процессы приостановки устройства, возобновления работы и удаленного пробуждения.

34.Перечислите функции хабовUSB.

35.Кратко охарактеризуйте хост-контроллерUSB.

Дополнительную и более подробную информацию о USB можно найти в [8], [19], [21], [38], [67]. Примеры описания низкоуровневого программного взаимодействия с устройствами USB можно найти в[38], [67]. Информацию о функциональных классификационных признаках USB можно найти в [66]. Подробный список сайтов, посвященных USB, приведен

в [67].

В данном разделе были использованы материалы из [8], [19], [38].

6.4.5. Периферийный ИВВ IEEE 1394 - FireWire

6.4.5.1. Общие сведения

В данном разделе используется оригинальная терминология, определяемая спецификацией

177

IEEE 1394. Семантика этой терминологии частично совпадает с семантикой терминологии принятой в предметной области вычислительных сетей, в частности, локальных вычислительных сетей. Например, понятие "шина", используемое в IEEE 1394, имеет схожее смысловое значение с понятием "шинная сеть" (Bus Network), которое трактуется как локальная вычислительная сеть, в которой имеется только один маршрут между любыми двумя станциями, и данные, передаваемые любой станцией, одинаково доступны всем другим станциям сети. Шинная сеть может иметь линейную, радиальную или древовидную конфигурацию. В двух последних случаях в каждом оконечном узле размещены станции данных, в промежуточных узлах - повторители, соединители, усилители и разветвители[41]. В тексте будут даваться возможные эквивалентные определения из нашей предметной области.

Высокопроизводительная последовательная шина (интерфейс) IEEE 1394 - FireWire создавалась как более дешевая и удобная альтернатива параллельным периферийным ИВВ(SCSI) для соединения равноранговых устройств. FireWire без дополнительной аппаратуры (хабов) обеспечивает связь до 63 устройств. В единую сеть могут объединяться устройства бытовой электроники (цифровые камкордеры (записывающие видеокамеры), камеры для видеоконференций, фотокамеры, приемники кабельного и спутникового телевидения, цифровые видеоплееры (CD и DVD), акустические системы, цифровые музыкальные инструменты), периферийные устройства компьютеров (принтеры, сканеры, устройства дисковой памяти) и сами компьютеры. Шина (интерфейс) не требует управления со стороны компьютера. Она поддерживает динамическое реконфигурирование - возможность «горячего» подключения и отключения устройств. События подключения-отключения вызывают сброс и повторную инициализацию: определение структуры соединений (дерева), назначение физических адресов всем узлам и, если требуется, избрание ведущего устройства(мастера) циклов, диспетчера изохронных ресурсов и контроллера интерфейса. Менее чем через секунду после сброса все ресурсы становятся доступными для последующего использования, каждое устройство имеет полное представление обо всех подключенных устройствах и их возможностях.

Благодаря наличию линий питания интерфейсная часть устройства может оставаться подключенной к шине даже при отключении питания функциональной части устройства.

По инициативе VESA интерфейс FireWire позиционируется как основа«домашней сети», объединяющей всю бытовую и компьютерную технику в комплекс. Эта сеть является одноранговой (peer-to-peer), чем существенно отличается от USB.

Стандарт IEEE 1394 имеет ряд совместимых реализаций под разными названиями: FireWire, iLink, Digital Link, MultiMedia Connection. Наиболее часто используется разработанная фирмой Apple шина (интерфейс) FireWire, на основе которой и появился стандарт.

6.4.5.2. Спецификации

Спецификация IEEE 1394 официально доступна на сайтеhttp://www.ieee.org (платно). С вопросами лицензирования и интеллектуальной собственности можно ознакомиться на сайте http://www.1394la.com.

Стандарт IEEE 1394-1995 определяет архитектуру шины, основанную на трехуровневой модели, и протоколы, обеспечивающие автоматическое конфигурирование, арбитраж и передачу изохронного и асинхронного трафиков. В стандарте определены три возможные скорости передачи сигналов по кабелям: 98,304, 196,608 и 393,216 Мбит/с, которые округляют до 100, 200 и 400 Мбит/с и обозначают какS100, S200 и S400 соответственно. Стандартизованы кабель и 6-контактный разъем, позволяющий передавать сигналы и питание.

В дополнение IEEE 1394a (2000 г.) введен ряд усовершенствований: повышена эффективность использования шины, введен миниатюрный 4-контактный разъем, расширены средства управления энергопотреблением.

Дополнения IEEE 1394b (2002 г.) в основном касаются повышения скорости и дальности

178

передачи:

-Введен новый метод сигнализации(бета-сигнализация). В этом методе используется пара встречных однонаправленных линий и соответствующий бета-режим работы портов со старыми и новыми (S800, S1600) скоростями (планируется и S3200).

-Введен миниатюрный 9-контактный разъем (для скоростей до3,2 Гбит/с с подачей питания).

-Введены новые типы среды передачи(для бета-режима):

-Введен новый метод арбитража(BOSS).

Совместимость с 1394 и 1394a обеспечивается «двуязычными» физическими уровнями, способными работать с разными методами сигнализации на разных портах одной шины интерфейса. При этом возможно построение гибридной шины(коммуникационной среды интерфейса), состоящей из одного или нескольких«облаков» узлов с бета-сигнализацией, связанных друг с другом фрагментами с традиционной сигнализацией.

Достаточно подробную информацию об интерфейсе FireWire можно найти в [8], [19], [21].

Контрольные вопросы к разделу 6.4.5

1.Дайте общую характеристику универсальному ПИВВIEEE 1394 – Fire Wire.

2.Охарактеризуйте содержательную часть спецификацийIEEE 1394.

В данном разделе использованы материалы из [8].

6.4.6. Универсальный периферийный ИВВ SCSI

6.4.6.1. Общие сведения

Интерфейс SCSI (Small Computer System Interface - системный интерфейс малых компьютеров, произносится «скази») предназначен для соединения устройств различных классов: памяти прямого (жесткие диски) и последовательного (стримеры) доступа, CDROM, оптических дисков однократной и многократной записи, устройств автоматической смены носителей информации, принтеров, сканеров, коммуникационных устройств и процессоров. Все эти устройства имеют в своем составе встроенные контроллеры управления их работой. Наиболее широко этот интерфейс используется для устройств и систем хранения данных.

Первоначально интерфейс SCSI был определен в виде интерфейса параллельнойс шиной,

объединяющей равноранговые устройства. Устройством SCSI (SCSI Device) называется как хост-адаптер, связывающий шину ИВВSCSI с какой-либо внутренней шиной ИВВ хоста компьютера, так и контроллер целевого устройства (target controller), с помощью которого устройство подключается к шине периферийного ИВВSCSI (адаптер целевого устройства). К одному контроллеру целевого устройства может подключаться несколько ПУ , по отношению к которым контроллер может быть как внутренним, так и внешним. Широкое распространение получили ПУ со встроенным контроллеромSCSI (embedded SCSI controller), к которым относятся накопители на жестких магнитных дисках, CD-ROM, стримеры. На шине интерфейса возможно присутствие более одного хост-адаптера, что позволяет обеспечить разделение (совместное использование) периферии несколькими компьютерами, подключенными к одной шинеSCSI. ИВВ SCSI оптимизирован для многозадачной работы:

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

179

ством.

Интерфейс SCSI изначально ориентирован на эффективное обслуживание множества устройств. Применение цепочек команд позволяет разгружать хост даже при выполнении довольно сложных процедур, связанных с хранением и поиском данных. Независимость работы устройств друг от друга и освобождение шины на время внутренних операций обеспечивают SCSI неоспоримые преимущества перед параллельным вариантом АТА в качестве интерфейса для мощных систем хранения .данныхОднако с внедрением интерфейса Serial АТА-2, 3 и механизма NCQ у SCSI появился серьезный конкурент.

6.4.6.2. Спецификации SCSI

Первая версия интерфейса, позже названная SCSI-1, была стандартизована ANSI в 1986 году (Х3.131-1986). Это был интерфейс с 8-битной параллельной шиной данных с максимальной частотой переключении 5 МТ/с, допускающая подключение до 8 устройств. (МТ/с - миллионов передач в секунду(Mega Transfer/sec, MT/s)). Скорость передачи данныхоколо 2 Мбайт/с, режим передачи данных - асинхронный. Впоследствии (1991 г.) появилась спецификация SCSI-2, расширяющая возможности интерфейса. Частота переключений шины Fast SCSI-2 достигает 10 МТ/с, a Ultra SCSI-2 - 20 МТ/с. Разрядность шины данных может быть увеличена до 16 бит - эта версия SCSI-2 называется Wide (широкая), а 8-битную версию стали называть Narrow (узкая). 16-битная шина допускает подключение 16 устройств. Стандарт SCSI-2 определял и 32-битную версию интерфейса, которая не получила практического применения. Появился синхронный режим передачи данных, введена дифференциальная версия интерфейса. Спецификация SCSI-2 определяет систему команд, которая включает набор базовых команд (Common Command Set, CCS), обязательных для всех ПУ, и специфических команд для периферии различных классов. Стандарт полностью описывает протокол взаимодействия устройств, включая структуры передаваемой информации.

Спецификация SCSI-3 - дальнейшее развитие стандарта, направленное на увеличение количества подключаемых устройств, расширение системы команд и поддержку технологии РnР. В качестве альтернативы параллельному интерфейсуSCSI-3 (SCSI-3 Parallel Interface, SPI) появляется возможность применения последовательного интерфейса, в том числе интерфейса Serial SCSI со скоростью 150 Мбайт/с и волоконно-оптического интерфейса Fibre Channel со скоростями 100 и 200 Мбайт/с. Спецификация SCSI-3 существует в виде широкого спектра документов, определяющих отдельные аспекты интерфейса на уровне физических соединений, транспортных протоколов и наборов команд. Их объединяет SAM - документ, описывающий архитектурную модель SCSI (SAM - SCSI Architecture Model).

6.4.6.3. Архитектурная модель SAM

Развитием идей, заложенных в шину SCSI, стала ее архитектурная модель SAM, введенная в

SCSI-3 и развиваемая поныне. Модель SAM определяет многоуровневую структуру стандар-

тов SCSI.

Верхний уровень модели SAM представляет собой набор общих командSCSI-3 (SCSI-3 Primary Commands, SPC) для устройств различных классов, который дополняется набором команд соответствующего класса, например:

-SBC (SCSI-3 Block Commands) - для устройств памяти прямого доступа;

-SSC (SCSI-3 Stream Commands) - для устройств памяти последовательного доступа;

-SGC (SCSI-3 Graphic Commands) - для принтеров и сканеров;

-SMC (SCSI-3 Medium Changer Commands) - для устройств смены носителей;

-SCC (SCSI-3 Controller Commands) - для хост-контроллеров.

Два нижних уровня представляют возможныетранспортные протоколы с соответству-

180

ющими спецификациями физических соединений, например:

-SPI (SCSI-3 Parallel Interface) - параллельный интерфейс (разъемы, сигналы и транспортный протокол). Обеспечивает соединение небольшого (до 16) числа устройств с небольшим (до 25 м) удалением друг от друга.

-SIP (SCSI-3 Interlocked Protocol) - протокол обмена традиционного интерфейса, физически реализуемый интерфейсом SPI.

-SBP (Serial Bus Protocol) - протокол последовательной шины, реализуемый интерфейсом IEEE 1394 (FireWire,). Обеспечивает подключение среднего(до 63) числа устройств с удалением друг от друга до 4,5 м при суммарной протяженности кабеля до 72 м.

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

(Storage Area Network, SAN).

-GPP (Generic Packetized Protocol) - обобщенный пакетный протокол, реализуемый любым пакетным интерфейсом.

-SSP (Serial Storage Protocol) - последовательный протокол памяти, реализованный на архитектуре последовательной памяти SSA (Serial Storage Architecture).

-SAS (Serial Attached SCSI) - устройства SCSI с последовательным интерфейсом,

совместимым с интерфейсомSATA. Эта спецификация позволяет объединять значительное число устройств (до 16 384), расположенных на среднем (до 1 м) удалении друг от друга. Имеется возможность одновременного обмена между несколькими парами устройств.

-SSA-S3P (Serial Storage Architecture SCSI-3 Protocol) - транспортный протокол для использования транспортного и физического уровней(SSA-TL и SSA-PH) архитектуры

SSA (Serial Storage Architecture). Архитектура SSA (фирменное решение IBM) обеспе-

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

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

Модель SAM определяет идеологию SCSI как клиент-серверные отношения междуиници-

аторами обмена (initiator) и целевыми устройствами (target). Чаще всего в роли инициатора выступает хост-адаптер компьютера, а в роли целевых устройств(ЦУ) - периферийные устройства, подключенные к контроллерам целевого устройства. Возможны комбинированные устройства, выступающие в роли и инициатора, и ЦУ. Инициатор обмена является клиентом - он обращается к целевому устройству с запросом выполнения операции вводавывода (команды). Целевое устройство выступает сервером - оно интерпретирует команду и управляет интерфейсом для выполнения всех операций, связанных с командой: доставкой данных, сообщением результата выполнения (состояния).

Инициатор и целевое устройство взаимодействуют черезпорты SCSI. Совокупность портов инициаторов и целевых устройств, связанных подсистемой доставки, называется доменом SCSI (SCSI domain). Функциональность домена ограничивается реализацией транспортного уровня и средствами физических подключений(двумя нижними уровнями модели). В SAM заложена возможность взаимодействия однопортовых и многопортовых устройств(как

181

инициаторов, так и ЦУ) через один или несколько доменов SCSI.

Каждое целевое устройство, представляемое на шине SCSI контроллером целевого устройства, может содержать одно или несколько независимыхлогических устройств (ЛУ) со своими номерами (Logical Unit Number, LUN), представляющих периферийные устройства или их части. Первоначально для задания номера логических устройств предназначалось3-бит- ное поле LUN (до 8), в параллельной шине SCSI-3 поле LUN расширили до 6 бит (до 64 логических устройств). Архитектурная модель SAM оперирует адресами, форматы которых могут поддерживать и большее число логических устройств (до 256 и даже 16 384) и поддерживает иерархические структуры (доступ через специальное ЛУ к подчиненным ему ЛУ).

Достаточно подробное описание основных составляющих архитектурной моделиSAM можно найти в [8], [28].

6.4.6.4. Хост-адаптер SCSI

Хост-адаптер является важнейшим узлом интерфейса, определяющим производительность системы SCSI. В его задачу входит передача данных между хостом(программой, исполняемой центральным процессором) и другими устройствами, подключенными к шине, по протоколам вышеописанных физических интерфейсов. Структуры передаваемых блоков данных и команды устройств стандартизованы, их описание приводится в [21], [28]. Однако архитектуры и программные модели адаптеров не стандартизованы (в отличие, например, от адаптеров АТА). Существует широкий спектр адаптеров. К простейшим из них можно подключать только устройства, некритичные к производительности. Такие адаптеры могут входить, например, в комплект поставки сканеров, а подключение к ним диска может оказаться невозможным. В простейших адаптерах весь протокол шиныSCSI (последовательность фаз) может реализовываться центральным процессором хоста при минимальных аппаратных средствах. Высокопроизводительные адаптеры имеют собственный специализированный процессор, большой объем буферной памяти и используют высокоэффективные режимы прямого управления шиной для доступа к памяти компьютера. Адаптеры SCSI

существуют для всех ИВВ хоста(PCI, PCI-X, PCI Express, CardBus, PCMCIA, ISA, EISA, MCA, VLB), периферийных ИВВ USB, FireWire и даже для LPT-порта. Ряд системных плат имеют встроенный адаптерSCSI, подключенный к одной из шин внутренних ИВВ(ИВВ хоста или периферийных ИВВ). При выборе интерфейса, к которому подключается хостадаптер, нужно учитывать производительность(пропускную способность) - интерфейс не должен стать узким местом при обмене с высокопроизводительными устройствамиSCSI. Наибольшую эффективность имеют хост-адаптеры для шин ИВВ хостаPCI, PCI-X, PCI Express, CardBus. Конечно, за мощный адаптер для сервера приходится платитьего цена может превышать цену рядового настольного компьютера. Еще дороже хост-адаптеры со встроенными контроллерами RAID-массивов, которые содержат мощный RISC-процессор и большой объем локальной памяти.

Конфигурирование хост-адаптеров с точки зрения шины SCSI не отличается от конфигурирования других устройств. Современные адаптеры конфигурируются не джамперами, а программно. Утилита конфигурирования обычно входит в расширение BIOS, установленное на плате адаптера, и приглашение к ее вызову выводится на экран во время выполнения POST.

Как и всякая карта расширения, хост-адаптер должен быть сконфигурирован с учетом правил ИВВ хоста, к шине которого он подключается. Системные ресурсы для такого SCSI-адаптера включают:

-область памяти для расширенияROM BIOS, необходимого для конфигурирования устройств и дисковых функций (если в системе установлено несколько однотипных хостадаптеров, для них используется ROM BIOS с одного адаптера, а разнотипные хостадаптеры не всегда могут работать вместе);

182

-область разделяемой буферной памяти;

-область портов ввода-вывода(I/O port);

-линии запроса прерывания(IRQ);

- канал прямого доступ к

памяти(для шин ISA/EISA), обычно используемый лишь для

захвата управления шиной

(bus mastering).

Всем устройствам SCSI, в том числе и хост-адаптеру, требуются специальные драйверы. Базовый драйвер дисковых устройств входит вBIOS хост-адаптера; он обычно эмулирует трехмерную адресацию дискового сервисаInt 13h. Расширения, например ASPI (Advanced SCSI Programming Interface - усовершенствованный интерфейс программирования для SCSI), загружаются отдельно. От драйверов в значительной степени зависит производительность устройств SCSI. Наиболее предпочтительны драйверы, работающие в режиме прямого управления шиной; их применение позволяет реализовать все преимуществаSCSI в многозадачных системах.

6.4.6.5. SCSI с параллельными шинами

6.4.6.5.1. Общие сведения

Большинство параллельных интерфейсы SCSI представляют собой реализацию транспортного уровня и уровня подключений архитектурной моделиSAM. Поскольку параллельный интерфейс SCSI появился до принятия SAM, некоторые части модели в нем не реализованы из-за ограничений транспортного протокола и исторически сложившихся соглашений. В частности, в параллельных интерфейсах нет имен портов и устройств (имеются только имена логических устройств). Идентификаторы портов ограничены 4-битным значением (16 возможных идентификаторов), формат LUN ограничен 6-битным полем. Тем не менее, основная клиент-серверная идеология SAM полностью реализована во всех версиях параллельного интерфейса. Каждому устройству назначаетсяидентификатор (SCSI ID), уникальный на шине. Назначение идентификаторов производится статически(вручную или определяется положением устройства на шасси). Попытки автоматического (с использованием технологии РnР) назначения идентификаторов устройствам SCSI потерпели неудачу и прекратились.

6.4.6.5.2. Версии параллельного ИВВ SCSI

Параллельный интерфейс SCSI существует в нескольких версиях, различающихся разрядностью шины, способами передачи сигналов и синхронизации. Физически «узкий» интерфейс SCSI представляет собой шину, состоящую из 18 сигнальных и нескольких питающих цепей. В «широком» варианте число сигнальных цепей увеличено. Для защиты от помех каждая сигнальная цепь имеет собственный обратный провод. На применяемых двухрядных разъемах контакты сигнальных и обратных цепей располагаются друг против друга. Это позволяет применять в качестве кабелей, как витые пары проводов, так и плоские ленточные кабели, где сигнальные и обратные провода чередуются. С точки зрения передачи сигналов на значительные расстояния (до 25 м) это наиболее правильный подход к кабельным соединениям.

По типу сигналов различаютлинейные (Single Ended, SE) и дифференциальные (differential)

версии SCSI. Их кабели и разъемы идентичны, но электрической совместимости устройств нет. Значки для обозначения типа интерфейса стандартизованы (рис. 6.21).

Влинейной версии каждый сигнал передается потенциалом с ТТЛ-уровнями относительно общего провода. Общий (обратный) провод для каждого сигнала тоже должен быть отдельным, что снижает перекрестные помехи.

ВSCSI-1 применяются передатчики с открытым коллектором, приемники на биполярных

183

транзисторах. Высокий уровень при пассивном состоянии передатчиков обеспечивают пассивные терминаторы (см. далее). В SCSI-2 стали применять и передатчики с активным снятием сигнала (active negation). В SCSI-3 стандарт SPI предписывает использование интерфейсных схем КМОП (CMOS).

Рис. 6.21. Обозначения интерфейсов: а - HVD, б - SE, в - LVD/SE, г - LVD, д - SAS

Дифференциальная версия для каждой цепи задействует пару проводников, по которым передается парафазный сигнал. В первой дифференциальной версии (Diff), позже названной

высоковольтной

(High-Voltage Differential, HVD), задействуются

дифференциальные

приемопередатчики, применяемые и в интерфейсе RS-485.

 

Низковольтная

версия (Low-Voltage Differential, LVD) дифференциального интерфейса

позволяет работать на высоких скоростях при значительной длине шины(25 м для пары устройств, 12 м для подключения цепочки устройств).

Универсальные устройства LVD (multimode LVD) совместимы с устройствами SE благодаря возможности их автоматического переконфигурирования. Эти устройства распознают напряжение на линииDIFFSENS и по низкому уровню напряжения на ней способны переключаться из режима LVD в SE (с понижением доступной скорости обмена).

В параллельных версиях SCSI скорость передачи данных определяетсячастотой переклю- чений шины данных, измеряемой в миллионах передач в секунду(Mega Transfers per second, MT/s), и разрядностью шины. Изначально разрядность узкой (narrow) шины SCSI составляла 8 бит, а частота - до 5 МТ/с. Широкий (wide) вариант шины имеет разрядность 16 бит. В первых версиях шины применялась классическая синхронизация данныхST (Single Transition), при которой на действительность данных указывал спад синхронизирующего сигнала. Позже ввели двойную синхронизациюDT (Double Transition), при которой на действительность данных указывают и спад, и фронт синхронизирующего сигнала. В последних версиях для самых высоких скоростей ввели режимодновременного переключения (режим расе), в котором данные и синхронизирующие сигналы переключаются одновременно. Допустимые варианты сочетаний типов приемопередатчиков (HVD, SE, LVD), синхронизации (ST, DT) и скоростей передачи приведены в табл. 6.9.

Таблица 6.9. Варианты скоростей передачи (Мбайт/с) для параллельных интерфейсов SCSI

Скорость, тип

Async

Fast-5

Fast-10

Fast-20

Fast-40

Fast-80

Fast-160

Fast-320

HVD (ST)

+

5/10

10/20

20/40

40/80

SE (ST)

+

5/10

10/20

20/40

LVD ST

+

5/10

10/20

20/40

40/80

LVD DT

–/20

-/80

–/160

–/320 (расе)

–/640 (расе)

Стандарт

SCSI-1

SCSI-2

SCSI-2

SPI

SPI-2

SPI-3

SPI-4

SPI-5

 

 

 

 

 

 

 

 

 

Подробную информацию по параллельным версиям ИВВ SCSI можно найти в [8], [21], [28].

184

6.4.6.6. Устройства SCSI с последовательным интерфейсом - SAS

6.4.6.6.1. Общие сведения

Последовательный интерфейс для подключения устройствSCSI (Serial Attached SCSI, SAS) разработан на основе физического интерфейсаSerial ATA. Однако устройства SAS используют свой транспортный протокол(SSP), который отвечает общей идеологииSCSI. Для подключения устройств SAS к компьютеру служит хост-адаптер (НВА) с интерфейсом SAS, к которому можно подключать как устройства SAS, так и устройства SATA - их физические интерфейсы совместимы. Возможные варианты подключения устройств приведены на рис. 6.22.

При прямом подключении хостк -адаптеру (рис. 6.22, а) устройства SAS и SATA взаимодействуют с хостом по своим транспортным протоколам(SSP и «родной» протокол SATA соответственно). При использовании экспандеров (рис. 6.22, б) число подключаемых устройств может превышать число портов хост-адаптера.

В SAS используется три транспортных протокола:

-SSP (Serial SCSI Protocol) - поддержка устройств SAS (дисковых, ленточных и иных устройств SCSI с последовательным интерфейсом);

-STP (Serial ATA Tunneling Protocol) - организация туннелей для взаимодействия с дисковыми устройствами Serial АТА (этот протокол используется, если устройство SATA подключается к экспандеру);

- SMP (Serial Management Protocol) - управление экспандерами SAS (промежуточными интерфейсными устройствами), обеспечивающими связь конечных устройств(инициа- торов и целевых устройств).

Рис. 6.22. Подключение устройств SAS и SATA к хост-адаптеру: а — прямое, б —

через экспандер

6.4.6.6.2. Устройства, порты и соединения SAS

Подключение устройства SAS обеспечивает трансивер PHY (PHYsical) - приемник и передатчик последовательного интерфейса. Приемник и передатчик работают на одинаковых скоростях (G1 — 1,5 Гбит/с, G2 — 3 Гбит/с), прием и передача идут независимо друг от друга (полный дуплекс). Каждый трансивер в устройстве имеет собственный идентификатор (номер).

Устройства SAS содержат порты. Порт - это группа трансиверов (от 1 до 128) с одинаковыми SAS-адресами, подключенных к другой группе трансиверов с одинаковыми (но другими) SAS-адресами. «Узкий» (narrow) порт содержит один трансивер, «широкий» - два и более трансиверов. Порты определяются (конфигурируются) на этапе инициализации устройства.

SAS-адрес - это глобально уникальный64-битный идентификатор, который присваивается

185

каждому SAS-порту и каждому SAS-экспандеру.

В SAS определено два класса устройств: конечные устройства (end device) и устройства-

экспандеры (expander device).

Конечные устройства — это устройства SAS, являющиеся инициаторами или/ и целевыми устройствами SCSI (или SATA).

Примером конечного устройства являетсяSAS-диск, у которого два трансивера

всегда

имеют отдельные SAS-адреса, - устройство двухпортовое (для диска «широкий» порт

не

требуется).

 

Устройства-экспандеры служат для объединения конечных устройств в сложных конфигурациях. Экспандер имеет собственныйSAS-адрес для управления его функциями по протоколу SMP. Экспандер может содержать и внутренние устройства SAS (со своими SASадресами), подключаемые к его портам виртуальнымис трансиверами. Эти устройства могут, например, использоваться для управления блоком (питание, климат, защита и т. п.). Каждый трансивер экспандера имеет собственный идентификатор(номер), уникальный в пределах экспандера. Порты экспандера могут служить для подключения инициаторов и целевых устройств SAS, а также других экспандеров. По этим портам будут передаваться кадры любых протоколов (SSP, STP, SMP). Экспандер может (не обязательно) содержать мосты STP/SATA (один или несколько), позволяющие к портам экспандера(узким) подключать устройства SATA. По этим портам будут передаваться только кадры SATA.

Для выполнения задания SCSI (передачи команды, данных или сообщения состояния) необходимо установить SSP-соединение (SSP-connection) - временную связь между трансиверами инициатора и целевого устройства. Соединения устанавливаются также и для обмена с устройствами SATA (STP-соединение), и для управления экспандерами(SMP-соединения). Установление соединения - характерная черта SAS, обусловленная идеологией SCSI (в SATA понятие соединения отсутствует).

Для установления соединения устройство посылает запрос, указав SAS-адрес желаемого партнера. Экспандеры, выполняя маршрутизацию запроса, прокладывают путь (pathway) - определяют набор физических связей(links) между инициатором и целевым устройством соединения. Этот путь сохраняется до закрытия(или разрыва) соединения, и по нему передаются кадры и примитивыкак по выделенному двухточечному соединениюсо скоростью, доступной всем участкам пути.

Соединения адресуются к портам, но устанавливаются между трансиверами. Широкий порт (с N трансиверами) может устанавливать соединения одновременно сN различными портами. Два широких порта могут устанавливать друг с другом до N соединений. SAS-диски всегда представлены парой «узких» портов, «широкие» порты имеют только хост-адаптеры и RAID-контроллеры.

6.4.6.6.3. Топология домена и маршрутизация

Домен SAS в простейшем случае состоит из непосредственно соединенных друг с другом портов инициатора и целевого устройстваSSP. Если используются экспандеры, то в домене появляются еще и порты инициаторов и целевых устройствSMP, необходимые для конфигурирования домена (экспандеров). Если используются и устройства SATA, то, соответственно, появляются порты-инициаторы и целевые устройства STP. Возможны сложные конфигурации

с несколькими доменами.

Экспандеры по назначению разделяются на два типа:

-

Е-экспандеры (edge

expander) из которых

собираютсянаборы Е-экспандеров (edge

 

expander device set), обеспечивающие подключение конечных устройств;

-

F-экспандеры (fanout

expander) служат для

объединения множества наборов Е-экспан-

186

деров и конечных устройств.

Набор Е-экспандеров представляет собой древовидную структуру экспандеров. Набор может вырождаться и в один экспандер. Каждый набор может содержать до128 SAS-адресов (устройств-экспандеров и портов конечных устройств).

В одном домене SAS может присутствовать не более одного F-экспандера, с помощью которого объединяются до 128 наборов. Если F-экспандеров нет, то в домен может объединяться не более двух наборов. Конечные устройства могут подключаться и кF-экспандерам, и к Е- экспандерам. Между любыми устройствами (и конечными, и экспандерами) возможны соединения «широкими» интерфейсами, петлевые соединения запрещены, множественные пути отсутствуют.

Маршрутизацию в домене SAS выполняют экспандеры. Выполняется она при установлении соединений (SSP, STP или SMP), внутри соединения обмен между инициатором и целевым устройством происходит по проложенному маршруту. Для маршрутизации экспандеры должны быть предварительно сконфигурированы: заполнены их таблицы маршрутизации.

Этим занимается устройство-инициатор протокола SMP. Экспандер может быть само конфи- гурируемым - у него имеется внутренний инициатор SMP, который заполнит таблицы (свои и других экспандеров).

6.4.6.6.4. Архитектурная модель SAS

Архитектурная модель SAS состоит из набора уровней:

-Физический уровень (physical layer) определяет коннекторы, кабели и электрические параметры приемопередатчиков.

-PHY-уровень (PHY layer) (уровень физического устройств) определяет последовательную

передачу

данных (кодирование 8В/10В) и

специальную «внеполосную» (OOВ)

сигнализацию для служебных целей.

 

-Канальный уровень (link layer) определяет примитивы, адресные кадры и соединения. На канальном уровне решаются задачи идентификации подключенных устройств, выполнения их сброса, управления соединениями. Для каждого протокола (SSP, STP и SMP) канальный уровень определяет свои правила обмена кадрами и примитивами.

- Уровень порта (port layer) является прослойкой между канальным и транспортным уровнями, обеспечивающей установление и разрыв соединений в портах.

-Транспортный уровень (transport layer) определяет структуры кадров и транспортные сервисы для протоколов SSP, STP и SMP.

-Прикладной уровень (application layer) для протокола SSP определяет процедуры выполнения команд SCSI согласно архитектурной модели SAM. Для протокола SMP приклад-

ной уровень определяет функции, необходимые для идентификации устройств, выяснения топологии домена и управления экспандерами. Для протокола STP прикладной уровень SAS не вводит каких-либо особенностей по сравнению с SATA.

6.4.6.6.5. Физический уровень SAS

Физический уровень SAS (physical layer) определяет коннекторы и кабели, а также электрические спецификации приемопередатчиков. Эти спецификации совместимы сSATA, но различаются в некоторых деталях. В SATA заданы характеристики передатчиков и кабелей, которые косвенно задают характеристики приемников; в SAS требования к приемникам заданы явно. В SATA допускается связь между устройствами как по постоянному, так и по переменному току; в приемнике SAS должны присутствовать разделительные конденсаторы (в передатчике - не обязательно), так что связь имеется только по переменному току. В SATA возможно применение синхронизации с расширением спектра(SSC), в SAS расширение

187

спектра не применяется.

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

Fibre Channel, Gigabit Ethernet, XAUI, InfiniBand, 1394b, PCI Express.

За основу разъема для внутреннего исполнения (рис. 6.23, а, табл. 6.10) взят коннектор Serial ATA, в котором в сигнальной секции добавлены контакты для вторичного физического интерфейса (secondary physical link).

Рис. 6.23. Разъемы устройств SAS: а — внутренний, б — внешний

Таблица 6.10. Разъем устройства SAS

Контакт

Цепь

Назначение

S1

GND

Экран

S2

RP+

Дифференциальный вход первичного трансивера PHY

S3

RP-

 

S4

GND

Экран

S5

ТР-

Дифференциальный выход первичного трансивера PHY

S6

ТР+

 

S7

GND

Экран

S8

GND

Экран

S9

RS+

Дифференциальный вход вторичного трансивера PHY

S10

RS-

 

S11

GND

Экран

S12

TS-

Дифференциальный выход вторичного трансивера PHY

S13

TS+

 

S14

GND

Экран

Р1

V33

Питание 3,3 В

Р2

V33

Питание 3,3 В

Р3

V33

Питание 3,3 В, предварительный заряд

Р4

GND

Общий

Р5

GND

Общий

Р6

GND

Общий

Р7

V5

Питание 5 В, предварительный заряд

Р8

V5

Питание 5 В

Р9

V5

Питание 5 В

Р10

GND

Общий

Р11

Ready LED

Светодиодный индикатор готовности/активности

Р12

GND

Общий

Р13

V12

Питание 12 В, предварительный заряд

Р14

V12

Питание 12 В

Р15

V12

Питание 12В

В питающей секции резервный (в SATA) контакт Р11 использован для индикации готов-

188

ности устройства. Подключаемые кабели могут содержать один или два физических интерфейса. Определен и разъем кросс-шины для непосредственного подключения устройств SAS с двумя физическими интерфейсами (устройства SATA с этим разъемом несовместимы из-за L-образных ключей).

Для SAS-1.1 фирма HP предлагает использовать внутренний4-контактный коннектор, на котором питание и индикация не предусмотрены, но введены контакты для дополнительных интерфейсов. Этот тип разъемов определен в стандарте SFF-8484.

Для внешних соединений в SAS приняты 4-канальные кабели и 32-контактные разъемы (см. рис. 6.23, б), у которых сигналы сгруппированы по направлениям(группа входов и группа выходов); питание и индикация не предусмотрены.

Дополнительную информацию по интерфейсуSCSI, о его модификациях и применении можно найти в [8], [21], [28]. Информацию о взаимодействии устройствSCSI через IPсеть (iSCSI) можно найти а[28]. Информацию о структурах данныхSCSI, которые поддерживаются устройствами ATAPI и примеры программ, использующих пакетные команды можно найти [30]в . Информацию о конфигурировании устройствSCSI, о принципах ввода-вывода на шинеSCSI, о протоколах SSP, SMP и STP можно найти в [8], [28]. Информацию о функциональных классификационных признакахSCSI и SAS можно найти в [66].

В данном разделе использована информация из [8], [21], [28].

6.4.7. Периферийный ИВВ Fibre Channel

Fibre Channel (FC) - это интерфейс высокоскоростных коммуникаций между компьютерами и периферийным оборудованием, широко используемый в сетях хранения данных(Storage Area Network, SAN). Интерфейс Fibre Channel имеет высокую пропускную способность, малые задержки доставки и высокую надежность передачи. Вместе с тем в нем присутствуют черты сетевых технологий: возможность подключения большого количества устройств; большие расстояния; наличие средств управления и диагностики.

История Fibre Channel началась в 1988 году, с 1994 года это стандарт ANSI, которым занимается комитет NCITS T11. В интерфейсе используется последовательная передача данных в виде пакетов. Первоначально интерфейс предназначался только для оптоволокна (fiber), позже ввели медный кабель и в связи с этой универсальностью изменили написание названия на европейский манер («fibre» вместо «fiber»). На физическом уровне(FC-PH) в интерфейсе имеется возможность выбора топологии соединений: двухточечное соединение, кольцевая топология (FC-AL) и топология с коммутационной фабрикой(FC-SW). Среда передачи в основном определяется требуемым расстоянием между соединяемыми устройствами: медный кабель - для коротких (до 60 м) дистанций, многомодовое оптоволокно - для средних (до 500 м), одномодовое оптоволокно - для дальних (до 10 км). Наиболее широко FC применяется для устройств хранения в качестве скоростного транспортного средства протокола SCSI. В настоящее время широко используются скорости100 и 200 Мбайт/с (1,0625 и 2,125 Гбит/с). Поскольку SCSI применяется для различных классов устройств (не только устройств хранения), Fibre Channel тоже можно задействовать для разнообразных соединений. Это могут быть соединения процессорных блоков, принтеров (без встроенных принт-серверов), мультимедийные соединения.

Интерфейс Fibre Channel позволяет использовать общую физическую среду передачи для общепринятых верхнеуровневых (Upper Layer Protocol, ULP) и сетевых протоколов, а также канальных технологий. Здесь под каналами подразумеваются относительно постоянные(статичные) соединения, устанавливаемые, как правило, между компьютерами и периферийным