Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛЕКЦИИ по оЭВМиС.doc
Скачиваний:
0
Добавлен:
06.11.2018
Размер:
797.18 Кб
Скачать

Коды , передаваемые по шине rs[0-2] в фазе ответа

00 – IDL state

001 – повтор ответ

010 – задерж. ответ

011 – резерв

100 – тяжелая ошибка

101 – нет ответа данных

110 – безусловная обратная запись

111 – нормаль. ответ данных

Реакция процессора в фазе ответа на RS=010 “задерж. ответ”

Для транзакций, которые могут быть задержанными, о чём указывает сигнал DEN во 2ой фазе. запроса в MCH имеется буфер задержки транзакции, куда эти транзакции помещаются. При этом MCH берет ответственность на себя, формируя RS=010 сопровождая сигналом DEFFER.

Технология организации ввода вывода на системной шине.

Существует несколько способов организации ввода вывода

-программно управляемый ввод вывод

-с использованием механизма прерываний

- прямой доступ к памяти

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

Данный способ не является производительным так как требует активизации цикла ввода вывода на шине при передаче символа или приеме его из устройства.

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

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

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

Необходимо отметить, что вышеупомянутые способы, характерные для архитектур системных шин на начальном этапе их развития, например, ISA,EISA,которые в современных системах практически не используются, продолжают оставаться основополагающими принципами организации обмена на шине и в частности в ПК, а контроллеры прерываний как в исходном варианте так и модернизированном нашли свое место в чипсетах современных плат. Что же касается технологии прямого доступа к памяти ,как мы уже говорили, рассматривая эволюцию системной шины, остается основополагающей при организации ввода вывода во всех современных архитектурах и ,как мы увидим позже, стала внедряться в канальные системы. На системной шине в основном начиная с шины PCI этот способ является основой ее протокола, который дал возможность организации параллельных потоков движения информации в системе. Элементы контроллера прямого доступа к памяти стали внедрять в аппаратную часть контроллеров интерфейсов на шине, связывающих внешние устройства с системой, благодаря чему и стала возможность организации параллельных потоков движения информации.

Лекция N21

Тема лекции: Канальная система ввода вывода.

  1. Структурные элементы канальной системы ввода вывода.

  2. Организация операций ввода вывода в каналах.

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

Аппаратная часть канала в основном реализуется в виде автономного оборудования. В таких системах для связи с оперативной памятью требуются при выполнении операций ввода вывода только циклы связи с оперативной памятью для приема передачи данных и управляющей информации. В свое время ,в системах со средней производительностью для уменьшения стоимости системы на время связи канала с памятью использовали часть оборудования процессора и его информационных трактов.. Примером подобной архитектуры была архитектура отечественной ЭВМ среднего класса ЕС1045. В той машине была общая память микропрограмм, и канал на время микропрограммного обслуживания через механизм микропрограммного прерывания получал доступ к этой памяти. При этом устанавливался специальный бит

управления дешифрации полей микрокоманд, указывающий на работу микропрограммы канала.

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

Для того чтобы разобраться в работе этого механизма рассмотрим базовые положения и понятия в классической структуре канальной системы , которыми являются канальная программа, ее структура ,подканал его содержимое и назначение.

Средства канала, необходимые для выполнения одной операции ввода вывода, называются подканалом. Таким средством является область оперативной памяти системы , выделенная для хранения исходной и промежуточной информации, необходимой для выполнения операции ввода вывода. Доступ к этой памяти возможен только для команд ввода вывода со стороны процессора и со стороны канала в процессе выполнения операции. Каждая операция ввода вывода предназначена для выполнения с конкретным одним устройством в системе поэтому напрашивается вывод : для обеспечения этих операций наилучшим вариантом был бы- для каждого устройства ввода вывода иметь в памяти свою область. Но этого не делается, а точнее делается частично.

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

В связи с выше сказанным ввели понятия разделенных и неразделенных подканалов.

Подканал считается неразделенным, если он используется одним устройством ввода вывода.

Подканал считается разделенным, если для выполнения операции в любом устройстве из группы используется один и тот же подканал. Рассматривая классическую архитектуру системы ввода вывода, можно отметить следующее: в свое время дисковая подсистема имела разделенный подканал , так как в специфику своей работы могла организовать обмен данными только одному дисководу из группы с памятью. А, например, устройства байт – мультиплексного канала имели неразделенные подканалы так каких контроллеры позволяли независимый обмен каждого устройства друг от друга .

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

