Московский государственный университет путей сообщения
Опубликован: 11.04.2006 | Доступ: свободный | Студентов: 1311 / 300 | Оценка: 4.39 / 4.00 | Длительность: 17:21:00
ISBN: 978-5-9556-0036-1
Специальности: Разработчик аппаратуры
Лекция 6:

Каналы ввода-вывода

< Лекция 5 || Лекция 6: 1234 || Лекция 7 >

Последовательный канал FICON

Канал FICON впервые был использован в генерациях G5, G6 серверов S/390 и основан на ANSI стандарте Fibre Channel, введенном международным комитетом INCITS (International Committee of Technology Standards).

Пример выполнения команды в ESCON-канале

Рис. 3.6. Пример выполнения команды в ESCON-канале

Стандарт Fibre Channel относится к сетевым технологиям и используется для подключения внешней памяти и периферийных устройств к центральным устройствам серверов [3.5, 3.6]. Система ввода-вывода на его основе представляет собой сеть, узлами которой являются серверы и контроллеры периферийных устройств (рис. 3.7). Каждый такой узел для связи с другими узлами системы содержит один или более портов, называемых N-портами. Для соединения узлов могут использоваться различные топологии: прямое и коммутируемое (в том числе с каскадированием коммутаторов) соединения точка-точка, кольцевые структуры с арбитражем (arbitrated loop), а также сложные коммутирующие сети (switch fabric), состоящие из соединенных между собой различных коммутирующих устройств S (коммутаторы, концентраторы, маршрутизаторы). При использовании кольцевых структур для соединения узлов применяются NL-порты. Для связи коммутаторов switch fabric между собой служат E-порты, а для подключения switch fabric к N-портам и NL-портам узлов предназначены, соответственно, F-порты и FL-порты коммутаторов.

Как и в ESCON, в FICON для передачи сигналов используется оптоволокно, однако обеспечивается скорость обмена 1 Gb/s (FICON) или 2 Gb/s (FICON-Express) и максимальная длина интерфейса до 100 км. Каждая линия FICON состоит из двух оптических кабелей, но в отличие от ESCON, где используется режим half-duplex, здесь реализуется полностью дуплексный режим обмена (full-duplex).

Узлы и порты FICON

Рис. 3.7. Узлы и порты FICON

FICON-канал может функционировать в следующих режимах:

  • FCV (FICON Conversion Mode);
  • FC (FICON Native Mode);
  • FCP (FICON Fibre Channel Protocol mode).

Канал FCV предназначен для подключения к контроллерам CU со стандартом ESCON (рис. 3.8). В этом случае FICON-канал подключается к ESCON коммутатору через мост FICON-ESCON, установленный в качестве порта в коммутаторе ESCON.

FCV-канал

Рис. 3.8. FCV-канал

Канал FC является оригинальным вариантом FICON-канала и предусматривает топологии подключения, приведенные на рис. 3.9. Прямое (рис. 3.9а) и коммутируемое (рис. 3.9б) подключение точка-точка реализуется аналогично соответствующим вариантам подключения ESCON-каналов. Прямое подключение реализуется непосредственным соединением FICON-линией двух узлов через N-порты. Коммутируемое подключение реализуется с использованием FICON-коммутатора (FICON-switch), к которому узлы подключаются через F-порты.

FICON-switch реализован по технологии коммутации пакетов, в отличие от ESCON director, основанного на схемной коммутации. Каскадирование коммутаторов (рис. 3.9в) с целью создания многовариантных путей и объединения различных систем реализуется через E-порты и линию обменов между коммутаторами ISL.

Для FC-каналов возможно соединение канал-канал (FCTC). Как и в ESCON-каналах, необходимые в этом случае контроллеры CU для выполнения обменов реализуются в каналах в виде дополнительных функций на уровне милликодов.

Канал FCP основан на протоколах, разработанных комитетом INCITS, и предназначен для подключения CU периферийных устройств, функционирующих по протоколам FCP либо SCSI (Small Computer System Interface). Данные протоколы поддерживаются многими производителями, в том числе поставщиками устройств внешней памяти, что расширяет возможности классического подключения через IBM ESCON и FICON каналы. FCP-протокол является основой при построении сети для подключения памяти (Storage Area Network - SAN).

Варианты подключения FCP-канала приведены на рис. 3.10. Подключение выполняется посредством FICON-линии от одного из коммутаторов switch fabric к N-порту CU. Подключение к SCSI-устройству выполняется через дополнительный SCSI-мост. Различные типы такого моста могут использоваться для подключения SCSI разных стандартов (LVD, HVD и др.). Топология прямого подключения точка-точка и кольцевая топология arbitrated loop, предусмотренные стандартом Fibre Channel, в FCP-каналах FICON не используются.

