Облегчение операций ввода-вывода в режиме передачи между канальной подсистемой и устройствами ввода-вывода
Иллюстрации
Показать всеГруппа изобретений относится к обработке операций ввода-вывода. Технический результат заключается в упрощении обработки указанных операций. В способе генерируют в канальной подсистеме компьютерной хост-системы по меньшей мере одно командное сообщение, содержащее одно или несколько командных слов устройств (КСУ), при этом по меньшей мере одно КСУ из одного или нескольких КСУ содержит индикатор подавления длины (ИПД), сконфигурированный на то, чтобы указывать устройству управления, следует ли продолжать осуществление операции ввода-вывода при обнаружении устройством управления несоответствия счета данных требуемому объему данных; прием значения неправильной длины (НД), при этом значением неправильной длины является первое значение НД, если значением ИПД является первое значение ИПД, а счет данных не соответствует объему необходимых данных; и в ответ на прием значения НД от устройства управления - сохранение индикатора НД в слове состояния подканала. 3 н. и 22 з.п. ф-лы, 23 ил.
Реферат
Предпосылки создания изобретения
Настоящее изобретение относится в целом к обработке операций ввода-вывода, более точно, к созданию средств для облегчения операций ввода-вывода в режиме передачи.
Операции ввода-вывода используются для обмена данными между памятью и устройствами ввода-вывода, входящими в систему обработки операций ввода-вывода. В частности, путем выполнения операций ввода-вывода данные из памяти записываются в одно или несколько устройств ввода-вывода, а данные из одного или несколько устройств ввода-вывода считываются памятью.
Для облегчения обработки операций ввода-вывода применяется подсистема ввода-вывода, входящая в систему обработки операций ввода-вывода.
Подсистема ввода-вывода связана с основной памятью и устройствами ввода-вывода, входящими в систему обработки операций ввода-вывода, и направляет поток информации, которым обмениваются память и устройства ввода-вывода. Одним из примеров подсистемы ввода-вывода является канальная подсистема. В канальной подсистеме в качестве передающей среды используются канальные пути. Каждый канальный путь содержит канал, соединенный с устройством управления, которое дополнительно соединено с одним или несколькими устройствами ввода-вывода.
Канальная подсистема и устройство ввода-вывода могут действовать в режиме передачи, в котором для обмена данными между устройствами ввода-вывода и памятью поддерживается передача одного или нескольких блоков управления командами. Для определения одной или несколько команд ввода-вывода, которые должны выполняться, используется управляющее слово передачи (УСП, от английского TCW - Transport Control Word). Для команд, инициирующих некоторые операции ввода-вывода, УСП указывает области памяти, соответствующие операции, действие, которое должно быть предпринято по завершении передачи в область или из области памяти, и другие опции.
Объектом изобретения является машиночитаемый носитель информации, содержащий команды, считываемые и выполняемые устройством обработки данных для выполнения операции ввода-вывода, инициированной командой ввода-вывода в компьютерной хост-системе, сконфигурированной на поддержание связи с устройством управления, которое поддерживает связь с одним или несколькими устройствами, причем вышеупомянутые команды выполняются устройством обработки данных с целью осуществления способа, включающего: генерирование канальной подсистемой компьютерной хост-системы по меньшей мере одного командного сообщения с указанием операции ввода-вывода, содержащего одно или несколько командных слов устройств (КСУ, от английского DCW, device command word), каждое из которых соответствует команде ввода-вывода, при этом по меньшей мере одно КСУ из одного или нескольких КСУ содержит счет данных и индикатор подавления длины (ИПД, от английского SLI, suppress-length indication), сконфигурированный на то, чтобы указывать устройству управления, следует ли продолжать осуществление операции ввода-вывода при обнаружении устройством управления условия неправильной длины из-за несоответствия счета данных объему данных, необходимому для выполнения команды ввода-вывода, при этом необходимыми данными являются данные, доступные в устройстве управления для выполнения команды чтения, или данные, необходимые устройству управления для выполнения команды записи; пересылку по меньшей мере одного командного сообщения устройству управления; прием от устройства управления значения неправильной длины (НД), при этом значением неправильной длины является первое значение НД, если значением ИПД является первое значение ИПД, а счет данных не соответствует объему необходимых данных, и значением неправильной длины является второе значение НД, если значением ИПД является второе значение ИПД, а счет данных не соответствует объему необходимых данных; и в ответ на прием значения НД от устройства управления - сохранение индикатора НД, отображающего значение НД, в слове состояния подканала.
Другим объектом изобретения является система обработки операций ввода-вывода, включающая в себя компьютерную хост-систему и обеспечивающая выполнение операции ввода-вывода, инициированной командой ввода-вывода в компьютерной хост-системе, причем компьютерная хост-система сконфигурирована на поддержание связи с устройством управления, поддерживающим связь с одним или несколькими устройствами, и содержит: канальную подсистему, выполненную с возможностью генерирования по меньшей мере одного командного сообщения с указанием операции ввода-вывода, содержащего одно или несколько командных слов устройств (КСУ), каждое из которых соответствует команде ввода-вывода, при этом по меньшей мере одно КСУ из одного или нескольких КСУ содержит счет данных и индикатор подавления длины (ИПД), сконфигурированный на то, чтобы указывать устройству управления, следует ли продолжать осуществление операции ввода-вывода при обнаружении устройством управления условия неправильной длины из-за несоответствия счета данных объему данных, необходимому для выполнения команды ввода-вывода, при этом необходимыми данными являются данные, доступные в устройстве управления для выполнения команды чтения, или данные, необходимые устройству управления для выполнения команды записи; средство пересылки, выполненное с возможностью пересылки по меньшей мере одного командного сообщения устройству управления; средство приема, выполненное с возможностью приема от устройства управления значения неправильной длины (НД), при этом значением неправильной длины является первое значение НД, если значением ИПД является первое значение ИПД, а счет данных не соответствует объему необходимых данных, и значением неправильной длины является второе значение НД, если значением ИПД является второе значение ИПД, а счет данных не соответствует объему необходимых данных; и средство сохранения, выполненное с возможностью совершаемого в ответ на прием значения НД от устройства управления сохранения индикатора НД, отображающего значение НД, в слове состояния подканала.
Еще одним объектом изобретения является способ осуществления операции ввода-вывода, инициированной командой ввода-вывода в компьютерной хост-системе, сконфигурированной на поддержание связи с устройством управления, которое поддерживает связь с одним или несколькими устройствами. Способ включает генерирование канальной подсистемой компьютерной хост-системы по меньшей мере одного командного сообщения с указанием операции ввода-вывода, содержащего одно или несколько командных слов устройств (КСУ), каждое из которых соответствует команде ввода-вывода, при этом по меньшей мере одно КСУ из одного или нескольких КСУ содержит счет данных и индикатор подавления длины (ИПД), сконфигурированный на то, чтобы указывать устройству управления, следует ли продолжать осуществление операции ввода-вывода при обнаружении устройством управления условия неправильной длины из-за несоответствия счета данных объему данных, необходимому для выполнения команды ввода-вывода, при этом необходимыми данными являются данные, доступные в устройстве управления для выполнения команды чтения, или данные, необходимые устройству управления для выполнения команды записи; пересылку по меньшей мере одного командного сообщения устройству управления; прием от устройства управления значения неправильной длины (НД), при этом значением неправильной длины является первое значение НД, если значением ИПД является первое значение ИПД, а счет данных не соответствует объему необходимых данных, и значением неправильной длины является второе значение НД, если значением ИПД является второе значение ИПД, а счет данных не соответствует объему необходимых данных; и в ответ на прием значения НД от устройства управления - сохранение индикатора НД, отображающего значение НД, в слове состояния подканала.
Дополнительные признаки и преимущества изобретения реализованы посредством приемов, раскрытых в описанных вариантах осуществления. В описании рассмотрены другие варианты осуществления и особенности, считающиеся частью заявленного изобретения. Для обеспечения лучшего понимания преимуществ и признаков изобретения они описаны со ссылкой на чертежи.
Объект, рассматриваемый в качестве изобретения, конкретно охарактеризован и отдельно заявлен в формуле изобретения, следующей за описанием. Перечисленные выше и другие задачи, признаки и преимущества изобретения станут ясны из следующего далее подробного описания в сочетании с сопровождающими его чертежами, на которых:
на фиг.1 проиллюстрирован один из вариантов осуществления системы обработки операций ввода-вывода, в которой содержится и используется одна или несколько особенностей настоящего изобретения,
на фиг.2 - один из вариантов управляющего слова передачи (УСП),
на фиг.3 - один из вариантов осуществления блока управления командами передачи (БУКП, от английского - transport command control block),
на фиг.4 - один из вариантов осуществления элемента информации (IU, от английского - information unit) команд передачи, который содержит проиллюстрированный на фиг. 3 БУКП,
на фиг.5 - один из вариантов осуществления заголовка команд передачи проиллюстрированного на фиг. 4 IU команды передачи,
на фиг.6 - один из вариантов осуществления заголовка области команд передачи (ТСАН, от английского - transport command area header), проиллюстрированного на фиг. 4 БУКП,
на фиг.7 - один из вариантов осуществления области команд передачи (ТСА, от английского - transport command area), проиллюстрированного на фиг. 4 БУКП,
на фиг.8 - таблица с описанием примеров определения различных счетов данных для операций однонаправленной передачи данных,
на фиг.9 таблица с описанием примеров определения различных счетов данных для операций двунаправленной передачи данных,
на фиг.10 - один из вариантов осуществления командного слова устройств (КСУ),
на фиг.11 - один из вариантов осуществления поля управляющих флагов КСУ, проиллюстрированного на фиг.10,
на фиг.12 - примеры кодов и флагов команд для КСУ,
на фиг.13 - один из вариантов осуществления расширения области команд передачи (ТСАХ, от английского - transport command area extension),
на фиг.14 - один из вариантов осуществления блока смещения СВС,
на фиг.15 - блок-схема, иллюстрирующая один из вариантов осуществления способа выполнения операций ввода-вывода в режиме передачи,
на фиг.16 - варианты осуществления IU данных передачи, используемых для передачи входных и выходных данных между каналом и устройством управления и/или устройством ввода-вывода,
на фиг.17 - один из вариантов осуществления блока ответа на прерывание (IRB, от английского - interruption-response block), содержащего слово состояния подканала (SCSW, от английского - Subchannel-Status Word),
на фиг.18А и 18Б - примеры спецификаторов состояния для проиллюстрированного на фиг.17 SCSW,
на фиг.19 - один из вариантов осуществления IU ответа на передачу,
на фиг.20 - один из вариантов осуществления области информации о состоянии проиллюстрированного на фиг.19 IU ответа на передачу.
Подробное описание
В вариантах осуществления настоящего изобретения предложено облегчение обработки операций ввода-вывода в компьютерной системе. В одном из вариантов осуществления предложены команды передачи для управления операцией ввода-вывода и передачей данных по канальному пути. В командах передачи содержится метаинформация о командах передачи (TCMI, от английского - transfer command meta-information), которая используется для контроля передачи данных и передачи дополнительных КСУ. TCMI может быть задана управляющим словом передачи (УСП), содержащимся в одном или нескольких элементах информации (IU) данных передачи, определяющих, указывающих и проверяющих информацию, касающуюся данных для передачи в ходе операции ввода-вывода. Команды передачи могут включать команду опроса, команду передачи блока смещения СВС (ТСОВ) и команду передачи расширения ТСА (ТТЕ).
В одном из вариантов осуществления обработка операции ввода-вывода облегчается за счет того, что хост-компьютер может увеличивать число команд, которые могут передаваться устройству при выполнении операции ввода-вывода. Например, с целью увеличения числа команд, которые могут сопутствовать операции ввода-вывода, от хост-компьютера устройству может передаваться TCMI в виде расширения области команд передачи (ТСАХ). В одном из вариантов осуществления, ТСАХ может определяться УСП и передаваться посредством командного слова устройств (КСУ), называемого КСУ передачи расширения ТСА (ТТЕ, от английского - Transfer ТСА extension), которое содержит команды для выполнения помимо команд, передаваемых в области команд передачи (ТСА). В одном из вариантов осуществления ТСАХ определяется КСУ ТТЕ и в виде выходных данных передается устройству управления.
Обработка операции ввода-вывода также может облегчаться за счет использования средства, позволяющего устройству ввода-вывода продолжать операцию ввода-вывода при обнаружении записи неправильной длины. Например, в хост-системе и устройстве управления может быть установлено средство индикации неправильной длины КСУ и индикации неправильной длины FCX. Средство обеспечивает проверку на неправильную длину (НД), которая может осуществляться устройством управления. К КСУ, передаваемому устройству, может добавляться поле подавления неправильной длины или подавления индикации подавления длины (ИПД). Когда этот разряд в этом поле активирован, разрешается сцепление КСУ с тем, чтобы продолжать операцию при обнаружении устройством управления условия неправильной длины.
Обработка операции ввода-вывода также может облегчаться за счет использования средства передачи устройству команд как чтения, так и записи в ходе одной операции ввода-вывода. В известных из уровня техники канальных программах УСП задаются все команды записи или все команды чтения. Двунаправленная операция может быть задана путем установки одного или нескольких флагов в заголовке команды передачи (ТСН, от английского - transport command header) IU команды, например, путем установки на единицу флагов как чтения, так и записи и использования счет данных как чтения, так и записи. Кроме того, в сообщении инициализации или регистрации, таком как сообщение с запросом регистрации процесса (РП, от английского - Process Login), может быть установлен флаг, указывающий, что канальная подсистема поддерживает двунаправленную передачу данных. В ответе, таком как принятое сообщение РП, может содержаться флаг, который может быть установлен, чтобы указывать, поддерживает ли устройство двунаправленную передачу данных. Если как хост, так и устройство управления поддерживают двунаправленную передачу данных, устройство не сообщает об ошибке, если в IU команды установлен флаг как чтения, так и записи. Эта способность является усовершенствованием по сравнению с известными из уровня техники протоколами стандарта 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), одно командное сообщение, содержащее множество команд (например, элемент информации команд передачи или блок управления командами передачи (БУКП)) или множество сцепленных команд (например, множество CCW). Операция ввода-вывода также может предусматривать генерирование устройством 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)", T1 1 Project 2122-D, пересмотренная версия 3.00 (22 сентября, 2009 г.).
В одном из вариантов осуществления при выполнении команды запуска подканала канальной подсистеме 114 передается содержимое блока запроса операции (ORB, от английского - operation request block). В ORB указана канальная программа, которая содержит адрес одного или нескольких управляющих слов (например, управляющее слово канала или управляющее слово передачи, которые дополнительно описаны далее). Существуют два режима работы подканала. В одном из вариантов осуществления компьютерная хост-система 102 действует в командном режиме и задает управляющее слово(-а) в виде управляющего слова канала (CCW). В другом варианте осуществления хост-система действует в режиме передачи и задает управляющее слово(-а) в виде управляющего слова передачи (УСП).
Подканал может перейти в режиме передачи, если установлено средство FCX (расширение стандарта Fibre Channel) и в результате выполнения команды запуска подканала с указанием канальной программы УСП в подканале установлена функция запуска. Подканал остается в режиме передачи, пока не будет переустановлена функция запуска. В остальное время подканал находится в командном режиме.
При нахождении в командном режиме канал выполняет канальную программу CCW, которая содержит одно управляющее слово канала или последовательно выполняемую последовательность управляющих слов канала для управления заданной последовательностью операций канала. Устройство управления выполняет операцию ввода-вывода CCW путем декодирования, приема и выполнения команд CCW устройством ввода-вывода. Одно или несколько CCW для последовательного выполнения образуют канальную программу CCW и выполняются как одна или несколько операций ввода-вывода, соответственно.
Средство FCX является необязательным средством, обеспечивающим формирование канальной программы в режиме передачи, которая состоит из управляющего слова передачи (УСП), указывающего блок управления командами передачи (БУКП) и блока состояния передачи (TSB, от английского -transport-status block). БУКП имеет область команд передачи (ТСА), в которой содержится список из одной или нескольких (например, до 30) команд ввода-вывода в виде командных слов устройств (КСУ). УСП и его БУКП могут задавать операцию чтения или записи. В одном из вариантов осуществления в системе, которая поддерживает операции в режиме передачи, может быть установлено средство FCX двунаправленной передачи данных, позволяющее компьютерной хост-системе 102 задавать передачу как входных, так и выходных данных в ходе одной операции ввода-вывода в режиме передачи, если подсоединенное устройство 116 и устройство 118 управления поддерживают двунаправленную передачу данных. Когда устройство 11 8 управления распознает двунаправленную передачу данных, в УСП и его БУКП в зависимости от устройства может быть задана передача как данных чтения, так и записи.
В режиме передачи одно управляющее слово передачи (УСП) задает местоположение в памяти БУКП (а также местоположение в памяти 106 или 108 одной или нескольких областей данных), которое передается в одном сообщении вместо передачи отдельных CCW в командном режиме. Устройство 118 управления выполняет операцию ввода-вывода в режиме передачи путем декодирования, приема и выполнения БУКП и включенных в него отдельных КСУ. Если в ORB задана канальная программа УСП, канальная подсистема 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) указано, адресуются или выходные данные прямо или косвенно. Например, когда разряд 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), в котором указана длина БУКП в байтах. Например, в поле TCCBL содержится целое число без знака, значение которого (например, при сложении с 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 адреса блока управления командами передачи указан один или несколько (прямых или косвенных) адресов БУКП. Например, если разряд БУКП-ТГОА (разряд 6 флагового разряда) равен нулю, слова 8-9 указывают 64-разрядный адрес БУКП в физическом запоминающем устройстве. Когда разряд БУКП-ТГОА равен нулю, установлено, что БУКП постоянно хранится в непрерывной области запоминающего устройства. Если разряд БУКП-ТГОА равен единице, слова 8-9 указывают 64-разрядный адрес TIDAW или списка TIDAW в физическом запоминающем устройстве с указанием адреса БУКП в физическом запоминающем устройстве. Когда разряд БУКП-ТГОА равен единице, может быть установлено, что БУКП постоянно хранится в прерывистых областях запоминающего устройства.
В поле 158 выходного счета указано число выходных байтов для УСП. Например, когда разряд 15 слова 1 (разряд поля W) равен единице, слово 10 содержит целое число без знака, отображающее общий счет выходных байтов для УСП. В поле 160 входного счета указано число входных байтов для УСП. Например, когда разряд 14 слова 1 (разряд поля R) равен единице, слово 11 содержит целое число без знака, отображающее общий счет входных байтов для УСП.
Если в УСП задана операция опроса, в поле 162 адреса УСП опроса указан адрес УСП опроса в запоминающем устройстве. Например, когда в команде запуска подканала указан УСП, слово 15 УСП не проверяется. Тем не менее, когда в команде прекращения работы канала (CANCEL SUBCHANNEL) указан подканал в ожидании запуска для канальной программы УСП, а не в ожидании обработки, разряды 1-31 слова 15 УСП в команде запуска подканала задают 31-разрядный адрес в физическом запоминающем устройстве адрес УСП опроса, которое используется для инициации операции опроса для подканала. Если при подаче команды прекращения работы канала слово 15 содержит нули, операция опроса не инициируется. Когда при подаче команды прекращения работы канала разряд 0 слова 15 должен являться нулевым, иначе распознается условие проверки программы с указанием состояния неудавшегося опроса. Когда при подаче команды прекращения работы канала разряды 1-31 слова 15 не содержат нули, разряды 1-31 слова 15 должны указывать