Как видно из содержимого подканала в нем хранится вся необходимая информация для обмена с устройством . Нулевая ячейка не требует комментарий. В первой ячейке в нулевом байте записываются флажки CCW(командное слово канала) О командном слове канала мы поговорим позже ,разбирая канальную программу . Во второй ячейке в нулевом байте хранится ключ защиты , который является элементом механизма защиты системной памяти , который мы рассмотрим позже.

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

Канальная программа.

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

Для того ,чтобы канал знал о расположении канальной программы в памяти процессор размещает начальный адрес канальной программы и ключ защиты в ячейке памяти с фиксированным адресом перед началом операции ввода вывода. Эта ячейка носит название CAW или АСК- адресное слово канала. По окончании операции ввода вывода канал размещает результат операции также в ячейке с фиксированным адресом в памяти , записывая в нее байты состояния устройства и канала, остаточный счет, ключ защиты памяти и адрес последнего командного слова канала плюс восемь.

Программные средства канала

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

Флажок цепочки команд.

Для того чтобы канальная программа состояла из нескольких КСК и используется этот флаг, указывающий на продолжение канальной программы. Цепочка команд позволяет по одной команде ввода вывода программе осуществлять передачу нескольких блоков данных как и при цепочке данных ,но в данном случае каждое новое выбранное КСК выполняет свою операцию, поэтому, прежде чем выбрать очередное КСК из памяти , канал ждет момента когда внешнее устройство полностью закончит операцию обмена, включая все механические перемещения своих частей то есть будет готово для выполнения новой операции ввода вывода. Этот момент фиксируется каналом при получении от устройства байта состояния с указателем УК(устройство кончило).

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

Что же касается устройства при выполнении цепочки команд возникает вопрос . Информирует ли канал устройство о том, что канал работает с цепочкой команд или это только функция канала? Да, сообщает путем посылки соответствующей последовательности интерфейсных сигналов, указывая устройству на то, что по окончании текущей операции устройство обязано выставить запрос на начальную выборку- gпоследовательность интерфейсных сигналов для связи с каналом. Вопрос о том остается ли устройство логически подключенным к каналу( поддержание управляющих интерфейсных сигналов в активном состоянии) до начала следующей операции зависит от режима работы канала. О чем мы поговорим позже.

Флаг подавления неправильной длины.

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

Флаг блокировки записи в память

Используется в операциях чтения.

Флаг программно управляемого прерывания.

При единичном состоянии вызывает запрос на прерывание в канале. Может быть использован как инструмент наблюдения выполнения канальной программы со стороны процессора.

Флаг косвенной адресации данных

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

Адресация устройств в канальной системе.

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

Режимы работы каналов.

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

И так с точки зрения временного взаимодействия канала с устройством операция ввода вывода может быть выполнена в одном из двух режимах:

- монопольном

-мультиплексном

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

Никакое другое устройство не может подключиться к каналу, пока не завершиться передача данных в ВУ. Физически блокировка других устройств осуществляется логическим сигналом, выдаваемым устройством в канал, и пока этот сигнал остается активным устройство монополизирует выше указанные средства.

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

В соответствии с режимом работы каналов различают типы каналов в классической архитектуре:

- байт-мультиплексный

- блоковый(селекторный)

- блок-мультиплексный

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

Блоковый канал работает только в монопольном режиме.

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

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

то он функционирует как блоковый.

2.Ввод вывод данных в канальной системе начинается с выполнения команды “Начать ввод вывод” Выполнение этой команды в процессоре задерживается, пока не будут удовлетворены все предыдущие запросы от процессора к основной памяти по отношении к каналам и к другим процессорам в многопроцессорных системах. Только после этого начинается выполнение команды.

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

Начав выполнятся команда ввода вывода читает эту ячейку(АСК)и передает в канал .Адрес канала и устройства находится в памяти по адресу указанному в формате команды. После чего процессор передает управление вводом вывода каналу, включив таймер, и ожидает ответа от канала.

Передача управления в различных архитектурах реализуется своими способами. Так ,на пример, в отечественной ЭВМ ЕС1046, общую управляющую память для процессора и канала, как мы уже говорили об этом, управление каналу передавалось микропрограммными средствами путем установки со стороны процессора запроса на микропрограммное прерывание.