Топология FC-канала

Рис. 3.9. Топология FC-канала
Топология FCP-канала

Рис. 3.10. Топология FCP-канала

FCP-канал может функционировать как в классическом варианте с исполнением канальных программ, так и в режиме прямого доступа с буферизацией (Queued Direct Input/Output - QDIO), реализуемого без исполнения канальных программ. Механизм QDIO основан на прямом доступе в память и организации взаимодействия операционной системы и канала через очереди сообщений.

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

Для обмена сообщениями в памяти используются две очереди: очередь запросов (request queue) и очередь ответов (response queue). Каждая пара очередей соответствует коммуникационному пути между операционной системой и FCP-каналом. Это позволяет операционной системе передавать запросы к FCP-каналу путем их загрузки в очередь запросов, а FCP-каналу - передавать ответные сообщения через очередь ответов. Организация обменов через очереди в памяти позволяет увеличить пропускную способность канала за счет уменьшения задержек в циклах запрос-ответ.

Функционирование FICON-каналов определяется многоуровневой архитектурой и протоколами стандарта Fibre Channel. Общая модель архитектуры FICON включает пять уровней (табл. 3.5), которые могут быть соотнесены с уровнями OSI.

Уровень FC-0 FICON определяется протоколом FC-PI и задает физический интерфейс и его использование для передачи информации. В качестве физической среды передачи применяется оптоволокно с соответствующими приемниками, передатчиками, повторителями и преобразователями. Для надежной передачи в передаваемых последовательностях за счет кодирования обеспечивается чередование нулей и единиц. На этом уровне также задается скорость передачи.

Таблица 3.5. Уровни реализации FICON
Приложения SSCH, ORB, CCW Уровень Протоколы
Верхний прикладной уровень (ULP) FC 4 FC-SB2, FC-FCP
Общий сервис (резерв для будущего использования) FC 3 -
Фреймирование и управление потоками данных FC 2 FC-FS
Кодирование/декодирование FC 1
Физический интерфейс: среда передачи, приемники/передатчики, разъемы FC 0 FC-PI
ESCON-топология
ESCON CU

Уровень передачи FC-1 основан на протоколе FC-FS и реализует преобразование 8 бит \to 10 бит, при котором каждому 8-разрядному коду EBCDIC ставится в соответствие уникальный 10-разрядный символ для передачи на физический уровень. На уровень FC-0 передаются два возможных варианта символа, из которых выбирается один, отличающийся от предыдущего переданного символа в граничных разрядах. Неиспользуемые при кодировке значения символов применяются в качестве служебных. Обратное декодирование принимаемых символов также реализуется на уровне FC-1.

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

Слово является минимальной единицей информации, используемой во всех типах сообщений. Пересылка данных осуществляется фреймами, состоящими из служебных символов и информационных полей, структурированных словами. Фрейм является базовым типом сообщений разных уровней архитектуры FICON, объединяемых в одном формате путем инкапсуляции. Последовательность из одного или нескольких фреймов, передающих блок информации, называется пакетом. Фреймы пакета при передаче через коммутирующую сеть могут поступать в приемник в произвольной последовательности, но в приемнике восстанавливается их первоначальная последовательность. Группа фреймов, обеспечивающая выполнение операции, заданной приложением, называется обменом. Одновременно в канале может осуществляться несколько обменов, фреймы которых передаются поочередно. Каждый порт узла рассчитан на запуск и поддержку до 64 тысяч операций обмена и одновременно способен отвечать и поддерживать еще 64 тысяч обменов. В узлах FICON выполняется сортировка фреймов "на лету" по адресной информации, включенной в формат фрейма.

Обобщенный формат фрейма FICON представлен на рис 3.11. Фрейм имеет типовую структуру, включающую 4-байтные концевики SOF и EOF, 24-байтный заголовок и 4-байтный контрольный код CRC. Поле данных может иметь длину от 0 до 2112 байтов и предназначено для размещения заголовков и полей данных сообщений с более высоких уровней архитектуры. С двух сторон фрейм ограничен шестью пустыми (idle) символами, необходимыми для правильного приема фреймов в случае расхождения частот передающего и принимающего узлов.

