FICON

FICON (аббр. от Fibre Connection) — последовательный канал передачи данных, основанный на ANSI-стандарте Fibre Channel, введённом международным комитетом IT-стандартов . 
Стандарт 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 только после выполнения всей цепочки.

Программное обеспечение 
Операционные системы, поддерживающие FICON :
 z/OS
 z/VM
 VSE
 TPF
 z/Linux

Ссылки 
 IBM S/390 FICON Implementation Guide
 Технология FICON
 

Сети мейнфреймов
Мейнфреймы
Волоконная оптика