В течении определенного времени канал обязан организовать выборку адресуемого устройства, предварительно проверив его состояние в подканале. Адрес устройства канал читает из регистра связи с процессором в который команда ввода вывода записывает этот адрес в начале выполнения.

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

Осуществляется через механизм микропрограммного прерывания.

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

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

Устройство получив приказ отключения от канала формирует байт конечного своего состояния и организует запрос на передачу его в канал.

Канал, получив запрос на связь устройства с ним, по своему усмотрению может принять этот байт или дать указание устройству “ запомнить состояние” в зависимости от состояния в канале.

Канал, если в этом будет необходимость, сам обратится к устройству и примет этот байт конечного состояния.

В любом случае окончанием операции ввода вывода в

канале будет формирование слова состояния канала и запроса на прерывание ввода вывода в процессор.

Лекция N22

Тема лекции:

1.Структура канальной системы компьютеров Zархитектуры.

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

Структура канальной системы серверов Z архитектуры

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

В классической архитектуре каналы получали всю управляющую информацию из блока управления каналами,

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

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

То есть изменилась и архитектура блока связи процессора с каналами. Если в классической системе количество каналов

было немногочисленно, то для большого количества каналов с большой пропускной способностью (ESCON 17мгб/сек, FICON 1гбт/сек) существующая топология стала неприемлемой, и был разработан высокоскоростной самосинхронизирующий интерфейс STI , поддерживающий сетевую топологию с передачей кадров между каналами и адаптерами памяти, выполняющими часть функций общего канала в классической системе. Поэтому процессорные узлы каналов стали выполнять не только функции , реализующие выполнение канальных программ, но и формирование кадров для связи согласно протокола STI с процессом ввода вывода и системной памятью и кадров для связи с устройствами ввода вывода по протоколу типа канала.

Интерфейс STI имеет трехуровневую организацию:

  • физический

  • логический

  • пользовательский

Физический уровень обеспечивает побайтный прием и передачу кадров от каналов к оперативной памяти и обратно.

Логический уровень отвечает за формирование кадров, состоящих из заголовка и информационного блока.

Заголовок содержит адреса источника и получателя.

Информационный блок определяется типом кадров.

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

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

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

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

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

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

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

Изменилась и программная поддержка функционирования канальной системы. Был расширен набор системных команд, производящих операции с подканалами то есть областями памяти ,в которых хранятся текущая информация о состояниях устройств ввода вывода и были изъяты команды, которые непосредственно управляли устройствами точнее формировали свои признаки результата только после того как получали из каналов информацию об окончании операций с устройством. Например, команда начать ввод вывод SIO заканчивала свое выполнение только после того, как получит результат опроса устройства каналом. Эта команда была заменена командой старт подканала SSCH, которая устанавливает признак результата после анализа состояния подканала, не дожидаясь пока канал, непосредственно опросит устройство. Если состояние устройства не позволяет начать операцию ввода вывода, то канал через механизм прерывания сообщает об этом процессору.

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

Во первых отказ от параллельной передачи данных и использование в качестве среды оптоволоконную связь позволило увеличить пропускную способность каналов от 4.5 мгбт/сек. До 17.5 мгб/сек.(ESCON).

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

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

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

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

Что же касается физических адресов каналов и устройств необходимо отметить следующее:

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

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

Физический адрес устройства, который определяет местонахождение в системе ввода-вывода, и дополнительно в классической архитектуре и расположение подканала устройства в оперативной памяти стало использовать на уровне контроллер ВУ-ВУ.

Контроллёр Ву с вводом много портового Ву перестал быть единственным посредником доступа к Ву, а разделил канал доступа к Ву с другими контроллерами ему подобными. Поэтому для указания адреса доступа к устройству ввели понятия логического контроллера Ву или по-другому его имиджа, представляющего идентификатор группы контроллеров через которые возможен доступ к устройству.

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

Ознакомившись с функционированием основных компонентов канальной системы серверов Z архитектуры можно отметить следующее:

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

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

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

ЛЕКЦИЯ N 23

ТЕМА ЛЕКЦИИ:

1.Организация ввода вывода в Z архитектуре.

2.

Операция ввода/вывода начинается с выполнения команды Старт подканала SSCH. Супервизором партиции (LPAR) во время выполнения партиции по запросу от прикладной программы пользователя.