Формат заголовка фрейма FC-2 включает (рис. 3.11):

  • Два 24-разрядных поля для указания идентификаторов приемника (D_ID) и источника (S_ID) передаваемого фрейма. Это либо адреса N-портов узлов при прямом соединении точка-точка, либо входной и выходной F-порты используемого в соединении каскадного включения коммутаторов, через которые узел осуществляет обмен.
  • Поля идентификатора пакета (SEQ_ID) и порядкового номера фрейма в пакете (SEQ_CNT) служат для организации приема передачи фреймов в составе одного пакета.
  • Поля OX_ID (exchange originator identification) и RX_ID (exchange responder identification) используются для идентификации участников обмена серией пакетов. Инициатор (originator) обмена устанавливает в поле OX_ID свой идентификатор, а приемник (responder) в первом ответном фрейме обмена устанавливает свой идентификатор в поле RX_ID. Далее эти идентификаторы повторяются во всех фреймах обмена, что позволяет определить фреймы, принадлежащие данному обмену при одновременном выполнении многих операций обмена.
  • Остальные поля заголовка используются для передачи параметров и управляющей информации, необходимой для организации передачи.
Форматы фреймов FICON

Рис. 3.11. Форматы фреймов FICON

Поле данных может иметь длину от 0 до 2112 байт и предназначено для размещения фрейма верхнего прикладного уровня, соответствующего протоколу FC-SB2, SCSI и др.

Уровень FС-3 зарезервирован для будущих расширений архитектуры FICON для организации совместной работы нескольких портов на одном узле и обеспечения для них общих видов сервиса.

Уровень FC-4 реализует взаимодействие с протоколами верхнего уровня ULP (Upper Level Protocol), например SCSI, IPI, IEEE 802, IP и ATM, и выполнение требуемых операций ввода-вывода с периферийными устройствами. Базовым протоколом уровня является протокол FC-SB2, формирующий фреймы для инкапсуляции в поле данных фрейма уровня FC-2. Информация, связанная с выполнением операций ввода-вывода и формируемая на уровне FC-4, передается в виде информационных блоков IU (Information Unit). Блоки IU включают команды, данные, состояния и управление для установления связи и обмена информацией с периферийными устройствами. На рис. 3.11 показан формат фрейма FC-SB2. Блоки IU размещаются в поле данных фрейма DIB, имеющем переменную длину, с использованием следующих дополнительных полей:

  • заголовок SB-2, включающий адреса канала, CU и устройства, участвующих в обмене;
  • заголовок информационного блока IU, определяющий его параметры;
  • заголовок поля данных DIB, указывающий тип передаваемого IU и его объем;
  • контрольные разряды SB-2 CRC.

Прикладная программа инициирует операцию ввода-вывода путем формирования блока управления устройством UCB (Unit Control Block) и инициализации запроса к супервизору ввода-вывода IOS (Input Output Supervisor). При этом указывается канальная программа, реализующая операцию ввода-вывода, и блок запроса операции ORB, размещаемый в очереди в UCB. IOS обрабатывает запрос из UCB и исполняет команду SSCH, которая сигнализирует подсистеме ввода-вывода CSS о начале операции. Далее выбирается FICON-канал, который исполняет заданную канальную программу. В выбранном канале формируются фреймы, передающие информационные блоки IU. Отличительной особенностью выполнения CCW в FICON-канале по сравнению с ESCON-каналом является передача команд каждого CCW в CU без получения сообщения от CU с подтверждением завершения выполнения команды в устройстве. Такое подтверждение передается только после исполнения последнего CCW канальной программы, что уменьшает общее число передаваемых фреймов и сокращает время исполнения операции ввода-вывода.

Максимально возможная длина линий FICON зависит от типа оптоволокна и трансиверов. В таблице 3.6 приведена допустимая длина линий без повторителей. Использование повторителей увеличивает длину до 100 км.

Таблица 3.6. Допустимая длина линий FICON без повторителей
Параметры линий Скорость обмена
1Gb/s 2 Gb/s
9 micron single mode LX laser (1300 nm) 10 km 10 km
50 micron multimode SX laser (850 nm) 500 м 300 м
62.5 micron multimode SX laser (850 nm) 250 м 120 м

Максимальная фактическая скорость передачи информации в FICON-линии составляет 1 Gb/s и с учетом избыточного кодирования 8 \to 10, служебных символов, дополнительных управляющих и контрольных кодов не превышает 100 Mb/s , что обеспечивает для полнодуплексного обмена скорость до 200 Mb/s.

< Лекция 5 || Лекция 6: 1234 || Лекция 7 >