FICON
FICON (аббр. от Fibre Connection) — последовательный канал передачи данных, основанный на ANSI-стандарте Fibre Channel, введённом международным комитетом IT-стандартов INCITS. Стандарт Fibre Channel используется для подсоединения к серверам периферийных устройств и внешней памяти. FICON реализует дуплексный режим, так что данные могут передаваться по одному каналу в обоих направлениях. В зависимости от реализации интерфейс FICON обеспечивает скорость передачи от 1 до 4 Гбит/с при максимальной длине линии от 9 до 100 км.
Впервые был использован в генерациях G5, G6 серверов IBM S/390. FICON используется исключительно в компьютерах, построенных на архитектуре Z (zSeries и современные потомки System/360, 370, 390), более известные как мейнфреймы.
Терминология FICON
Узел
Узел (Node) — конечная точка содержащая информацию. Это может быть компьютер (хост), контроллер или периферийное устройство. У каждого узла есть уникальный 64-битный идентификатор.
Порт
Каждый узел обязан иметь хотя бы один порт для соединения узла с оптическим интерфейсом. Дальше будем именовать его N_Port (от Node Port). N_Port имеет уникальный 64-битный идентификатор, заданный на время его работы. N_Port нужен для того чтобы ассоциировать точку доступа с ресурсами узла.
Существуют также порты следующих типов :
- E_Port (expansion port) — необходимый для соединения сетевых коммутаторов.
- F_Port (fabric port) — необходим для непосредственного соединения порта узла с коммутатором.
- FL_Port (fabric loop port) — необходим для кольцевого соединения порта узла с коммутатором.
- G_Port
- L_Port
- NL_Port
Коммутаторы FICON
В топологии FICON различаются следующие типы коммутаторов :
- Входной коммутатор, напрямую связывающий FICON канал с целевым контроллером или другим коммутатором.
- Каскадный коммутатор, соединяющий контроллер со входным коммутатором.
Входной и каскадный коммутаторы соединяются межкоммутаторной линией (Inter-Switch Link или ISL). Каждый коммутатор имеет порты, адресуемые 1-байтным адресом.
Коммутируемая матрица
Несколько соединённых коммутаторов образуют коммутируемую матрицу (Switched Fabric), к которой подключаются порты узлов (N_Port)
Линия FC
Порты узлов и коммутаторов соединяются между собой через линию FC (Fibre Channel Link). Линия FC — это оптический кабель, имеющий две жилы: одну для передачи сигнала и одну для приёма. Линия FC может соединять :
- узел + узел (N_Port+N_Port);
- узел + коммутатор (N_Port+F_Port);
- (кольцевое соединение) узел + коммутатор (NL_Port+FL_Port);
- коммутатор + коммутатор (E_Port+E_Port).
Топологии и режимы FICON
Канал FICON может получать доступ к контроллерам FICON используя следующие топологии (схема):
- точка-точка;
- переключаемая точка-точка;
- с каскадными коммутаторами.
FICON канал может функционировать в следующих режимах:
- FCV (FICON Conversion Mode);
- FC (FICOn Native Mode);
- FCP (FICON Fibre Channel Protocol mode).
Канал FCV предназначен для подключения к контроллерам со стандартом ESCON. В этом случае FICON-канал подключается к ESCON коммутатору через мост FICON-ESCON, установленный в качестве порта в коммутаторе ESCON.
Канал FC является оригинальным FICON каналом и предусматривает топологии подключения указанные выше.
Канал FCP основан на протоколах, разработанных комитетом INCITS, и предназначен для подключения к контроллерам, функционирующим по протоколам FCP или SCSI. FCP-протокол является основой при построении сети для подключения памяти (Storage Area Network).
Элементы FICON
Канал FICON
Когда приложение выполняет операцию ввода-вывода на соответствующее устройство, представленное блоком контроллеров (Unit Control Block), оно инициирует запрос ввода-вывода, который поступает в очередь запросов контроллера соответствующего устройства, используя команду SVC (Supervisor Call) супервизора ввода-вывода (IOS). Приложение также обеспечивает канальную программу (Channel Command Words) и дополнительным параметром в блоке запроса операции (Operation Reques Block). Этот запрос размещается в очереди блока UCB (IOS обслужит этот запрос в соответствии с его приоритетом).
Затем IOS запускает команду START SUBCHANNEL (SSCH) с идентификатором канальной подсистемы Subsystem Identification word (SSID) и ORB в качестве операндов. Канальная подсистема (Channel Subsystem) получит сигнал к выполнению операции.
Далее CSS подберет наиболее подходящий FICON канал и предаст ему канальные программы (CCWs), подготовленные приложением. Канал получит программы и извлечёт из памяти данные, по адресу указанному в CCW (если производится вывод), или запишет данные в память (если производится ввод) и предоставит статус операции приложению (I/O Interrupt).
FICON упаковывает команды z/Архитектуры, данные и статусы в информационные элементы (Information Units) FC-SB-2 (уровень FC-4). UIs[неизвестный термин] от нескольких операций при передаче на один контроллер скалыдаются вместе на четвёртом уровне FC (фрейминг), а при передаче на разные контроллеры соответственно распределяются. Эти фреймы второго уроня (всместе с заключёнными в них FC-SB-2 IUs) кодируются и раскодировуются на первом уровне FC (уровне кодировки) и посылаются на или принимаются от первого уроня FC (волоконно-оптической среды).
Цепочки CCW
Способность CCW складываться в цепочки существенное отличие FICON от ESCON. Канал ESCON, передавая CCW на контроллер, вынужден ожидать статуса завершения работы и устройства (Channel End/Device End или CE/DE) после передачи каждой CCW. FICON же поддерживает передачу цепочек CCW без ожидания CE/DE после выполнения каждой CCW, ожидая CE/DE только после выполнения всей цепочки.
Ссылки
- IBM S/390 FICON Implementation Guide
- Технология FICON
- В.А. Варфоломеев, Э.К. Лецкий, М.И. Шамров, В.В. Яковлев. Глава 6. «Каналы ввода-вывода» → Последовательный канал FICON // Архитектура платформ IBM eServer zSeries. — ISBN 5-9556-0036-1.