Команда Старт подканала имеет 2 операнда:

А) по адресу [В2D2] находятся в памяти ORB (аналог 48 ячейки в классической схеме). [ORB]= ключ, адрес адрес канальной программы.

B) Второй операнд находится в общем регистре процессора. GRO = SBNUM – адрес подканала. SBNUM – идентификатор подканала, установив который осуществляется операция ввода/вывода. В отличии от классической системы является только указателем на устройства как в классической схеме.

2) Так как каждая партиция имеет свою область подканалов в HSA ( системная область памяти), то при обращении в подканал формируется адрес, индексируемый номером партиции. Инструкция SSCH анализирует состояние подканала и если он не занят, то выполнение команды завершается с нулевым значением признака результата и устанавливается запрос на ввод/вывод для SAP – процессора ввода/вывода, на этом выполнение SSCH заканчивается.

Блок ORB содержит начальный адрес канальной программы , который передается в подканал.

3) SAP анализируя очередь запросов, обращается 4) к подканалу и на основании адресов логических каналов, указанных в структуре подканала, по своим таблицам определяет физический канал, через который будет осуществляться доступ к устройству.

Выбрав оптимальный вариант SAP, 5) устанавливает запрос на начало операции ввода вывода для выбранного физического канала с указанеием номера партиции и логического канала

6) Канал, зная идентификатор устройства, с которым он должен установить связь на основании информации о всех портах в сети с подключенным к ним устройствам, выбирает требуемый порт и формирует кадр для передачи в сеть. Информацию о портах и подключенным к ним устройствам канал получает во время инициализации сети во время включения (нижний уровень протокола(FC – SB2))

7) Контролер ВУ получив кадр формирует ответный кадр согл. протокола.

8) Канал, получив кадр ответа от устройства корректирует состояние подканала и формирует запрос на прерывание в SAP.

9) SAP, получив запрос на прерывание информации, передаваемой каналом SUBNOM, MГF,CHPK , устанавливает запрос в очередь запросов для обработки программы прерываний в LPAR.

10) Если операция ввода/вывода связана с передачей данных, канал самостоятельно начинает обмен с устройством, выбирая канальную программу согласно

2 ESCON.

Классическая структура канальной системы с использованием параллельного интерфейса для связи с внешними устройствами на базе технологии BUS и TAG с модификацией передачи данных по двум комплектам интерфейсных кабельных соединений с ускорением максимум могла обеспечить пропускную способность в самом приоритетном канале 3,5-4 мгб/сек.

Такое положение сдерживало увеличение производительности вычислительной системы и требовало новых решений.

Дело в том, что параллельный канал препятствовал повышению пропускной способности по двум причинам:

- разброс во времени бит передаваемого байта по параллельному препятствует повышению частоты при передаче информации

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

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

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

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

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

Таким образом, даже при наличии двух линий связи между каналом и устройством протокол мог обеспечить только полудуплексный режим работы. Так появился канал ESCON впервые примененный в сервере ESA/390 фирмы IBM,

Архитектура канала.

Архитектура канала представляет собой двухуровневую организацию:

-уровень сети

- уровень устройства

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

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

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

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

Каждый ESCON интерфейс на контроллере обеспечивает связь со всеми имиджами контроллера.

Топология интерфейса.

Архитектура ESCON каналов поддерживает два вида подключения к внешним устройствам:

  • точка- точка

  • переключаемая точка-точка

.

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

Адресация.

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

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

  • логический адрес, выбирает конкретный имидж контроллера

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

Такая структура адресации упрощает процесс конфигурации системы за счет того адреса устройств и логические адреса могут быть определены заранее и смонтированы во время наладки системы или в процессе изготовления .Это возможно, потому что каждый уникальный сетевой адрес назначается каждому контроллеру, подсоединенному к директору на ESCON интерфейсе, и это является гарантией уникальности адреса устройства в общем поле адресного пространства.

Логический тракт.

