Облегчение операций ввода-вывода в режиме передачи между канальной подсистемой и устройствами ввода-вывода
Иллюстрации
Показать всеИзобретения относятся к операциям ввода-вывода данных. Техническим результатом является упрощение обработки за счет поддержки двунаправленных операций. Устройство содержит канальную подсистему, хост-систему, устройство управления, при этом канальная подсистема сконфигурирована для передачи канальной подсистемой устройству управления запроса регистрации процесса (РП), указывающего, поддерживает ли канальная подсистема двунаправленную передачу данных; прием от устройства управления ответа на запрос РП, указывающего, поддерживает ли устройство управления двунаправленную передачу данных; сбор множества команд, по меньшей мере, в одной из которых указана передача входных данных, и, по меньшей мере, в одной из которых указана передача выходных данных; передачу в устройство управления, по меньшей мере, одного выходного информационного сообщения, содержащего выходные данные, подлежащие передаче устройству управления, при этом выходное информационное сообщение связано с, по меньшей мере, одной из множества команд, в которой указана передача выходных данных; и прием от устройства управления, по меньшей мере, одного входного сообщения, содержащего входные данные, подлежащие сохранению в основном запоминающем устройстве компьютерной хост-системы. 3 н. и 22 з.п. ф-лы, 21 ил.
Реферат
Предпосылки создания изобретения
Настоящее изобретение относится в целом к обработке операций ввода-вывода, более точно к созданию средств для облегчения операций ввода-вывода в режиме передачи.
Операции ввода-вывода используются для обмена данными между памятью и устройствами ввода-вывода, входящими в систему обработки операций ввода-вывода. В частности, путем выполнения операций ввода-вывода данные из памяти записываются в одно или несколько устройств ввода-вывода, а данные из одного или несколько устройств ввода-вывода считываются памятью.
Для облегчения обработки операций ввода-вывода применяется подсистема ввода-вывода, входящая в систему обработки операций ввода-вывода. Подсистема ввода-вывода связана с основной памятью и устройствами ввода-вывода, входящими в систему обработки операций ввода-вывода, и направляет поток информации, которым обмениваются память и устройства ввода-вывода. Одним из примеров подсистемы ввода-вывода является канальная подсистема. В канальной подсистеме в качестве передающей среды используются канальные пути. Каждый канальный путь содержит канал, соединенный с устройством управления, которое дополнительно соединено с одним или несколькими устройствами ввода-вывода.
Канальная подсистема и устройство ввода-вывода могут действовать в режиме передачи, в котором для обмена данными между устройствами ввода-вывода и памятью поддерживается передача одного или нескольких блоков управления командами. Для определения одной или нескольких команд ввода-вывода, которые должны выполняться, используется управляющее слово передачи (УСП, от английского TCW - Transport Control Word). Для команд, инициирующих некоторые операции ввода-вывода, УСП указывает области памяти, соответствующие операции, действие, которое должно быть предпринято по завершении передачи в область или из области памяти, и другие опции.
Такие системы обработки операций ввода-вывода обычно отвечают за обработку индивидуальных операций в качестве операций обработки входных данных (например, операций чтения) или операций обработки выходных данных (например, операций записи). Эти системы обычно не поддерживают двунаправленные операции и, в частности, не обладают способностью генерировать или передавать указания поддержки двунаправленных операций.
Краткое изложение сущности изобретения
В одном из вариантов осуществления предложен компьютерный программный продукт для осуществления операции ввода-вывода, инициированной командой ввода-вывода в компьютерной хост-системе, cконфигурированной для поддержания связи с устройством управления. Компьютерный программный продукт содержит материальную запоминающую cреду (машиночитаемый носитель информации), считываемую устройством обработки данных и хранящую команды для выполнения устройством обработки данных с целью осуществления способа, включающего передачу канальной подсистемой компьютерной хост-системы сообщения с запросом регистрации процесса (РП, от английского - Process Login) устройству управления с целью установления связи между канальной подсистемой и устройством управления, при этом запрос РП содержит поле, значение которого указывает, поддерживает ли канальная подсистема двунаправленную передачу данных; прием от устройства управления ответа на запрос РП, в котором содержится поле, значение которого указывает, поддерживает ли устройство управления двунаправленную передачу данных; передачу операционной системе хост-системы указания на то, что двунаправленная передача данных поддерживается; и осуществление способа в ответ на выполнение команды ввода-вывода, принятой от компьютерной хост-системы. Способ включает сбор множества команд, связанных с командой ввода-вывода, принятой от компьютерной хост-системы, при этом по меньшей мере в одной из множества команд указана передача входных данных, и по меньшей мере в одной из множества команд указана передача выходных данных; передачу множества команд в устройство управления; передачу в устройство управления по меньшей мере одного выходного информационного сообщения, содержащего выходные данные, подлежащие передаче устройству управления, при этом выходное информационное сообщение связано с по меньшей мере одной из множества команд, в которой указана передача выходных данных; и прием от устройства управления по меньшей мере одного входного сообщения, содержащего входные данные, подлежащие сохранению в основном запоминающем устройстве компьютерной хост-системы, при этом входное информационное сообщение связано с по меньшей мере одной из множества команд, в которой указана передача входных данных.
В другом варианте осуществления предложено устройство для выполнения операции ввода-вывода, инициированной командой ввода-вывода в компьютерной хост-системе, сконфигурированной для поддержания связи с устройством управления. Компьютерная хост-система сконфигурирована для передачи посредством канальной подсистемы компьютерной хост-системы запроса регистрации процесса (РП) устройству управления с целью установления связи между канальной подсистемой и устройством управления, при этом запрос РП содержит поле, значение которого указывает, поддерживает ли канальная подсистема двунаправленную передачу данных; прием от устройства управления ответа на запрос РП, содержащего поле, значение которого указывает, поддерживает ли устройство управления двунаправленную передачу данных; передачу операционной системе хост-системы указания на то, что двунаправленная передача данных поддерживается; и в ответ на выполнение команды ввода-вывода, принятой от компьютерной хост-системы, осуществление способа, включающего: сбор множества команд, связанных с командой ввода-вывода, принятой от компьютерной хост-системы, при этом по меньшей мере в одной из множества команд указана передача входных данных, и по меньшей мере в одной из множества команд указана передача выходных данных; передачу множества команд в устройство управления; передачу в устройство управления по меньшей мере одного выходного информационного сообщения, содержащего выходные данные, подлежащие передаче устройству управления, при этом выходное информационное сообщение связано с по меньшей мере одной из множества команд, в которой указана передача выходных данных; и прием от устройства управления по меньшей мере одного входного сообщения, содержащего входные данные, подлежащие сохранению в основном запоминающем устройстве компьютерной хост-системы, при этом входное информационное сообщение связано с по меньшей мере одной из множества команд, в которой указана передача входных данных.
В другом варианте осуществления предложен способ выполнения операции ввода-вывода, инициированной командой ввода-вывода в компьютерной хост-системе, сконфигурированной для поддержания связи с устройством управления. Способ включает передачу канальной подсистемой компьютерной хост-системы запроса регистрации процесса (РП) устройству управления с целью установления связи между канальной подсистемой и устройством управления, при этом запрос РП содержит поле, значение которого указывает, поддерживает ли канальная подсистема двунаправленную передачу данных;
прием от устройства управления ответа на запрос РП, содержащего поле, значение которого указывает, поддерживает ли устройство управления двунаправленную передачу данных; передачу операционной системе хост-системы указания на то, что двунаправленная передача данных поддерживается;
и в ответ на выполнение команды ввода-вывода принятой от компьютерной хост-системы, осуществление способа, включающего: сбор множества команд, связанных с командой ввода-вывода, принятой от компьютерной хост-системы, при этом по меньшей мере в одной из множества команд указана передача входных данных, и по меньшей мере в одной из множества команд указана передача выходных данных; передачу множества команд в устройство управления; передачу в устройство управления по меньшей мере одного выходного информационного сообщения, содержащего выходные данные, подлежащие передаче устройству управления, при этом выходное информационное сообщение связано с по меньшей мере одной из множества команд, в которой указана передача выходных данных; и прием от устройства управления по меньшей мере одного входного сообщения, содержащего входные данные, подлежащие сохранению в основном запоминающем устройстве компьютерной хост-системы, при этот входное сообщение связано с по меньшей мере одной из множества команд, в которой указана передача входных данных.
Дополнительные признаки и преимущества изобретения реализованы посредством приемов, раскрытых в описанных вариантах осуществления. В описании рассмотрены другие варианты осуществления и особенности, считающиеся частью заявленного изобретения. Для обеспечения лучшего понимания преимуществ и признаков изобретения они описаны со ссылкой на чертежи.
Краткое описание чертежей
Объект, рассматриваемый в качестве изобретения, конкретно охарактеризован и отдельно заявлен в формуле изобретения, следующей за описанием. Перечисленные выше и другие задачи, признаки и преимущества изобретения станут ясны из следующего далее подробного описания в сочетании с сопровождающими его чертежами, на которых:
на фиг.1 проиллюстрирован один из вариантов осуществления системы обработки операций ввода-вывода, в которой содержится и используется одна или несколько особенностей настоящего изобретения,
на фиг.2 - один из вариантов осуществления управляющего слова передачи (УСП),
на фиг.3 - один из вариантов осуществления блока управления командами передачи (БУКП или ТССВ, от английского - transport command control block),
на фиг.4 - один из вариантов осуществления элемента информации (ЭИ, от английского - information unit) команд передачи, который содержит проиллюстрированный на фиг.3 БУКП,
на фиг.5 - один из вариантов осуществления заголовка команд передачи, проиллюстрированного на фиг.4 ЭИ команды передачи,
на фиг.6 - один из вариантов осуществления заголовка области команд передачи (ЗОКП или ТСАН, от английского - transport command area header) проиллюстрированного на фиг.4 БУКП,
на фиг.7 - один из вариантов осуществления заголовка области команд передачи (ОКП или ТСА, от английского - transport command area) проиллюстрированного на фиг.4 БУКП,
на фиг.8 - таблица с описанием примеров определения различных счетов данных для операций однонаправленной передачи данных,
на фиг.9 - таблица с описанием примеров определения различных счетов данных для операций двунаправленной передачи данных,
на фиг.10 - один из вариантов осуществления командного слова устройств (КСУ или DCW, от английского - device command word),
на фиг.11 - один из вариантов осуществления поля управляющих флагов, проиллюстрированного на фиг.10 КСУ,
на фиг.12 - один из вариантов осуществления расширения области команд передачи (РОКП или ТСАХ, от английского - transport command area extension),
на фиг.13 - один из вариантов осуществления блока смещения КБУ,
на фиг.14 - блок-схема, иллюстрирующая один из вариантов осуществления способа выполнения операций ввода-вывода в режиме передачи,
на фиг.15 - варианты осуществления ЭИ данных передачи, используемых для передачи входных и выходных данных между каналом и устройством управления и/или устройством ввода-вывода,
на фиг.16 - один из вариантов осуществления ЭИ ответа на передачу,
на фиг.17 - один из вариантов осуществления области информации о состоянии проиллюстрированного на фиг.16 ЭИ ответа на передачу,
на фиг.18 - компоненты одного из примеров запроса регистрации процесса (РП),
на фиг.19 - компоненты одного из примеров ответа на запрос регистрации процесса (РП),
на фиг.20 - один из примеров блока описания канального пути, передаваемого операционной системе компьютерной хост-системы канальной подсистемой, и
на фиг.21 - один из примеров данных описания канала проиллюстрированного на фиг.20 блока, включая данные о пропускной способности канальной подсистемы.
Подробное описание
В вариантах осуществления настоящего изобретения предложено облегчение обработки операций ввода-вывода в компьютерной системе. В одном из вариантов осуществления предложены команды передачи для управления операцией ввода-вывода и передачей данных по канальному пути. В командах передачи содержится метаинформация о командах передачи (МИКП или TCMI, от английского - transfer command meta-information), которая используется для контроля передачи данных и передачи дополнительных КСУ. МИКП задана в одном или нескольких элементах информации (ЭИ) команд передачи, определяющих, указывающих и проверяющих информацию, касающуюся передаваемых данных в ходе операции ввода-вывода. Команды передачи могут включать команду опроса, команду передачи блока смещения КБУ (ПБСК или ТСОВ, от английского - Transfer CBC-Offset Block) и команду передачи расширения ОКП (ПРО или ТТЕ, от английского - transfer-TCA Extension).
В одном из вариантов осуществления обработка операции ввода-вывода облегчается за счет того, что хост-компьютер может увеличивать число команд, которые могут передаваться устройству при выполнении операции ввода-вывода. Например, с целью увеличения числа команд, которые могут сопутствовать операции ввода-вывода, от хост-компьютера устройству может передаваться МИКП в виде расширения области команд передачи (РОКП). В одном из вариантов осуществления, РОКП передается посредством командного слова устройств (КСУ), называемого КСУ передачи расширения ОКП (ПРО), которое содержит команды для выполнения помимо команд, передаваемых в области команд передачи (ОКП).
Обработка операции ввода-вывода также может облегчаться за счет использования средства, позволяющего устройству ввода-вывода продолжать операцию ввода-вывода при обнаружении записи неправильной длины. Например, в хост-системе и устройстве управления может быть установлено средство индикации неправильной длины КСУ. Средство обеспечивает проверку на неправильную длину (НД), которая может осуществляться устройством управления. К КСУ, передаваемому устройству, может добавляться поле подавления неправильной длины или индикации подавления длины (ИПД). Когда этот разряд в этом поле активирован, разрешается сцепление КСУ с тем, чтобы продолжать операцию при обнаружении устройством управления условия неправильной длины.
Обработка операции ввода-вывода также может облегчаться за счет использования средства передачи устройству команд как чтения, так и записи в ходе одной операции ввода-вывода. В известных из уровня техники канальных программах УСП задаются все команды записи или все команды чтения. Двунаправленная операция может быть задана путем установки одного или нескольких флагов в заголовке команды передачи (ЗКП или ТСН, от английского - transport command header) ЭИ команды, например, путем установки на единицу флагов как чтения, так и записи и использования счета данных как чтения, так и записи. Кроме того, в сообщении инициализации или регистрации, таком как запрос регистрации процесса может быть установлен флаг, указывающий, что канальная подсистема поддерживает двунаправленную передачу данных. В ответе, таком как принятое сообщение РП, может содержаться флаг, который может быть установлен, чтобы указывать, поддерживает ли устройство двунаправленную передачу данных. Если как хост, так и устройство управления поддерживают двунаправленную передачу данных, устройство не сообщает об ошибке, если в ЭИ команды установлен флаг как чтения, так и записи. Эта способность является усовершенствованием по сравнению с известными из уровня техники протоколами стандарта Fibre Channel, которые не поддерживают операции двунаправленной передачи данных. Описанная в изобретении "двунаправленная передача данных" означает передачу как входных, так и выходных данных, которая осуществляется в ходе одной операции ввода-вывода УСП, например, передачу и выполнение команд как чтения, так и записи в ходе одной операции ввода-вывода УСП.
На фиг.1 проиллюстрирован один из примеров системы 100 обработки операций ввода-вывода, в которую входит компьютерная хост-система 102, содержащая устройство для хранения данных и/или систему обработки, такую как мэйнфрейм zSeries® производства International Business Machines Corporation (IBM®). IBM® является зарегистрированным товарным знаком International Business Machines Corporation (Армонк, штат Нью-Йорк, США). Другие названия, используемые в заявке, могут являться зарегистрированными товарными знаками, товарными знаками или названиями продуктов International Business Machines Corporation или других компаний. Компьютерная хост-система 102 содержит различные элементы обработки, хранения и связи. В одном из вариантов осуществления компьютерная хост-система 102 содержит один или несколько центральных процессоров (ЦП) 104, элементы памяти, такие как основное запоминающее устройство или память 106, дополнительное запоминающее устройство или память 108, одну или несколько операционных систем (ОС) 110, выполняемых одним или несколькими из ЦП 104. Например, один ЦП 104 может выполнять операционную систему 110 Linux® и/или операционную систему 110 z/OS® в качестве различных виртуальных машинных реализации. ЦП 104 является центром управления системы 100 обработки операций ввода-вывода. Он содержит средства задания последовательности и обработки для выполнения команд, осуществления прерывания, выполнения временных функций, начальной загрузки программ и других машинных функций. ЦП 104 связан с основной памятью 106 и/или расширенной памятью 108 посредством соединения 113, такого как двунаправленная или однонаправленная шина.
Компьютерная хост-система 102 также содержит канальную подсистему 114, которая обеспечивает интерфейс связи между хост-системой 101 и различными устройствами 116 ввода-вывода, которые могут управляться одним или несколькими устройствами 118 управления. Устройства ввода-вывода содержат оборудование, такое как принтеры, накопители на магнитной ленте, запоминающие устройства с прямым доступом, дисплеи, клавиатуры, связные контроллеры, устройства дистанционной обработки данных и оборудование с использованием датчиков. Далее в описании термины "устройство управления" и "устройство" могут использоваться взаимозаменяемо, или может считаться, что устройство управления содержит одно или несколько устройств. Канальная подсистема 114 направляет поток информации между устройством 116 ввода-вывода и компьютерной хост-системой 102. Она освобождает ЦП 104 от задачи поддерживать связь непосредственно с устройством 116 ввода-вывода и позволяет осуществлять обработку данных одновременно обработкой операции ввода-вывода. Канальная подсистема 114 связана с ЦП 104, основной памятью 106 и/или расширенной памятью 108 посредством соединения 120, такого как шина.
В одном из вариантов осуществления канальная подсистема 114 соединена с каждым устройством 116 ввода-вывода соответствующим "канальным путем" 122, который соединяет канальную подсистему 114 с каждым устройством 118 управления посредством соединения 124, такого как последовательное или параллельное соединение. Устройства 118 управления могут быть соединены с канальной подсистемой 114 посредством нескольких канальных путей 122, а устройство 116 ввода-вывода может быть соединено с несколькими устройствами 118 управления и/или устройствами 116 ввода-вывода. В общей сложности, отдельное устройство 116 ввода-вывода может быть доступно посредством множества канальных путей. В канальном пути могут использоваться соединения различных типов, такие как параллельный интерфейс, последовательный интерфейс ввода-вывода и интерфейс ввода-вывода FICON. Например, канальный путь последовательной связи может содержать одно или несколько оптических волокон, соединенных с устройством 118 управления посредством, например, динамического коммутатора 126 в связной архитектуре стандарта Fibre Channel, а параллельный интерфейс может содержать несколько электрических или волоконно-оптических проводников.
В одном из вариантов осуществления канальная подсистема 114 содержит один или несколько отдельных каналов 128, каждый из которых соединен с одним или несколькими устройствами 118 управления и/или устройствами 116 ввода-вывода посредством одного или нескольких канальных путей 122. Каждый канал 128 содержит электронное оборудование для обработки данных, такое как локальный канальный микропроцессор 130 и локальную канальную память 132, которая соединена с локальным канальным микропроцессором 130 и доступна для него. Локальная канальная память 132 может содержать информацию, такую как указание канальной программы, идентификатор канального пути, номер устройства, счет устройства, индикация состояния, а также информацию о доступности пути и ожидающих выполнения или выполняемых функциях.
В каждом канале 128 также находится один или несколько подканалов. Каждый подканал является находящейся в канальной памяти 132 структурой данных, обеспечивающей информацию о соответствующем устройстве 116 ввода-вывода и его соединении с канальной подсистемой 114. Подканал также обеспечивает информацию об операциях ввода-вывода и других функциях с участием соответствующего устройства 116 ввода-вывода. Подканал является средством, с помощью которого канальная подсистема 114 предоставляет ЦП 104 информацию о соответствующих устройствах 116 ввода-вывода. В одном из вариантов осуществления число подканалов, обеспечиваемых канальной подсистемой, не зависит от числа канальных путей 122 до соответствующих устройств 116 ввода-вывода. Например, устройство 116, доступное посредством альтернативных канальных путей 122, в любом случае отображается одним подканалом.
Каждое устройство 118 управления использует логическую схему для приведения в действие и управления одним или несколькими устройствами 116 ввода-вывода, и за счет использования обобщенных средств адаптирует характеристики каждого устройства 116 ввода-вывода к интерфейсу связи, обеспечиваемому каналом 128. Обобщенные средства обеспечивают выполнение операций ввода-вывода, указания, касающиеся состояния устройств 116 ввода-вывода и устройства 118 управления, управление выбором времени передачи по канальному пути 122 и определенные уровни управления устройством ввода-вывода. Устройство 118 управления может размещаться отдельно или может быть физически и логически объединено с устройством ввода-вывода, канальной подсистемой или ЦП.
Один или несколько компонентов системы 100 обработки операций ввода-вывода дополнительно описаны в публикации №SA22-7832-08 "IBM® z/Architecture Principles of Operation" (9-е издание, август 2010 г.), которая во всей полноте в порядке ссылки включена в настоящую заявку.
Операции ввода-вывода описываются как любая операция, предусматривающая обмен данными между компьютерной хост-системой 102 и устройствами 116 ввода-вывода. Как описано в изобретении, операция ввода-вывода предусматривает связь между канальной подсистемой 114 и устройством 116 (в одном из вариантов осуществления посредством устройства 118 управления), в ходе которой канальная подсистема передает 114 устройству единую команду (например, управляющее слово канала (УСК или CCW, от английского - channel command word), одно командное сообщение, содержащее множество команд (например, элемент информации команд передачи или блок управления командами передачи (БУКП)) или множество сцепленных команд (например, множество УСК). Операция ввода-вывода также может предусматривать генерирование устройством 116 или соответствующим устройством 118 управления одного или нескольких сообщений в ответ на прием и/или выполнение команды или сцепленных команд.
В одном из вариантов осуществления операции ввода-вывода инициируются с использованием устройства 116 путем выполнения генерированных ОС 110 команд ввода-вывода, указывающих подканал, соответствующий устройству 116. Такие команды выполняются в хост-системе ЦП 104 путем передачи по каналу 128 или подканалу параметров для запроса выполнения канальной подсистемой 114 различных функций в ходе операции ввода-вывода.
Например, ЦП 104 выполняет команду запуска подканала (START SUBCHANNEL) путем передачи параметров целевому подканалу, запрашивающему у канальной подсистемы 114 выполнение функции запуска с использованием устройства 116 ввода-вывода, соответствующего подканалу. Канальная подсистема 114 выполняет функцию запуска путем использования в подканале информации, включающей информацию, переданную во время выполнения команды запуска подканала, чтобы найти канальный путь, доступный для устройства 116, и выполнить операцию ввода-вывода после выбора канального пути.
При выполнении ЦП 104 команды, такой как команда запуска подканала, канал 128 начинает выполнять операцию ввода-вывода. В одном из вариантов осуществления, канальная подсистема 114 обеспечивает между канальной подсистемой 114 и устройствами 116 и/или устройства 118 управления связь согласно высокопроизводительному протоколу FICON (HPF). Протоколы FICON и HPF дополнительно описаны в публикации "Fibre Channel: Single-Byte Command code Sets Mapping Protocol - 4 (FC-SB-4)", T11 Project 2122-D, пересмотренная версия 3.00 (22 сентября 2009 г.), которая во всей полноте в порядке ссылки включена в настоящую заявку.
В одном из вариантов осуществления при выполнении команды запуска подканала канальной подсистеме 114 передается содержимое блока запроса операции (БЗО или ORB, от английского - operation request block). В БЗО указана канальная программа, которая содержит адрес одного или нескольких управляющих слов (например, управляющее слово канала или управляющее слово передачи, которые дополнительно описаны далее). Существуют два режима работы подканала. В одном из вариантов осуществления компьютерная хост-система 102 действует в командном режиме и задает управляющее слово(-а) в виде управляющего слова канала (УСК). В другом варианте осуществления хост-система действует в режиме передачи и задает управляющее слово(-а) в виде управляющего слова передачи (УСП).
Подканал может перейти в режим передачи, если установлено средство FCX (расширение стандарта Fibre Channel), и в результате выполнения команды запуска подканала с указанием канальной программы УСП в подканале установлена функция запуска. Подканал остается в режиме передачи, пока не будет переустановлена функция запуска. В остальное время подканал находится в командном режиме.
При нахождении в командном режиме канал выполняет канальную программу УСК, которая содержит одно управляющее слово канала или последовательно выполняемую последовательность управляющих слов канала для управления заданной последовательностью операций канала. Устройство управления выполняет операцию ввода-вывода УСК путем декодирования, приема и выполнения команд УСК устройством ввода-вывода. Одно или несколько УСК для последовательного выполнения образуют канальную программу УСК и выполняются как одна или несколько операций ввода-вывода, соответственно.
Средство FCX является необязательным средством, обеспечивающим формирование канальной программы в режиме передачи, которая состоит из управляющего слова передачи (УСП), указывающего блок управления командами передачи (БУКП) и блок состояния передачи (БСП или TSB, от английского - transport-status block). БУКП имеет область команд передачи (ОКП), в которой содержится список из одной или нескольких (например, до 30) команд ввода-вывода в виде командных слов устройств (КСУ). УСП и его БУКП могут задавать операцию чтения или записи. В одном из вариантов осуществления, в системе, которая поддерживает операции в режиме передачи, может быть установлено средство FCX двунаправленной передачи данных, позволяющее компьютерной хост-системе 102 задавать передачу как входных, так и выходных данных в ходе одной операции ввода-вывода в режиме передачи, если подсоединенное устройство 116 и устройство 118 управления поддерживают двунаправленную передачу данных. Когда устройство 118 управления распознает двунаправленную передачу данных, в УСП и его БУКП в зависимости от устройства может быть указана передача как данных чтения, так и записи.
В режиме передачи одно управляющее слово передачи (УСП) задает местоположение в памяти БУКП (а также местоположение в памяти 106 или 108 одной или нескольких областей данных), которое передается в одном сообщении вместо передачи отдельных УСК в командном режиме. Устройство 118 управления выполняет операцию ввода-вывода в режиме передачи путем декодирования, приема и выполнения БУКП и включенных в него отдельных КСУ. Если в БЗО задана канальная программа УСП, канальная подсистема 114 использует информацию в указанном УСП для передачи БУКП устройству 118 управления. После передачи БУКП устройству 118 управления содержимое БУКП не учитывается канальной подсистемой 114 и имеет значение только для устройства 118 управления и соответствующего устройства 116 ввода-вывода.
В одном из примеров осуществления устройство 118 управления генерирует сообщение в ответ на выполнение канальной программы. В ограниченном числе сценариев связи устройство 118 управления также может генерировать ответ без выполнения канальной программы, например, чтобы информировать канальную подсистему 114 о том, что канальная программа не будет выполняться. Устройство 118 управления может содержать ряд элементов, обеспечивающих связь между связным адаптером ввода-вывода и устройствами ввода-вывода, а также выполнение канальной программы. Например, устройство 118 управления может содержать управляющую логику для анализа и обработки сообщений, а также одну или несколько очередей, таймеров и регистров для облегчения контроля связи и состояния.
На фиг.2 проиллюстрирован один из вариантов осуществления управляющего слова 140 передачи (УСП), которое хранится в хост-системе (например, основной памяти 106) и задает по меньшей мере один блок управления, который должен быть передан устройству 118 управления по каналу 128. В одном из вариантов осуществления, блоком управления является блок управления командами передачи (БУКП), содержимое которого должно быть передано для обработки устройству 118 управления и устройству 116 ввода-вывода. Когда в УСП 140 задан БУКП, в БУКП содержится ОКП, которая задает одно или несколько командных слов устройств (КСУ) и соответствующих опций. В случае КСУ, в котором задана команда, инициирующая передачу данных (за исключением управляющих данных, содержащихся в БУКП), в УСП 140 указана одна или несколько областей памяти, в которых хранятся данные.
В одном из вариантов осуществления в ОКП содержится команда передачи расширения ОКП (ПРО), которая используется для передачи дополнительных КСУ и/или управляющих данных помимо тех, которые могут быть помещены в БУКП. Посредством команды ПРО расширение ОКП (РОКП) (содержащее по меньшей мере одно КСУ), считающееся логическим расширением ОКП, которой оно соответствует, передается устройству управления, например, путем сцепления последнего КСУ в БУКП с первым КСУ в ПРО.
Как показано на фиг.2, в одном из вариантов осуществления УСП 140 представляет собой 64-байтовый блок управления, который находится на 64-байтовой границе. В УСП содержатся различные описанные далее поля.
Например, несколько флаговых разрядов 142 указывают, используется ли прямая или косвенная адресация данных для определения адреса входных данных, выходных данных или БУКП. В поле косвенной адресации передаваемых выходных данных (Output TIDA (от английского - transport-indirect-data addressing) указано, адресуются ли выходные данные прямо или косвенно. Например, когда разряд 7 слова 0 УСП 140 равен нулю, и заданы выходные данные, в поле 144 адреса выходных данных указан адрес выходных данных в физическом запоминающем устройстве. Когда разряд 7 равен единице, в поле 144 адреса выходных данных содержится абсолютный адрес слова TIDA (TIDAW) или первого TIDAW из списка TIDAW (TIDAL) с указанием адреса или адресов, соответственно, выходного запоминающего устройства. В поле косвенной адресации передаваемых входных данных (Input TIDA) указано, адресуются ли входные данные прямо или косвенно. Например, когда разряд 5 нулевого слова равен нулю, и заданы входные данные, в поле 146 адреса входных данных содержится абсолютный адрес входного запоминающего устройства (т.е. запоминающего устройства, в котором должны храниться входные данные). Когда разряд 5 нулевого слова равен единице, в поле 146 адреса входных данных содержится абсолютный адрес TIDAW или первого TIDAW из TIDAL с указанием адреса или адресов входного запоминающего устройства. В поле TIDA блока управления командами передачи (БУКП-TIDA) указано, адресуется ли БУКП прямо или косвенно. Например, когда разряд 6 нулевого слова равен нулю, в поле 148 адреса БУКП содержится абсолютный адрес БУКП для УСП, а, когда разряд 6 равен единице, в поле 148 адреса БУКП содержится абсолютный адрес TIDAW или TIDAL с указанием адреса или адресов БУКП.
УСП 140 также содержит поле 150 длины блока управления командами передачи (ДБУКП или TCCBL, от английского - Transport-Command-Control-Block Length), в котором указана длина БУКП в байтах. Например, в поле ДБУКП содержится целое число без знака, значение которого (например, при сложении с 20 в случае однонаправленной передачи данных или при сложении с 24 в случае двунаправленной передачи данных) задает длину БУКП в байтах.
Поле 152 операций чтения (R) является ненулевым (например, разряд 14 слова 1 равен единице), когда в нем указано число байтов, которое должно быть перенесено в основную память 106. Поле 154 операций записи (W) является ненулевым (например, разряд 15 слова 1 равен единице), когда в нем указано число байтов, которое должно быть перенесено из основного запоминающего устройства. Если значения поля 152 R и поля 154 W равны единице, распознается условие проверки программы, если только целевое устройство 116 и устройство 118 управления не поддерживают двунаправленную передачу данных. Если разряд поля W равен единице, а УСП является УСП опроса, распознается условие проверки программы.
В поле 144 адреса выходных данных указан адрес запоминающего устройства, в котором хранятся любые выходные данные для передачи устройству. Например, когда разряд 15 слова 1 (разряд поля 154 W) равен единице, а разряд 7 флагового разряда 142 (флага Output TIDA) равен нулю, слова 2-3 указывают 64-разрядный адрес в выходном физическом запоминающем устройстве. Когда разряд поля 154 W равен единице, и флаг Output TIDA равен единице, слова 2-3 указывают 64-разрядный адрес TIDAW или списка TIDAW в физическом запоминающем устройстве с указанием адреса или адресов выходного запоминающего устройства. В поле 146 адреса входных данных указан адрес запоминающего устройства, в котором должны быть сохранены любые входные данные после приема от устройства. Например, когда разряд 14 слова 1 (разряд поля 152 R) равен единице, а разряд 5 флагового разряда 142 (флага Input TIDA) равен нулю, слова 4-5 указывают 64-разрядный адрес во входном физическом запоминающем устройстве. Когда разряд поля 152 R равен единице, и флаг Input TIDA равен единице, слова 4-5 указывают адрес TIDAW или списка TIDAW с указанием адреса(-ов) входного запоминающего устройства.
В адресе 156 блока состояния передачи указан адрес блока состояния передачи для УСП. Например, слова 6-7 указывают 64-разрядный адрес блока состояния передачи для УСП в физическом запоминающем устройстве.
В поле 148 адреса блока управления командами передачи указан один или несколько (прямых или косвенных) адресов БУКП. Например, если разряд БУКП-TIDA (разряд 6 флагового разряда) равен нулю, слова 8-9 указывают 64-разрядный адрес БУКП в физическом запоминающем устройстве. Когда разряд БУКП-TIDA равен нулю, установлено, что БУКП постоянно хранится в непрерывной области запоминающего устройства. Если разряд БУКП-TIDA равен единице, слова 8-9 указывают 64-разрядный адрес TIDAW или списка TIDAW в физическом запоминающем устройстве с указанием адреса БУКП в физическом запоминающем устройстве. Когда разряд БУКП-TIDA равен единице, может быть установлено, что БУКП постоянно хранится в прерывистых областях запоминающего устройства.
В поле 158 выходного счета указано число выходных байтов для УСП. Например, когда разряд 15 слова 1 (разряд поля W) равен единице, слово 10 содержит целое число без знака, отображающее общий счет выходных байтов для УСП. В поле 160 входного счета указано число входных байтов для УСП. Например, когда разряд 14 слова 1 (разряд поля R) равен единице, слово 11 содержит целое число