На параллельном интерфейсе каждый канальный интерфейс контроллера подсоединен только к одному каналу. С вводом сетевой топологии в архитектуру канальной системы появилось понятие логического пути. Этот путь стал определять структуру в канальной системе, состоящую из имиджа канала, интерфейса, подсоединенному к контроллеру устройства и имиджа в самом контроллере. На параллельном интерфейсе канальный путь устанавливается с момента физического подключения контроллера к каналу. В ESCON канале каждый логический путь должен быть установлен каналом через посылку сообщения, в котором канал информирует контроллер о соединении с указанием сетевого адреса порта директора, к которому канал подсоединен и логического адреса имиджа в контроллере. До тех пор пока канал не установит логический путь к контроллеру, последний не может выполнять операции на уровне устройства ,то есть канальную программу.

Уровень сети.

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

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

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

Управляющие последовательности на сигнальном подуровне представляют собой группы символов, состоящих из двух символов один из которых символ “IDL’,а другой символ определяет вид последовательности. Передача последовательности происходит до тех пор пока приемник не ответит соответствующей последовательностью в канал передатчику в определенный интервал времени.

Используются следующие последовательности:

  • нет операции

  • передатчик выключен

  • безоговорочное отключение

  • ответ на последовательность “ безоговорочное отключение”

Логические функции сетевого уровня

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

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

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

Управление динамическим соединением каналов с устройствами.

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

Когда канал или контроллер требует динамического соединения, нет гарантии в том, что соединение будет реализовано, так как адресат может быть подключен к другому каналу или выведен из активного состояния.

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

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

Автоматическое назначение сетевых адресов.

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

Ручная установка сетевых адресов очень трудоемкая работа, поэтому архитектура ESCON канала включает протокол автоматического назначения сетевых адресов каждому каналу и контроллеру. Для назначения сетевого адреса, канал или контроллер посылает фрейм, который содержит информацию о том, что инициатор не идентифицирован в сети. Если канал сконфигурирован с динамическим подключением к устройствам, то директор назначает сетевой адрес инициатору по значению адреса порта, из которого пришел фрейм и посылает это значение адреса как сетевой адрес инициатора в ответном фрейме. Если канал имеет статическое подключение к контроллеру, то протоколом разрешено каналу назначать самому себе адрес соединения, а контроллеру получать сетевой адрес из канала.

Процедура инициализации сети.

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

Уровень устройства.

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

Базовые составляющие архитектуры уровня устройства.

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

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

  • команды

  • данные

  • состояние

  • управление

В соответствии с видами информации классифицируются и типы фреймов на уровне устройств.

Инициализация операций ввода вывода в канале.

Канал инициирует операцию ввода вывода посылкой командного фрейма к устройству. Фрейм содержит сетевой адрес, логический адрес имиджа контроллера, адрес устройства, команду и флаги из CCW, счетчик данных. Командный фрейм как и все другие начинается с специального кода символа, обозначающего начало фрейма SOF и заканчивается символом EOF-конец фрейма. Этого требует протокол для прохождения фрейма через сеть. Если устройство готово для выполнения операции, то оно посылает в канал ответный фрейм, подтверждающий получение команды (CMR). Однако устройство не начинает выполнять команду до тех пор пока не получит фрейм подтверждения из канала о приеме им фрейма CMR. В параллельном канале этот протокол осуществлялся путем контроля состояния управляющих линий интерфейса от канала к устройству и обратно. В ESCON канале контроль над ходом операции ввода вывода осуществляется через обмен фреймами между каналом и устройством. Протоколом предусмотрен временной контроль над длительностью интервалов между фреймами в процессе обмена как со стороны канала так и устройства и в зависимости от ситуации ,возникающей при переполнении таймеров, и класса устройства реакция на ситуацию может быть различной.

Передача данных.

В ESCON канале есть две составляющие, которые характеризуют поток данных :

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

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

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

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

Инф-к

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

Для сокращения актов квитирования в ESCON каналах было принято решение:

-Запрос за данными формировать приемной стороной, то есть при записи устройством, а при чтении каналом.

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

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

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

Окончание передачи данных.

Момент окончания обмена фиксируется устройством с формированием байта состояния, передаваемого в канал также как и в параллельном канале.

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

При формировании запроса за последним блоком данных в фрейме запроса за данными устанавливается флаг END.

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

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

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

FCP интерфейс протокол.

QDIO очередь в контексте FCP канале используется для трех разных целей:

  1. Посылать запросы из host программ в канал.

  2. Посылать ответы на эти запросы из каналов в host программу.

  3. Представлять информацию из канала в host программу не связанные с операцией ввода/вывода (состояние устройства при начале операции для анализа возможного организационного обмена)

Управление запросом.

Host программа(операционная система) использует специальный управляющий блок известный как QTCB- quence transfere block для спецификации запроса, который должен быть реализован каналом.

QTCB используется для FCP команд, которые должны быть посланы для пополнения как в сети, так и в адаптере канала. QTCB содержит код команды, определяющей операцию, которая должна быть выполнена в канале. Одной из них наиболее важной из них является запрос в канал –послать команду в устройство для выполнения операции ввода/вывода. Для этого типа операций, host программа размещает в QTCB специальный дескриптор содержащий как адрес устройства( Did и LUIX) и команду для выполнения. Более того QTCB содержит область для данных ответа и информации состояния, заполняемую каналом когда он обрабатывает соответствующий запрос. Так как каждый запрос используется в контексте доступа к памяти, запросы и ответы должны быть согласованы. Это делается через идентификатор запроса генерируемый программой. Host программа должна быть уверена в уникальности этого запроса, то есть конкретный подканал использует этот идентификатор для связи с каналом.

Когда этот идентификатор продвигается в канал, как часть запроса, FCP канал квалифицирует этот идентификатор с номером подканала, из которого он получил этот запрос и идентификатор LPAR. Для этого, чтобы иметь возможность обработать запрос в канале host программа размещает как идентификатор запроса так и указатель на QTCB в первых двух строках таблицы. Если запрос связан с передачей данных в таблицу вводят дополнитель строки, содержащий указатели (адреса) для данных в случае записи или буфера для заполнения в случае чтения. Протокол QDIO допускают до строк, в которых записываются указатели. Каждый указатель (адрес) указывает на блок данных в 4 Кб. Если одной таблицы недостаточно используют несколько таких таблиц. Максимальный размер данных передаваемых через одни запрос может достигать 2Мб. Микрокод FCР канала обрабатывается QTCB. Команды, которые помещают в QTCB могут относится как к самому каналу, свитчу, или оконченному иустройству.

Управление ответом.

Если FCP канал обрабатывает запрос связанный с передачей данный, то по завершению операции он обрабатывает содержимое QTCB и размещает в ту же область основной памяти, откуда он был выбран. В конечном счете, FCP канал размещает соответствующий идентификатор запроса в таблицу (SBAL)в очередь ответов используя сигнальный механизм протокола для извещения host программы об обновлении этого блока. Host программа использует этот идентификатор запроса для корректировки ответа для исходного запроса и выбора конечного состояния из QTCB.

Основные этапы процедуры инициализации сети в FICONE в режиме свитча.

  • Инициализации звена Канал-Свитч

  • Формирование запросов каналом к свитчу для выполнения специфических операций на уровне порта. (ELS- Extend Link Seri)

  • Формирование запросов свитчем к каналу для выполнения операций ELS в канале

  • Инициализация звена Контроллер-Свитч

  • Формирование запросов контроллера к свитчу для выполнения операции ELS

  • Формирование запросов свитча к контроллеру для выполнения специфических операций на уровне порта

Формирование запросов канала к контроллеру для выполнения операций ELS на уровне порта.

  1. Инициализация канала(N порт) и свитч (F порт ) поcылают символы IDL. Контроллер (N порт) и свитч (F порт) посылают символы IDL

  2. Ответы полученные в результате FLOGI дают возможность определить подключены N порты контроллера и каналы друг к другу или к портам свитча. После поступления в канал символов IDL порты выставляют в интерфейс свои номера WWN и тот порт, который имеет высший номер WWN первым формирует запрс, в результате которого получается значение порта, к которому подключен FFFFFE-F порт(свитч)

Ответ на FLOGI канал-свитч: канал подключен к F порту

Ответ на FLOG свитч-канал: контролер подключен к свитчу

  1. Канал выполняет PLOGI к порту с did=FFFFFD контроллер сети. Контроллер выполняет PLOGI с адресом DID=FFFFFD обращаясь к контролеру свитча.

  2. Канал и контроллер ВУ выполняют процедуры запросов для получения информации от портов свитча(SCR, RNID)- состояния порта и информация о характеристиках порта.

  3. Свитч F порты выполняют аналогичные запросы RNID к N портам канала и контроллера ВУ

  4. Канал N порт выполняет процедуру PLOGI с DID=FFFFFA- сервер управления с запросом LIRR- используется для внесения в список затребованного порта(сервера управления)

  5. Канал выполняет PLOGI для всех портов свитча с DID полученными в процессе выполнения процедуры FLOGI. Эти адреса свитч передает в канал как LINK адреса, установленные в процессе конфигурации системы в свитче, к которым канал имеет выход.

  6. После открытия LINK портов канал выполняет процедуры LIRR,RNID. Заносит в список и полученные характеры портов контролеров устройств.

  7. Канал выполняет процедуру «установить логический путь»(ELP) к контролеру устройства, собирая исходную информацию для формирования заголовков (фреймов) предназначенных для передачи к контролеру устройства

FCP

Алгоритм выполнения команд.

Прежде чем в канале будет произведена операция соединения канала с периферийным устройством должна быть произведена инициализация сети, которая реализуется с помощью специальной процедурой “FLOGI”-“Fabric login”, суть которой заключается в посылке специальной команды каналом в свитч, к которому канал подключен. Эта операция производится в момент включения сети и не требует вмешательства.

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

  • Программа должна послать запрос «открыть порт» в канал, используя для этого 3х байтный номер(FFFFFC)- дистанционный идентификатор, под которым протоколом канала зарегистрирован так называемый”Name сети” (программное обеспечение в свитче.)

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

  • Далее программа использует команду “SEND Generic” для посылки в канал, с указанием послать запросы к “Name Server” с целью получить значения сетевых дистанционных идентификаторов (адреса портов свитча) к которым подключены контроллеры устройств с WWPN, с конфигурированным для данной программы. После окончания процедуры, в результате которой программа получит все значения дистанционных идентификаторов (адреса портов свитча), к которым подключены контроллеры с WWPN ( с конфигурированными для данной программы). Программа посылает запрос закрыть порт в канал с идентификатором программы и дистанционным идентификатором FFFFFC, назначенным для “Name Server” (свитчем). Канал получив этот запрос, формирует запрос в свитч типа LOGOF(закрыть.)после реализации который формирует сообщение программе.

Теперь программа знает все сетевые дистанционные идентификаторы(адрес портов свитча), через которые они могут получить доступ к контролерам устройств и готова установить связь с ними. Для этого программа формирует запрос «открыть порт» к каналу с указанием своего идентификатора, присвоенного ей программным обеспечением свитча(Name Server) и адреса порта свитча (DID), к которому подключают контроллер. Канал выполняет те же самые действия при открытие порта с идентификатором «Name Server» то есть формирует запрос PLOGI , но только со значением DID(адрес порта свитча). Однако после завершения процедуры PLOGI канал посылает в свитч еще два запроса (PRLI,LIRR) в этот порт уже с указанием идентификатора программного обеспечения свитча(Name Server). В результате чего по окончанию этих процедур канал формирует сообщение программе с указанием, о том что данный порт с идентификатором DID внесен в список портов в канале для данной программы. Если вторая программа сервера(LPAR) будет использовать процедуру подсоединения того же самого порта, то вышеуказанные процедуры PLOGI, PRLI, LIRR, каналом в свитч не формируются, так как данный порт уже открыт для доступа со стороны канала и каналу остается внести в список данный порт для программы и сформировать сообщение о подключение порта к ней с указанием значения её(программы) идентификатора в канале.

После того как программа сформировала подсоединение к порту в сети, она может установить связь со всеми устройствами доступными программе через этот порт. Для этого программа формирует запрос к каналу “Open LUN”(открыть устройство) с указанием своего идентификатора и номера устройства. «Открыть устройство» не требует от канала формирования запросов в сеть, для этого достаточно в самом канале отметить данное устройство как логически открытое, присвоив ему идентификатор, указывающий на его подключение к соединению с идентификатором ранее переданного программе.

DID

Дистанционный идентификатор порта

Идентификатор программ для доступа к порту

Идентификатор устройства указывающий доступ

Адрес устройства

Таким образом, в канале и в программе формируется таблица для каждого DID в сети, через который программы добираются к устройству

DID (порт свитча)

Идентификатор порта в программе

Номер устройства

Идентификатор устройства

x1

.

.

.

.

.

.

x2

LUN1

LUN2

.

.

.

LUNh

LUN1

LUN2

У1

У1

У1

.

.

.

y2

y2