RU2541106C2 - Облегчение операций ввода-вывода в режиме передачи между канальной подсистемой и устройствами ввода-вывода - Google Patents

Облегчение операций ввода-вывода в режиме передачи между канальной подсистемой и устройствами ввода-вывода Download PDF

Info

Publication number
RU2541106C2
RU2541106C2 RU2012147915/08A RU2012147915A RU2541106C2 RU 2541106 C2 RU2541106 C2 RU 2541106C2 RU 2012147915/08 A RU2012147915/08 A RU 2012147915/08A RU 2012147915 A RU2012147915 A RU 2012147915A RU 2541106 C2 RU2541106 C2 RU 2541106C2
Authority
RU
Russia
Prior art keywords
data
value
ksu
control device
command
Prior art date
Application number
RU2012147915/08A
Other languages
English (en)
Other versions
RU2012147915A (ru
Inventor
Роджер ХАТХОРН
Джон ФЛЕЙНАГАН
Луис РИЧЧИ
Скотт КАРЛСОН
Маттью Джозеф КАЛОС
Харри ЮДЕНФРЕНД
Дейл РИДИ
Даниел Франсис КАСПЕР
Сузан Кей КАНДЕЛАРИА
Original Assignee
Интернэшнл Бизнес Машинз Корпорейшн
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Интернэшнл Бизнес Машинз Корпорейшн filed Critical Интернэшнл Бизнес Машинз Корпорейшн
Publication of RU2012147915A publication Critical patent/RU2012147915A/ru
Application granted granted Critical
Publication of RU2541106C2 publication Critical patent/RU2541106C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Debugging And Monitoring (AREA)
  • Information Transfer Systems (AREA)
  • Communication Control (AREA)
  • Retry When Errors Occur (AREA)
  • Computer And Data Communications (AREA)
  • Hardware Redundancy (AREA)

Abstract

Группа изобретений относится к обработке операций ввода-вывода. Технический результат заключается в упрощении обработки указанных операций. В способе генерируют в канальной подсистеме компьютерной хост-системы по меньшей мере одно командное сообщение, содержащее одно или несколько командных слов устройств (КСУ), при этом по меньшей мере одно КСУ из одного или нескольких КСУ содержит индикатор подавления длины (ИПД), сконфигурированный на то, чтобы указывать устройству управления, следует ли продолжать осуществление операции ввода-вывода при обнаружении устройством управления несоответствия счета данных требуемому объему данных; прием значения неправильной длины (НД), при этом значением неправильной длины является первое значение НД, если значением ИПД является первое значение ИПД, а счет данных не соответствует объему необходимых данных; и в ответ на прием значения НД от устройства управления - сохранение индикатора НД в слове состояния подканала. 3 н. и 22 з.п. ф-лы, 23 ил.

Description

Предпосылки создания изобретения
Настоящее изобретение относится в целом к обработке операций ввода-вывода, более точно, к созданию средств для облегчения операций ввода-вывода в режиме передачи.
Операции ввода-вывода используются для обмена данными между памятью и устройствами ввода-вывода, входящими в систему обработки операций ввода-вывода. В частности, путем выполнения операций ввода-вывода данные из памяти записываются в одно или несколько устройств ввода-вывода, а данные из одного или несколько устройств ввода-вывода считываются памятью.
Для облегчения обработки операций ввода-вывода применяется подсистема ввода-вывода, входящая в систему обработки операций ввода-вывода.
Подсистема ввода-вывода связана с основной памятью и устройствами ввода-вывода, входящими в систему обработки операций ввода-вывода, и направляет поток информации, которым обмениваются память и устройства ввода-вывода. Одним из примеров подсистемы ввода-вывода является канальная подсистема. В канальной подсистеме в качестве передающей среды используются канальные пути. Каждый канальный путь содержит канал, соединенный с устройством управления, которое дополнительно соединено с одним или несколькими устройствами ввода-вывода.
Канальная подсистема и устройство ввода-вывода могут действовать в режиме передачи, в котором для обмена данными между устройствами ввода-вывода и памятью поддерживается передача одного или нескольких блоков управления командами. Для определения одной или несколько команд ввода-вывода, которые должны выполняться, используется управляющее слово передачи (УСП, от английского 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 должны указывать адрес в запоминающем устройстве на 64-байтовой границе, иначе распознается условие проверки программы с указанием состояния неудавшегося опроса. Слово 14 может быть зарезервировано для расширения поля адреса УСП опроса до 64 разрядов.
Как показано на фиг.3 и 4, блок 170 управления командами передачи (БУКП) содержит одну или несколько отдельных команд в составе операции ввода-вывода УСП и передается устройству 118 управления и/или устройству 116 по каналу 128 посредством канального пути. БУКП 170 освобождает канал от ответственности за передачу множество сообщений или элементов информации, а также перекладывает ответственность за выполнение операции на устройство управления и избавляет устройство 118 управления от необходимости передавать ответы на каждую команду. Вместо этого устройство 118 управления может выполнять все команды и передавать ответ по завершении операции.
БУКП 170 имеет переменную длину, может содержать заголовок и концевую информацию и одну или несколько (например, от 1 до 30) команд в качестве командных слов устройств (КСУ), которые логически связаны (например, сцеплены) и последовательно выполняются устройством 118 управления. БУКП 170 может постоянно храниться в виде одного блока в непрерывной области памяти или в виде множества блоков в прерывистых областях памяти. Например, флаговый разряд 140 БУКП-TIDA в описанном выше УСП используется, чтобы указывать, хранится ли БУКП в непрерывной области памяти.
Примеры БУКП проиллюстрированы на фиг.3 и 4. Как показано на фиг.4, БУКП 170 может быть передан по каналу 128 устройству 118 управления в составе элемента 172 информации (IU) команд передачи, который передается устройству 118 управления для инициации операции ввода-вывода. В одном из вариантов осуществления, IU 172 команды передачи состоит из 8-байтового заголовка 174 SB-4, за которым следует 4-байтовый заголовок 176 команд передачи (ТСН) и БУКП 170. БУКП 170 содержит 16-байтовый заголовок 178 области команд передачи (ТСАН), имеющую переменную длину область 180 команд передачи (ТСА) и концевик 182 области команд передачи (ТСАТ, от английского - transport command area trailer). ТСАТ 182 может дополнительно содержать 4-байтовое поле 184 LRC, 4-байтовое поле 186 длительности передачи данных (DL) и для двунаправленных операций 4-байтовое поле 188 длительности двунаправленной передачи данных чтения (BRDL). Эти поля дополнительно описаны далее.
Как показано фиг.4, в заголовке 174 SB-4 содержится адресная информация FC-4 для идентификации логического пути и устройства 116 для передачи данных. В заголовок 174 SB-4 указан идентификатор изображения канала и идентификатор устройства управления для логического пути между каналом 128 и устройством 118 управления, а также идентификатор устройства.
Как показано фиг.5, в ТСН 176 содержится информация о БУКП 170 и операциях соответствующих устройств. В одном из вариантов осуществления ТСН 176 состоит из 4 байтов, сразу за которыми следует заголовок 174 SB-4 в IU 172 команды передачи. В ТСН 176 содержатся такие поля, как поле 190 длины ("L1"), поле 192 чтения ("R") и поле 194 записи ("W"). Поле L1 (содержащееся, например, в разрядах 24-29) указывает длину ТСА 180 в словах плюс однословное поле 184 LRC, которое непосредственно следует за ТСА 180. Например, для устройств 118 управления, которые не поддерживают двунаправленные операции, общий объем данных, переданный в IU 172 команды передачи, равен длине поля L1 плюс 8 (то есть, поля L1 плюс двухсловный заголовок SB-4, однословный ТСН, четырехсловный ТСАН и однословное DL); в противном случае устройство управления распознает ошибку целостности IU команды передачи вследствие ошибки счета данных. Для устройств управления, которые поддерживают двунаправленные операции, общий объем данных, переданный в IU 172 команды передачи, равен длине поля L1 плюс 8 (то есть, поля L1 плюс двухсловный заголовок SB-4, однословный ТСН, четырехсловный ТСАН и однословное DL) или длине поля L1 плюс 9 (то есть, поля L1 плюс двухсловный заголовок SB-4, однословный ТСН, четырехсловный ТСАН, однословное DL и однословное BRDL для двунаправленной операции); в противном случае устройство управления распознает ошибку целостности IU команды передачи вследствие ошибки счета данных. Если ошибка целостности IU команды передачи не распознана, местоположение LRC в БУКП определяется на основании поля L1 и может осуществляться проверка LRC.
В поле 192 чтения (R) указано, что ТСА 180 содержит одну или несколько команд чтения или ввода. В варианте осуществления, проиллюстрированном на фиг.5, поле 192 R содержит разряд 30, указывающий, когда он установлен на единицу, что ТСА 180 содержит одну или несколько команд передачи данных чтения. Когда разряд поля R установлен на ноль, в ТСА 180 не содержатся команды передачи данных чтения. Когда разряд поля R равен единице, а разряд поля W (например, разряд 31) равен нулю, операция именуется операцией чтения. Когда разряды обоих полей R и W установлены на ноль, в ТСА 180 не содержатся команды передачи данных чтения или записи, и это означает, что в ходе операции ввода-вывода не осуществляется передача данных. Когда разряды обоих полей R и W установлены на единицу, ТСА 180 может содержать команды передачи данных как чтения, так и записи, и операция именуется двунаправленной операцией. Устройство 116 или устройство 118 управления распознает ошибку содержимого ТСН вследствие конфликта по совпадению обращения при чтении и записи, если задана двунаправленная операция, а устройство 118 управления не поддерживает двунаправленные операции, или устройство 118 управления поддерживает двунаправленные операции, но в IU 172 команды передачи не содержится поле 188 BRDL. Когда разряд R равен нулю, а устройство 118 управления или устройство 116 обнаруживает в ТСА 180 команду, предусматривающую попытку передачи данных чтения, распознается ошибка содержимого БУКП вследствие ошибочной попытки чтения.
В поле 194 записи (W) указано, что ТСА 180 содержит одну или несколько команд записи или вывода. В варианте осуществления, проиллюстрированном на фиг.5, поле W содержит разряд 31, указывающий, когда он установлен на единицу, что ТСА 180 содержит одну или несколько команд передачи данных записи. Когда разряд установлен на ноль, ТСА не содержит команд передачи данных записи. Когда разряд поля W равен единице, а разряд поля R (разряд 30) равен нулю, операция именуется операцией записи. Когда разряд поля W равен нулю, а устройство 118 управления или устройство 116 обнаруживает в ТСА 180 команду, которая является командой записи, распознается ошибка содержимого БУКП вследствие ошибочного условия записи.
Как показано фиг.6, в одном из вариантов осуществления в заголовке 178 ТСА (ТС АН) содержится информация о ТСА 180 и описанных в ней операциях, такая как протяженность ТСА и указатели устройств. В этом варианте осуществления байт 3 слова 1 представляет собой поле 196 длины "L2", содержащее целое двоичное число без знака, указывающее длину ТСА 180 в байтах плюс слова 2 и 3 заголовка ТСА плюс 4-байтовое поле 184 LRC, которое непосредственно следует за ТСА 180. Поле 198 кода служебной операции (например, байты 0-1 слова 2) содержит целое число без знака, значение которого указывает тип операции, заданной БУКП. Например, шестнадцатеричное значение TFFE' означает операцию ввода-вывода устройства SB-4, а шестнадцатеричное значение '1FFF' означает функция поддержки устройства SB-4. Поле 200 указателя приоритета (например, байт 3 слова 2) содержит указатель приоритета ввода-вывода устройства управления.
Как показано фиг.7, область 180 команд передачи (ТСА) является областью переменной длины, которая содержит одну или несколько (например, от 1 до 30) команд в виде командных слов 202 устройств (КСУ). В одном из вариантов осуществления протяженность ТСА 180 составляет целое число 4-байтовых слов. В случае КСУ 202, в которых заданы управляющие данные устройства, ТСА 180 также содержит управляющие данные, соответствующие каждому КСУ 202. Каждое КСУ 202, в котором заданы управляющие данные, уменьшает максимальную пропускную способность КСУ на одно или несколько КСУ в зависимости от объема сопутствующих командам данных. В случае КСУ 202, в которых заданы входные или выходные данные, в УСП 140 указывается соответствующая область или области запоминающего устройства, а в КСУ указывается счет байтов для передачи. В одном из вариантов осуществления максимальный размер ТСА составляет 240 байтов. Как показано в варианте осуществления, проиллюстрированном на фиг.7, когда в ТСА 180 имеет достаточное пространство для всего КСУ 202, КСУ 202 начинается на границе слова, которое следует за предыдущим КСУ 202 или управляющими данными, сопутствующими предыдущему КСУ 202. Когда в последнем КСУ 202 в ТСА 180 заданы управляющие данные, содержащие нецелое число слов, следующее поле 184 LRC начинается на границе слова, которое следует за управляющими данными.
В случае некоторых устройств размер списка КСУ 202 может выходить за пределы возможностей ТСА 180. В таких случаях может быть предусмотрено поле расширения ТСА (ТСАХ), которое содержит дополнительные КСУ и передается, как если бы в ТСАХ содержались выходные данные (например, передается в составе IU вывода передаваемых данных). Тем не менее, ТСАХ рассматривается как логическое продолжение ТСА 180, а не как передаваемые данные. ТСАХ задается в ТСА 180 с помощью КСУ передачи расширения ТСА (ТТЕ). ТСАХ и КСУ ТТЕ дополнительно описаны далее, а варианты осуществления ТСАХ проиллюстрированы на фиг.12 и 13.
Как показано на фиг.3 и 4, БУКП может содержать концевик 182 области команд передачи (ТСАТ), который содержит дополнительную информацию о БУКП, включая информацию о различных счетах. В одном из вариантов осуществления, когда задана однонаправленная передача данных (разряд поля R или разряд поля W установлен на единицу) или передача данных не задана (разряд как поля R, так и поля W в УСП установлены на ноль), длина ТСАТ 182 составляет два слова. Когда задана двунаправленная передача данных (разряд как поля R, так и разряд поля W в УСП установлены на единицу), длина ТСАТ 182 составляет три слова.
Например, когда задана однонаправленная передача данных, в поле 186 счета передачи или длительности передачи данных (DL) в виде 32-разрядного целого числа без знака указан счет суммарных данных для передачи ("значение счета передачи"). Когда задана операция чтения (разряд поля R в УСП равен единице), значение поля счета передачи в ТСАТ может определяться путем суммирования значений поля счета в КСУ 202, в каждом из которых задана команда типа чтения. Сумма округляется в сторону увеличения до ближайшей кратной 4 величины, а округленная сумма увеличивается на 4, чтобы получить значение счета передачи. Когда задана операция чтения, значение счета передачи должно быть равным значению поля 160 входного счета УСП, округленному в сторону увеличения до ближайшей кратной 4 величины плюс 4.
Когда задана операция записи (разряд поля W в УСП равен единице), суммируются значения поля счета в КСУ 202, в которых задана команда записи.
Кроме того, к сумме прибавляются значения поля счета во всех КСУ команд передачи (дополнительно описанных далее), в которых задана передача метаинформации о командах передачи (TCMI), плюс размер зарезервированных полей TCMI. (Следует отметить, что размер зарезервированного поля TCMI может быть равным нулю). К сумме прибавляется общий счет байтов заданного TIDAW контроля блока управления (СВС) или байтов циклического контроля по избыточности (CRC) и холостых байтов. Сумма округляется в сторону увеличения до ближайшей кратной 4 величины, а округленная сумма увеличивается на 4, чтобы получить значение счета передачи. Когда задана операция записи, значение счета передачи должно быть равным значению поля 158 выходного счета УСП, округленному в сторону увеличения до ближайшей кратной 4 величины плюс 4. Когда не задана операция ни чтения, ни записи (разряд как поля R, так и поля W в УСП равен нулю), значение счета передачи должно быть равным нулю.
Когда задана двунаправленная передача данных, поле 186 DL служит счетом записи, и в нем виде 32-разрядного целого числа без знака указан счет суммарных выходных данных для передачи. Значение счета передачи в поле DL (поле счета записи) в ТСАТ 182 определяется, как описано выше применительно к операции записи. В поле 188 длительности двунаправленной передачи данных чтения (BRDL) в виде 32-разрядного целого числа без знака указан счет суммарных входных данных для передачи. Значение счета передачи для поля 188 BDRL определяется, как описано выше применительно к операциям чтения.
В одном из вариантов осуществления в случае операция записи или двунаправленной операции в поле DL должно содержаться 4-байтовое целое двоичное число без знака, указывающее число байтов для передачи по каналу устройству управления для выполнения операции, и содержатся все промежуточные и окончательные холостые байты и байты CRC, а, если в первом IU данных передачи операции записи содержится СОВ, в поле DL также содержится СОВ, любые холостые байты СОВ и байты CRC СОВ. Если в ТСА присутствует КСУ ТТЕ, поле DL также содержит ТСАХ, любые холостые байты ТСАХ и байты CRC ТСАХ.
На фиг.8 и 9 показаны таблицы, в которых в обобщенном виде представлено определение значений входного счета УСП, выходного счета и счета передачи ТСАТ для однонаправленной и двунаправленной передачи, соответственно.
В случае двунаправленной операции в поле длительности двунаправленной передачи данных чтения (BRDL) содержится 4-байтовое целое двоичное число без знака, указывающее число байтов для передачи устройством управления по каналу для осуществления операции, и содержатся любые холостые байты, необходимые для округления до границы слова, если оно уже не находится на границе слова, плюс 4 байта для CRC. В случае операций, не являющихся двунаправленными операциями, устройство должно распознавать ошибку содержимого ТСН вследствие конфликта по совпадению обращения при чтении и записи, если в IU команды передачи содержится поле BRDL.
Как показано фиг.10, в командном слове 202 устройства (КСУ) задана команда для выполнения. Для команд, инициирующих определенные операции ввода-вывода, указывается счет байтов, с которыми должна осуществляться операция, действие, которое должно предприниматься по завершении передачи данных запоминающему устройству или из запоминающего устройства, и другие опции. Область или области памяти, соответствующие операции передачи данных КСУ, указываются в зависимости от операции, которая задана командой, полем 146 адреса входных данных или полем 144 адреса выходных данных УСП 140, в котором указан БУКП 170, содержащий КСУ 202. Указывается ли память прямо или косвенно в поле 146 адреса входных данных или в поле 144 адреса выходных данных, определяется в УСП 140 с помощью флагов Input TIDA и Output TIDA.
В одном из вариантов осуществления КСУ 202 представляет собой 8-байтовый блок управления, который указан в УСП 140 на границе слова. КСУ 202 содержит такие поля, поле 204 кода команды, поле 206 управляющих флагов, поле 208 счета управляющих данных и поле 201 счета данных КСУ.
В поле 204 кода команды (например, в разрядах 0-7 слова 0) указана операция для выполнения. Достоверна ли команда, зависит от устройства и от значения поля 198 кода служебной операции в ТСАН 178. Базовые команды включают чтение, запись, управление, восприятие и передачу. Канальная подсистема 114 различает следующие операции: управление, прямой вывод (запись), прямой ввод (чтение, восприятие, восприятие идентификатора), обратный ввод (обратное чтение), ветвление (передачу по каналу) и передачу. Результатом выполнения некоторых команд является не передача данных, а осуществляемое устройством сцепление и начало выполнения следующей команды, если выполнены все условия сцепления команд. Каждая из базовых операций описана далее.
Команда чтения инициирует выполнение устройством операции передачи в направлении устройство-канал. Команда записи инициирует выполнение устройством операции передачи данных в направлении канал-устройство. Команда управления инициирует выполнение устройством операции с использованием управляющих данных, содержащихся в КСУ. Команда восприятия сходна с командой чтения за исключением того, что данные поступают от индикаторов восприятия, а не из источника записей. Команды управления и соответствующие управляющие данные используются для управления конкретным устройством ввода-вывода и для управления устройством во время выполнения команды ввода-вывода. Команда передачи используется для управления операцией ввода-вывода и передачей данных по канальному пути и не зависит от устройства. Такие команды управляют передачей данных контроля блока управления, такие как данные циклического контроля по избыточности (CRC), и передачей дополнительных КСУ в IU данных передачи.
В поле 208 счета управляющих данных (CD) указано число байтов управляющих данных, соответствующих КСУ 202. Например, байт 3 слова 0 указывает длину управляющих данных в байтах. Если в коде команды задана команда, для которой требуются управляющие данные, а в байте 3 слова 0 указан меньший счет управляющих, чем требуется для команды, распознается условие контроля устройства или ошибка содержимого БУКП. Если в коде команды указана команда, для которой требуются управляющие данные, а байт 3 слова 0 имеет нулевое значение или значение с указанием данных за пределами конца ТСА (или конца указанного ТСАХ), распознается обнаруженное устройством условие контроля программы или ошибка содержимого БУКП.
В поле 210 счета данных КСУ указан счет байтов данных (например, данных, которые должны быть переданы для операции чтения или записи, т.е. клиентских данных), указанных УСП для текущего КСУ 202. Например, счет данных КСУ включен в слово 1 КСУ 202 на фиг.10 и в виде 32-разрядного целого числа без знака указывает счет байтов в области памяти, указанной УСП для этого КСУ. В поле 210 счета данных КСУ указано число байтов для передачи между каналом и устройством управления во время выполнения КСУ, не включая какие-либо холостые байты или байты CRC.
Как показано фиг.11, в одном из вариантов осуществления КСУ 202 содержит различные управляющие флаги 206. Во флаговом разряде 212 сцепления команд (СС) указано намерение осуществить сцепление команд. После нормального завершения текущей операции устройства и после распознавания конца работы устройства сцепление команд приводит к выполнению следующего КСУ 202 в ТСА 180. Флаговый разряд 212 СС в последнем КСУ в ТСА установлен на ноль. Когда в варианте осуществления, проиллюстрированном на фиг.10, разряд 9 слова 0 (разряд СС) равен единице, он задает сцепление команд. Когда разряд равен единице, после нормального завершения текущего КСУ инициируется операция, заданная следующим КСУ. Когда счет управляющих данных равен нулю, следующее КСУ следует немедленно за КСУ в ТСА или в ТСАХ. Когда счет управляющих данных не равен нулю, следующее КСУ следует немедленно за округленными до границы слова управляющими данными, заданными для КСУ. Когда флаг сцепления команд равен единице, в одном из вариантов осуществления местоположение следующего КСУ в ТСА или в ТСАХ определяется путем прибавления 8 и значения поля счета CD к местоположению текущего КСУ и округления в сторону увеличения до ближайшей границы слова. Если флаг сцепления команд в КСУ в ТСА равен единице, а местоположение следующего КСУ находится за пределами конца ТСА и задано ТСАХ, следующее КСУ находится в начале заданного ТСАХ.
В одном из вариантов осуществления поле управляющих флагов включает флаг 214 индикатора подавления длины (ИПД). Когда каналом 128 и устройством 118 управления поддерживается средство индикации неправильной длины КСУ, во флаге 214 ИПД используется разряд (например, разряд 2), который определяет, должно ли происходить сцепление команд при условии неправильной длины и должно ли устройство 118 управления указывать неправильную длину в IU ответа на передачу при обнаружении условия неправильной длины. Устройство управления обнаруживает условие неправильной длины, если счет данных КСУ не соответствует объему данных, необходимому устройству для КСУ записи, или, если счет данных КСУ не соответствует объему данных, доступному в устройстве для КСУ чтения. Когда канал и устройство управления не поддерживают средство индикации неправильной длины КСУ, разряд 2 резервируется и устанавливается на ноль каналом и не учитывается устройством управления.
Когда флаг 214 ИПД равен единице, индикация неправильной длины подавляется. Когда оба флаговых разряда СС и ИПД равны единице, происходит сцепление команд независимо от условия неправильной длины. Когда флаг 214 ИПД равен единице и имеет место условие неправильной длины текущего КСУ, сцепление команд, если оно указано, должно быть разрешено, и устройство управления продолжает выполнение очередного следующего КСУ. В одном из вариантов осуществления флаговый разряд ИПД должен быть установлен на единицу или иным способом активирован во всех КСУ, в которых желательно подавление индикации неправильной длины.
Если флаговый разряд ИПД равен нулю и имеет место условие неправильной длины КСУ, сцепление команд, если оно указано, не разрешается, и устройство 118 управления прекращает выполнение операции ввода-вывода. Если флаговый разряд ИПД в канальной подсистеме 114 равен нулю и имеет место условие неправильной длины, обработка ТСА 180 прекращается, и подканал переходит в состояние ожидания обработки с указанием неправильной длины в состоянии подканала. Когда имеет место условие неправильной длины КСУ 202, а флаг 214 ИПД в КСУ установлен на единицу, передача данных осуществляется, как описано далее, в противном случае операция прекращается и сообщается об условии аварийного завершения операции.
Если в случае КСУ 202 чтения счет данных КСУ превышает объем данных, доступный для команды в устройстве 116, происходит следующее. Если флаговый разряд 212 СС равен единице (указано сцепление), по каналу 128 передаются данные, доступные в устройстве 116, холостые байты (установленные на ноль), чтобы объем данных, переданный для КСУ 202, был равным счету данных КСУ. Все переданные данные, включая холостые байты, учитываются при любом вычислении CRC, требующегося для операции. Если флаговый разряд 212 СС равен нулю (сцепление не указано), по каналу передаются данные, доступные в устройстве, и не передаются дополнительные данные, или передаются холостые байты (установленные на ноль), чтобы объем данных, переданный для КСУ, был равным счету данных КСУ. Переданные данные плюс любые холостые байты учитываются при вычислении CRC, требующегося для операции. Передаются ли в этом случае холостые байты, зависит от модели. Если счет данных КСУ является меньшим, чем объем данных, доступный для команды в устройстве, по каналу для КСУ 202 передается только объем данных, равный счету данных КСУ. При вычислении CRC, требующегося для операции, учитываются только переданные данные.
Если в случае КСУ 202 записи счет данных КСУ превышает объем данных, требующийся устройству 116 для команды, происходит следующее. Если флаговый разряд 212 СС равен единице (указано сцепление), устройство 118 управления передается объем данных, определенный счетом данных КСУ. Переданные данные используются при любом вычислении CRC, требующегося для операции, а данные, не требующиеся устройству 116, отбрасываются. Если флаговый разряд СС равен нулю (сцепление не указано), устройству 118 управления передается объем данных, требующийся устройству 116. Дополнительные данные передаются до очередного слова промежуточного CRC или до исчерпания счета данных КСУ. Все переданные данные используются при любом вычислении CRC, требующегося для операции. Если счет данных КСУ является меньшим, чем объем данных, требующийся устройству 116 для команды, устройству 118 управления передается объем данных, определенный счетом данных КСУ. Переданные данные используются при любом вычислении CRC, требующегося для операции.
В случае КСУ 202 записи, в котором счет данных КСУ превышает объем данных, требующийся устройству 116 для команды, а флаговый разряд 212 СС равен нулю (сцепление не указано), передается объем данных, требующийся устройству 116. Затем передача данных продолжается, пока не будет определен очередной СВС для ввода или пока общий объем для передачи не станет равным счету данных КСУ. На фиг.12 показаны примеры кодов команды и проиллюстрированы шесть команд УСП, и указано, какие флаги устанавливаются для каждой команды. КСУ команды передачи является одним из типов КСУ, в котором задана не конкретная команда передачи данных (т.е. пользовательские данные, которые запрашиваются для передачи в команде хост-компьютера), а команда передачи, которая выполняет функцию поддержки, связанную с операцией ввода-вывода в режиме передачи. В КСУ команды передачи могут быть заданы управляющие данные, а также может быть задана передача метаинформации о командах передачи (TCMI). В TCMI содержатся данные, которые используются для управления функциями передачи в ходе операции ввода-вывода, такие как состояние операции ввода-вывода в устройстве, информации о дополнительных КСУ, которые не вписываются или не могут быть размещены в текущем БУКП, и информация о контроле блока управления (СВС), такая как данные циклического контроля по избыточности (CRC).
Когда в КСУ команды передачи указана передача TCMI устройству, TCMI передается в качестве выходных данных (например, в IU данных передачи). Объем TCMI зависит от команды и составляет, например, число, кратное 4. TCMI может быть расширена на 4 зарезервированных байта, когда объем TCMI равен четному числу, кратному 4, для указания областей выходного запоминающего устройства используются TIDAW, флаговый разряд ввода СВС в последнем TIDAW, которое используется для указания запоминающего устройства, содержащего TCMI, равен единице, разряд сцепления команд в КСУ команды передачи, в котором задана TCMI, равен единице, а в следующем КСУ задана передача TCMI или выходных данных. Следует отметить, что, когда в команде передачи указана передача TCMI устройству, a TCMI расширена на 4 зарезервированных байта, поскольку выполнены все предшествующие условия, 4 зарезервированных байта не входят в значение счета данных КСУ команды передачи, но входят в следующее: значение счета в последнем TIDAW, которое используется для указания запоминающего устройства, содержащего TCMI, значение выходного счета в УСП и значение счета передачи в соответствующем БУКП (в случае однонаправленной передачи информации) или в значение счета записи в соответствующем БУКП (в случае двунаправленной передачи).
В одном из вариантов осуществления в TCMI содержится информация опроса (посредством КСУ опроса), блок смещения СВС (посредством КСУ передачи блока смещения СВС) и расширение расширения ТСА (посредством КСУ передачи расширения ТСА).
На фиг.13 проиллюстрирован один из вариантов осуществления данных, заданных КСУ команды передачи одного из типов, именуемым командой передачи расширения ТСА (ТТЕ), которая входит в ТСА 180 БУКП 170 и задает расширение 220 ТСА (ТСАХ) для передачи устройству 118 управления. ТСАХ считается логическим расширением ТСА 180. В некоторых устройствах 116 в списке КСУ 202, соответствующих операции ввода-вывода, содержится большее число КСУ, чем может быть размещено в ТСА 180. В таком случае КСУ ТТЕ может присоединяться к концу УСП 140, которое задает ТСАХ 220 для передачи в качестве выходных данных (например, в IU данных передачи). В содержимое КСУ ТТЕ может входить код команды, включающий команду передачи расширения ТСА (например, значение 50 шестнадцатеричного числа).
Например, ТСА 180 имеет переменную длину и максимальный размер 240, а размер КСУ составляет 8 байтов. Соответственно, в этом примере в БУКП 170 может быть передано максимально 30 КСУ. Тем не менее, в случае КСУ 202, в которых заданы команды управления, требующие управляющих данных, непосредственно за каждым КСУ 202 в БУКП следуют управляющие данные. Таким образом, число КСУ в БУКП 170, содержащих такие команды, составляет менее 30. Для указания дополнительных КСУ, необходимых для операции ввода-вывода и не помещающихся в ТСА 180, может использоваться КСУ ТТЕ.
Как показано на фиг.13, расширение ТСА (ТСАХ) представляет собой область переменной длины, которая является логическим продолжением ТСА 180 в другом IU команды передачи или БУКП и содержит список КСУ и соответствующих управляющих данных. ТСАХ содержит одно или несколько дополнительных КСУ и соответствующие управляющие данные для операции ввода-вывода УСП (помимо тех, которые передаются в начальном БУКП) и может передаваться в другом БУКП или в IU данных передачи с целью расширения списка КСУ, требующихся для операции ввода-вывода. В одном из вариантов осуществления длина ТСАХ равна целому числу, кратному 4.
Как показано на фиг.13, в одном из вариантов осуществления ТСАХ 220 содержит КСУ 202 и/или управляющие данные для предыдущего КСУ 202. Когда последней информацией в ТСАХ 220 является КСУ 202, конец этого КСУ 202 определяет конец значащей информации в ТСАХ 220. Когда последней информацией в ТСАХ 220 являются управляющие данные и управляющие данные заканчиваются на 4-байтовой границе, конец управляющих данных определяет конец значащей информации в ТСАХ 220. Когда последней информацией в ТСАХ 220 являются управляющие данные и управляющие данные не заканчиваются на 4-байтовой границе, к управляющим данным присоединяют холостые байты для достижения 4-байтовой границы, конец холостых байтов определяет конец значащей информации в ТСАХ 220. Когда поделенный на четыре объем значащей информации в ТСАХ 220 равен нечетному числу, отсутствуют зарезервированные байты; в противном случае четыре байта, непосредственно следующие за значащей информацией в ТСАХ 220, резервируются и должны содержать нули. Когда в ТСАХ 220 содержатся управляющие данные для последнего КСУ 202 в ТСА 180, эти управляющие данные являются первыми данными в ТСАХ 220. Дополнительные КСУ и управляющие данные в ТСАХ 220 обрабатываются, как определено для ТСА 180.
В одном из вариантов осуществления, когда в ТСА 180 отсутствует КСУ ТСОВ (дополнительно описанное далее), КСУ ТТЕ является первым КСУ 202 в ТСА 180. Когда в ТСА 180 присутствует КСУ ТСОВ, КСУ ТТЕ является вторым КСУ 202 в ТСА 180. Счет данных КСУ ТТЕ задает длину ТСАХ 220 и может являться целым числом, кратным четырем байтам. Счет управляющих данных КСУ ТТЕ равен нулю, а флаговый разряд сцепления команд в КСУ ТТЕ установлен на единицу. Данные КСУ ТТЕ не содержат CRC ТСАХ или холостые байты ТСАХ.
Команда ТТЕ (КСУ ТТЕ) должна передаваться устройству, которое поддерживает команду ТТЕ, и передается, когда протяженность ТСА имеет определенный максимум (например, 60 слов), а управляющие данные для последнего КСУ в ТСА выходят за пределы последнего байта в ТСА, или протяженность ТСА превышает, например, 58 слов, и для операции ввода-вывода требуется одно или несколько дополнительных КСУ. Когда в IU данных передачи записи используется СОВ, ТСАХ следует за CRC СОВ. Когда СОВ не используется, ТСАХ передается в первом IU данных передачи записи операции ввода-вывода.
Другим типом КСУ является КСУ передачи блока смещения СВС (ТСОВ), которое представляет собой команду передачи блока смещения СВС (СОВ) устройству управления. Данные СВС относятся к данным контроля блока управления, которые используются, чтобы удостовериться, что в ходе операции ввода-вывода передается правильный объем входных или выходных данных. В одном из вариантов осуществления данные СВС являются данными циклического контроля по избыточности (CRC), СОВ является блоком смещения CRC, а КСУ ТСОВ является КСУ передачи блока смещения СВС. Обычно циклический контроль по избыточности (CRC) представляет собой код с обнаружением ошибок, сконфигурированный на обнаружение случайных изменений в необработанных данных, передаваемых между каналом 128 и устройством 118 управления. Устройство с поддержкой CRC (например, канал 128) вычисляет для каждого блока данных, который должен быть передан или сохранен, короткую двоичную последовательность фиксированной длины и присоединяет ее к данным, в результате чего формируется кодовое слово или "слово CRC". Например, когда используется CRC, канал 128 генерирует CRC для передаваемых данных и вводит вычисленное значение в конце последнего байта данных. При приеме или считывании слова CRC принимающее устройство (например, устройство 118 управления) сравнивает его контрольное число с числом, только что вычисленным на основании блока данных, или, что эквивалентно, осуществляет CRC с использованием целого кодового слова и сравнивает полученное контрольное число с расчетной константой остатка. Если контрольные числа не совпадают, переданные в блоке данные содержат ошибку. Хотя в вариантах осуществления данные СВС описаны как данные CRC, это не является их ограничением.
В одном из примеров КСУ ТСОВ указано, что СОВ передается устройству. ТСОВ согласно этому примеру имеет код команды, в котором содержится команда передачи блока смещения СВС (например, значение 60 шестнадцатеричного числа). Флаговый разряд сцепления команд равен единице. Когда поле 208 счета CD в КСУ ТСОВ не равно нулю, СОВ следует непосредственно за КСУ ТСОВ в ТСА 180, а в поле 208 счета CD указано умноженное на четыре число смещений CRC в СОВ. Когда поле 208 счета CD равно нулю, СОВ задан в выходных данных в качестве TCMI, местоположение СОВ задано полем 146 адреса входных данных в УСП, а в поле счета указано умноженное на четыре число смещений CRC в СОВ.
Как показано на фиг.14, в СОВ 222 задано местоположение слова промежуточного CRC в передаваемых данных для передачи данных записи или чтения (например, в IU данных передачи). В одном из вариантов осуществления, СОВ используется, когда первое КСУ 202 в ТСА 180 содержит команду ТСОВ, т.е. является КСУ ТСОВ. Смещения промежуточного CRC представляют собой слова CRC, находящиеся между данными IU данных передачи и до конца IU. СОВ 222 содержит список однословных величин, именуемых смещениями 224 CRC, каждое из которых определяет смещение в байтах каждого слова промежуточного CRC в передаваемых данных. Например, СОВ является блоком управления переменной длины, в котором содержится список 4-байтовых записей, каждая из которых определяет заданное TIDAW смещение CRC для ввода в выходные данные.
В варианте осуществления, проиллюстрированном на фиг.14, СОВ 222 содержит от 1 до N+1 слов (слов 224 смещения CRC) смещения промежуточного CRC. Если СОВ 222 используется в IU данных передачи, СОВ также может содержать 0 или 1 слово холостых байты и 1 слово CRC. Могут использоваться холостые байты, чтобы слово, содержащее CRC, находилось на границе слова, которая не находится на границе двойного слова. Последнее слово СОВ должно содержать CRC, который охватывает смещения промежуточного CRC от 0 до N и слово заполнения, если он используется. Если СОВ используется в качестве управляющих данных для КСУ ТСОВ, заполнение СОВ не должно использоваться, а счет управляющих данных должен быть равным 4-кратному числу полей смещения промежуточного CRC в СОВ.
В случае операций записи в КСУ ТСОВ указано, что СОВ передается устройству 116. Код команды КСУ ТСОВ содержит команду ТСОВ, значением которой является, например, 60 шестнадцатеричного числа. Местоположение СОВ определяется счетом управляющих данных и может использоваться в первом IU данных передачи записи операции ввода-вывода или в качестве управляющих данных[, следующих за КСУ ТСОВ операции ввода-вывода. Например, когда счет CD КСУ ТСОВ не равен нулю, СОВ 222 следует непосредственно за КСУ ТСОВ в ТСА 180, а в счете CD задано умноженное на 4 число смещений CRC в СОВ. Когда счет CD равен нулю, СОВ 222 определяется как TCMI, которая передается с выходными данными, а местоположение СОВ определяется полем 144 адреса выходных данных в УСП 140.
Каждое смещение промежуточного CRC 224 в СОВ 222 указывает относительное смещение в байтах от первого байта данных в IU данных передачи. Если СОВ 222 используется в IU данных передачи, первым байтом данных при передаче данных записи является первый байт, следующий за CRC СОВ, если ТСАХ 220 не используется, или первый байт, следующий за CRC ТСАХ, если ТСАХ используется. Если СОВ используется в ТСА 180 в качестве управляющих данных КСУ, первым байтом данных при передаче данных записи является первый байт в IU данных передачи, если ТСАХ 220 не используется, или первый байт, следующий за CRC ТСАХ, если ТСАХ 220 используется. При использовании в IU данных передачи СОВ используется в первом IU данных передачи записи операции ввода-вывода.
Еще одним типом КСУ команды передачи является КСУ опроса, которое используется для определения состояния операции ввода-вывода УСП в устройстве 116. Команда опроса не инициирует операцию в устройстве 116, не влияет не состояние устройства 116 и не возвращает в исходное состояние зависимости соответствующего устройства 116 и логического пути. В одном из примеров КСУ опроса содержит код команды опроса (например, значение 40 шестнадцатеричного числа). За исключением кода команды, флагового разряда ИПД, полей счета и счета CD, все остальные поля КСУ должны содержать нули, иначе распознается обнаруженное устройством условие проверки программы. Если счет CD КСУ опроса превышает ноль, задаются данные опроса.
Операция опроса выполняется на логическом пути и в устройстве 116, в котором в этом момент выполняется операция ввода-вывода УСП, с целью получения информации, касающейся состояния операции в устройстве 116. В одном из вариантов осуществления БУКП 170 операции опроса содержит одно КСУ с кодом команды устройства опроса (например, Х'40). ТСАН 178 операции опроса может содержать установленный на единицу разряд поля R, указывающий для операции передачу данных чтения. Операции опроса распознается в устройстве 118 управления, когда устройство 118 управления принимает IU команды передачи, в которой задана команда опроса. После того как в устройстве 118 управления распознана операция опроса и устройство 118 управления способно успешно выполнить команду опроса, устройство 118 управления может использовать в IU ответа на передачу состояние, которое содержит расширенное состояние опроса, описывающее состояние логического пути и адрес устройство, заданный IU команды передачи опроса.
На фиг.15 проиллюстрирован один из вариантов осуществления способа выполнения операции 300 ввода-вывода в режиме передачи. Способ включает один или несколько шагов 301-305. В одном из вариантов осуществления способ включает выполнение всех шагов 301-305 в описанном порядке. Тем не менее, некоторые шаги могут быть опущены, шаги могут быть добавлены или порядок шагов может быть изменен.
На шаге 301 хост-компьютер (например, ОС 110) выполняет команду (например, запуска подканала), в результате чего канальной подсистеме 114 передается ORB с указанием УСП 140. В одном из вариантов осуществления канальная подсистема 114 проверяет условия проверки программы, связанные с действительностью полей УСП, характерных для состояния захвата и передачи заданного БУКП 170, чтобы определить, следует ли передавать БУКП 170 устройству 116 ввода-вывода. Если такое условие проверки программы существует, БУКП 170 не передается и распознается условие проверки программы. Например, проверяется, указан ли в поле 148 адреса БУКП адрес доступного запоминающего устройства. Если флаговый разряд БУКП-ТГОА равен единице, также проверяется, указан ли в поле 148 адреса БУКП адрес, находящийся на границе учетверенного слова. Дополнительные условия проверки программ описаны далее.
На шаге 302 с помощью устройства ввода-вывода (например, устройства 118 управления) инициируется операция ввода-вывода УСП, когда по каналу 128, выбранному устройством 116, передается IU 172 команды передачи, в котором содержится блок управления, такой как блок 170 управления командами передачи (БУКП) и соответствующая управляющая информация для УСП 140. В одном из вариантов осуществления информация, связанная с выполнением операции ввода-вывода и операции устройства (например, команды, входные данные и выходные данные), передается между каналом 128 и устройством 118 управления в виде элементов информации (IU). В одном из вариантов осуществления IU представляют собой элементы SB-4 информации (IU).
В одном из вариантов осуществления IU или другие сообщения передаются между каналом и устройством управления посредством одного или нескольких обменов. Для всех функций SB-4 управления каналом и всех функций SB-4 уровня устройств, которые выполняются в командном режиме, требуется обменная пара, состоящая из двух однонаправленных обменов, один из которых используется для передачи IU каналом 128, а другой используется для передачи IU устройством 118 управления. Один двунаправленный обмен, именуемый обменом в режиме передачи, используется для функций уровня устройств, выполняемых в режиме передачи. IU, которые передаются по каналу 128 во время выполнения функции SB-4 управления каналом или выполнения функции SB-4 уровня устройств в командном режиме, ограничены рамками одного обмена, a IU, которые принимаются по каналу во время операции, ограничены рамками другого обмена. Обмен, в ходе которого по каналу 128 передаются IU, именуется исходящим обменом, а обмен, в ходе которого по каналу 128 принимаются IU, именуется входящим обменом. Когда между каналом 128 и устройством 118 управления одновременно происходит как исходящий обмен, так и входящий обмен с целью выполнения одной и той же функции управления каналом или функции уровня устройств, считается, что существует обменная пара, и считается, что устройство 118 управления подключено к каналу 128. В канальной программе, которая выполняется за время одного соединения, используется только одна обменная пара. Если во время выполнения канальной программы соединение разрывается путем прекращения обменов, создается новая обменная пара для завершения выполнения канальной программы. Канал 128 способен инициировать создание обменной пары путем передачи IU, с которого начинается новый обмен (или инициирующего IU), в качестве команды или управляющей информации незапрашиваемой категории. Устройство 118 управления способно инициировать создание обменной пары путем передачи инициирующего IU в качестве управляющей информации или информации в виде данных незапрашиваемой категории.
UI, которые передаются по каналу и устройством управления во время выполнения операции ввода-вывода, которая осуществляется в режиме передачи, ограничены рамками одного двунаправленного обмена, именуемого обменом в режиме передачи. Канал 128 начинает обмен в режиме передачи путем передачи IU команды передачи в качестве команды незапрашиваемой категории (инициирующего IU). Канал 128 может начинать множество обменов в режиме передачи, каждый из которых осуществляется для различных устройств 116 или для одного и того же устройства 116 посредством различных логических путей. Новый обмен в режиме передачи может быть начат для конкретного устройство посредством определенного логического пути, когда для этого устройства уже начат обмен в режиме передачи и существует логический путь для выполнения операции опроса; в противном случае канал 128 ожидает прекращения текущего обмена в режиме передачи или обменной пары прежде, чем инициировать новый обмен в режиме передачи для устройства посредством логического пути.
На шаге 303 устройство 118 управления принимает БУКП 170 и IU 172 команды передачи и может согласиться с БУКП 170, если будут выполнены определенные условия. Если IU 172 команды передачи является приемлемым, считается, что БУКП 170 выполняется в устройстве 118 управления, пока его выполнение в устройстве 118 управления не будет считаться завершенным. Если IU 172 команды передачи является неприемлемым из-за состояния ошибки, каналу 128 передается IU ответа на передачу, который является флагом начального состояния, установленным на единицу и указывающим, что до инициирования выполнения БУКП 170 в устройстве 116 произошла ошибка. Устройство 118 управления может использовать информацию об ошибках в полях (описанных далее) состояния и расширенного состояния ввода-вывода в IU ответа на передачу, чтобы идентифицировать ошибку IU команды передачи. В одном из вариантов осуществления для того, чтобы IU 172 команды передачи был приемлемым для устройства 118 управления, должны быть выполнены условия согласно описанным далее примерам.
1) IU команды передачи удовлетворяет следующим критериям проверки целостности:
а) в случае устройств управления, которые не поддерживают двунаправленные операций, в поле L1 в ТСН плюс 8 должен быть задан объем данных, равный объему данных, принятому устройством управления для IU команды передачи, иначе распознается ошибка целостности IU команды передачи вследствие ошибки счета данных;
б) в случае устройств управления, которые поддерживают двунаправленные операции, в поле L1 в ТСН плюс 8 или 9 должен быть задан объем данных, равный объему данных, принятому устройством управления для IU команды передачи, иначе распознается ошибка целостности IU команды передачи вследствие ошибки счета данных, и
в) поле LRC в БУКП должно быть действительным, иначе распознается ошибка целостности IU команды передачи вследствие недействительного LRC;
2) должен быть установлен заданный логический путь, иначе распознается ошибка вследствие не установленного логического пути;
3) для команд, для которых требуется, чтобы устройство было установлено и готово, в адресе устройства указывается устройство, которое установлено и готово, иначе распознается состояние исключительной ситуации в связи с ошибкой в адресе;
4) разряды полей R и W в ТСН должны быть установлены на единицу, если устройство управления не поддерживает двунаправленную передачу данных или в IU команды передачи не содержится поле BRDL, иначе распознается ошибка содержимого ТСН;
5) БУКП в IU команды передачи должен удовлетворять всем следующим условиям, иначе распознается ошибка содержимого БУКП:
а) в поле L2 должна быть задана длина, ровно на 8 байтов превышающая длину поля L1 и составляющая по меньшей мере 20 байтов, но не более 252 байтов;
6) Байт 1 слова 0 ТСАН должен иметь нулевое значение;
в) значение поля управление форматом в ТСАН должно быть равным шестнадцатеричному числу '7F';
г) код служебной операции в ТСАН должен иметь действительное значение (смотри 8.13.4.4);
д) если разряды полей R и W установлены на ноль, поле длительности передачи данных (DL) должно иметь нулевое значение; и
6) в случае продолжающегося выполнения другой операции ввода-вывода УСП с использованием логического пути и адреса устройства, указанных в IU команды передачи, в коде служебной операции должно быть задано шестнадцатеричное число '1FFF', а в коде команды в первом КСУ ТСА должен быть задан код команды опроса, иначе распознается ошибка вследствие второй операции без опроса.
В одном из вариантов осуществления для канала 128 соединение считается установленным, когда передан IU 172 команды передачи, а для устройства 118 управления соединение считается установленным, когда IU 172 команды передачи является приемлемым. Соответственно, каналу 128 неизвестно, приемлем ли БУКП 170 для устройства 118 управления или продолжается ли выполнение операции ввода-вывода в устройстве 116, пока операция ввода-вывода не будет прекращена устройством 118 управления с использованием IU ответа на передачу. В одном из вариантов осуществления канал 128 может устанавливать временное окно для приема ответа от устройства управления и, если канал не принимает IU ответа на передачу на протяжении окна, каналом распознается истечение времени ожидания команды передачи.
Если БУКП 170 является приемлемым, на шаге 304 устройство 118 управления обрабатывает ТСА 180 и выполняет каждое КСУ 202. Выполняемое КСУ 202 распознается как текущее КСУ. КСУ 202 становится текущем, когда оно является первым КСУ программы в режиме передачи (т.е. первым КСУ в БУКП) и выбрано для выполнения устройством 116 ввода-вывода, или когда во время сцепления команд следующее КСУ 202 берет на себя управление операцией ввода-вывода. Местоположением первого КСУ для выполнения может считаться нулевое смещение ТСА 180 в БУКП 170. Местоположением каждого дополнительного КСУ в канальной программе является ТСА 180 (или ТСАХ 220), и оно используется, когда устройству 116 ввода-вывода требуется КСУ.
Сцеплением команд управляет флаг сцепления команд (СС) КСУ в КСУ. Этот флаг определяет действие, которое должно быть предпринято после исчерпания текущего КСУ. Сцепление происходит между последовательными КСУ в ТСА. Когда задано ТСАХ, сцепление также происходит между последним КСУ в ТСА и первым КСУ в ТСАХ и между последовательными КСУ в ТСАХ. Когда в текущем КСУ задано сцепление команд и во время операции не обнаружено необычных условий, в результате выполнения текущего КСУ следующее КСУ становится текущим КСУ и выполняется устройством. Если задано ТСАХ, а смещение следующего КСУ выходит за пределы конца ТСА, сцепление продолжается с использованием первого КСУ ТСАХ, смещение ТСАХ у которого определяется путем вычитания протяженности ТСА из вычисленного смещения. Таким образом, сцепление команд продолжается в порядке возрастания смещений ТСА, а затем смещений ТСАХ, когда задано ТСАХ. В случае возникновения какого-либо условия, такого как условие привлечения внимания, условие проверки устройства, условие исключения устройства или условие неправильной длины (если только в КСУ не активирован флаг 214 ИПД), последовательность операций завершается, и состояние, соответствующее текущей операции, приводит к возникновению условия прерывания. В этом случае новое КСУ не выполняется.
Данные, которые запрашиваются для передачи посредством операции ввода-вывода, передаются между каналом 128 и устройством 118 управления в одном или нескольких IU данных передачи во время обработки КСУ 202 в БУКП 170. Во время операции чтения осуществляется передача только данных чтения, во время операции записи осуществляется передача только данных записи, а во время двунаправленной операции осуществляется передача как данных чтения, так и данных записи.
Как показано фиг.16, в случае операции записи или двунаправленной операции по каналу 128 передается устройству 118 управления один или несколько IU 310 данных передачи с целью передачи данных 312 записи для операции. В случае операции чтения или двунаправленной операции устройство 118 управления передает по меньшей мере один IU 314 данных передачи по каналу 128 с целью передачи данных 316 чтения, заданных для операции. В последнее слово области данных, для которой должен вычисляться CRC, могут быть включены холостые байты 318, которые используются для заполнения области данных до следующей границы слова, когда заполняемая область данных содержит не целое число слов данных. Это относится к областям данных, которые должны заполняться СОВ, промежуточным и окончательным CRC. Значение, используемое для холостого байта, зависит от модели.
В IU 310, 314 данных передачи включено поле 320 окончательного CRC, когда IU данных передачи является последним IU данных передачи, переданным по каналу канал 128 или устройством устройство 118 управления для операции ввода-вывода УСП. В одном из вариантов осуществления поле 320 окончательного CRC содержит выровненный по границе слова 32-разрядный код контроля по избыточности. В случае операций чтения или записи в поле DL в БУКП 170 задан объем данных для передачи во время операции, в который могут входить все требуемые холостые байты и байты CRC. В случае двунаправленных операций в поле DL в БУКП 170 задан объем данных для передачи в части операции, предусматривающий передачу данных записи, а в поле BRDL данных для передачи в части операции, предусматривающий передачу данных чтения. В эти объемы могут входить все требуемые холостые байты и байты CRC.
Во время передачи данных записи данные передаются устройству 118 управления в одном или нескольких IU 310 данных передачи в ходе обмена в режиме передачи, который сопутствует операции ввода-вывода УСП. В одном из вариантов осуществления за исключением первого IU 310 данных передачи записи каналу 128 требуется от устройства 118 управления готовый к передаче IU до передачи каждого IU 310 данных передачи. Устройство 118 управления может запрашивать дополнительные данные путем передачи дополнительных готовых к передаче IU, пока им не будут запрошены все данные, заданные в поле 186 DL БУКП 170 для операции записи. В случае операции записи следующим IU, передаваемым устройством 118 управления после завершения передачи данных, заданных в поле DL в БУКП, является IU ответа на передачу. В случае двунаправленной операции следующим IU, передаваемым устройством 118 управления после завершения передачи данных, заданных в поле DL в БУКП, может являться IU данных передачи или IU ответа на передачу.
Во время передачи данных чтения данные передаются по каналу 128 в одном или нескольких IU 314 данных передачи в ходе обмена в режиме передачи, сопутствующего операции ввода-вывода УСП. Объем данных, передаваемый в каждом IU данных передачи, определяется устройством 118 управления, и может быть установлено любое его значение при условии, что общий объем данных, переданный во всех IU 314 данных передачи для операции, не превышает значение в поле 186 DL или в случае двунаправленных операций значение в поле 188 BRDL. Если в случае операций чтения объем данных, переданный устройством управления, является меньшим, чем значение поля DL в БУКП, остаточным счетом DL в IU ответа на передачу должна являться разность между объемом данных, переданных устройством управления, и значением поля DL в БУКП. Канал распознает ошибку протокола уровня устройств, если остаточный счет, используемый устройством управления в IU ответа на передачу, не соответствует разности между значением поля DL и числом байтов, в действительности принятых каналом. Если в случае двунаправленных операций объем данных, переданный устройством управления, является меньшим, чем значение поля BRDL в БУКП, остаточным счетом BRDL в IU ответа на передачу должна являться разность между объемом данных, переданным устройством управления, и значением поля BRDL в БУКП. Канал распознает ошибку протокола уровня устройств, если остаточный счет, используемый устройством управления в IU ответа на передачу, не соответствует разности между значением поля BRDL и числом байтов, в действительности принятых каналом.
Как показано на фиг.16, в IU 310 данных передачи, переданных по каналу 128, может присутствовать одно или несколько слов 320 промежуточного CRC. Слова 320 промежуточного CRC обеспечивают проверку областей данных до передачи всей области данных, заданных в ТСА 180. В IU 310 данных передачи может присутствовать слово 322 CRC СОВ, когда в IU данных передачи передается СОВ 222.
Как показано на фиг.15, на шаге 305 операция ввода-вывода УСП завершается каналом 128 или устройством 118 управления. Канал 128 может инициировать окончание операции ввода-вывода УСП в результате ненормального условия или инициированного программой прекращения. Устройство 118 управления может инициировать окончание операции в результате завершения выполнения операции или ненормального условия, обнаруженного во время выполнения команды. Устройство 118 управления может инициировать окончание операции ввода-вывода УСП путем передачи IU ответа на передачу или в случае определенных ошибок путем преждевременного прекращения обмена. В одном из вариантов осуществления устройство 118 управления может инициировать окончание операции ввода-вывода УСП при любом из следующих обстоятельств: выполнены все КСУ 202 в ТСА 180 (и ТСАХ, если оно задано); обнаружено условие неправильной длины КСУ, когда поддерживается средство обнаружения неправильной длины КСУ, а флаг 214 ИПД установлен на ноль; обнаружено условие проверки устройства; распознано ненормальное условие, такое как ошибка передачи; или распознана другая ошибка, которая потребовала преждевременного прекращения обмена.
Как показано на фиг.17, когда в одном из вариантов осуществления оканчивается операция ввода-вывода или последовательность операций ввода-вывода, инициированных выполнением команды запуска подканала, канальная подсистема и устройство генерируют условия состояния. Генерирование этих условий может доводиться до сведения программы путем прерывания по вводу-выводу или путем выполнения команды тестирования отложенного прерывания (TEST PENDING INTERRUPTION). Условия состояния, а также адрес и счет, указывающий протяженность последовательности операций, представляются программе в виде слова 400 состояния подканала (SCSW). Во время выполнения команды тестирования подканала (TEST SUBCHANNEL) SCSW 400 сохраняется в блоке 402 ответа на прерывание (IRB). При сохранении IRB в режиме передачи в блоке состояния передачи также сохраняется дополнительная информация, описывающая состояние операции.
Обычно операция ввода-вывода выполняется, пока устройство не передаст сигнал первичного состояния прерывания. Сигнал первичного состояния прерывания может передаваться во время операции ввода-вывода или позднее. Операция ввода-вывода может прекращаться канальной подсистемой путем выполнения функции сброса или приостановки при обнаружении неправильного функционирования оборудования, проверки программы, проверки сцепления, проверки защиты или условия неправильной длины или путем выполнения функции сброса, приостановки или переустановки канального пути в результате выполнения команд сброса подканала (CLEAR SUBCHANNEL), приостановки подканала (HALT SUBCHANNEL) или переустановки канального пути (RESET CHANNEL PATH), соответственно. Прерывания по вводу-выводу обеспечивают для ЦП средство изменения своего состояния в ответ на условия, которые возникают в устройствах ввода-вывода или подканалах. Эти условия могут создаваться программой, канальной подсистемой или внешним событием в устройстве.
Условия, вызывающие инициирование запросов прерывания по вводу-выводу, называются условиями прерывания ввода-вывода. Когда канальная подсистема распознает условие прерывания, оно указывается в соответствующем подканале. После этого считается, что подканал находится в ожидании обработки. Подканал, находящийся в ожидании обработки, побуждает канальную подсистему генерировать запрос прерывания по вводу-выводу. Запрос прерывания по вводу-выводу остается ожидающим обработки, пока он не станет приемлемым для ЦП в конфигурации, извлекается канальной подсистемой или сбрасывается путем выполнения команды тестирования отложенного прерывания, тестирования подканала или сброса подканала или путем переустановки подсистемы. После того как ЦП принимает запрос прерывания и сохраняет сопутствующий код прерывания, запрос прерывания сбрасывается. После сброса отложенного прерывания путем выполнения команды тестирования отложенного прерывания подканал остается в ожидании обработки, пока не будет сброшено сопутствующее условие прерывания после выполнения команды тестирования подканала или сброса подканала или после переустановки подканала.
Условие прерывания ввода-вывода обычно сбрасывается путем выполнения команды тестирования подканала. Если выполняется команда тестирования подканала, с указанием подканала, содержащего ожидающий обработки запрос прерывания по вводу-выводу, в подканале сбрасывается как запрос прерывания, так и условие прерывания. Запрос прерывания и условие прерывания также могут сбрасываться путем сброса подканала. Условие состояния конца работы устройства, которое генерируется устройством ввода-вывода и представляется по завершении последней операции ввода-вывода функции запуска, сбрасывается в подканале канальной подсистемой без генерирования условия прерывания ввода-вывода или запроса прерывания по вводу-выводу, если подканал на данный момент ожидает запуска или если в состоянии указан конец работы одного только устройства или также устройства управления. Если разряд конца работы устройства сопровождают какие-либо другие разряды состояния, канальная подсистема генерирует запрос прерывания по вводу-выводу с указанием кода отсроченного условия, равного 1. Если операция ввода-вывода прекращена вследствие необычного условия, обнаруженного канальной подсистемой во время выполнения последовательности инициации команды, в подканале устанавливается состояние, описывающее условие прерывания, которое побуждает его становиться ожидающим обработки. Если устройством обнаружено необычное условие, оно указывается в поле состояния устройства соответствующего SCSW. Когда происходит сцепление команд, генерирование состояния устройством не приводит к прерыванию и состояние не становится доступным для программы.
Канальная подсистема инициирует запрос прерывания по вводу-выводу без обязательного поддержания связи с устройством или приемом от него байта состояния при обнаружении любого из следующих условий прерывания:
1) ошибки программирования, связанной с содержимым ORB, переданного подканалу при предыдущем выполнении команды запуска подканала;
2) флага приостановки, установленного на единицу в первом вызванном CCW, которое инициирует выполнение канальной программы CCW с целью запуска подканала или возобновления подканала, и не заданного подавления приостановленного прерывания в ORB командного режима; или
3) ошибки программирования, связанной с первым CCW, УСП, TIDAW, вызовом БУКП, вызовом данных, IDAW или MIDAW.
Эти условие прерывания в подканале за исключением условия приостановки могут сопровождаться другими индикаторами состояния подканала, но все индикаторы состояния устройства хранятся в виде нулей.
Канальная подсистема передает устройству сигнал сброса, когда состояние, содержащее условие проверки устройства, представляется подканалу в нерабочем состоянии или когда устройству не соответствует какой-либо подканал. Тем не менее, если в представленном состоянии не содержится условие проверки устройства, канальная подсистема принимает состояние и отбрасывает его, не побуждая подканал становиться ожидающим обработки.
В слове 400 состояния подканала (SCSW) содержатся указания для программы, описывающие состояние подканала и его соответствующего устройства. При сохранении IRB 402 в режиме передачи в блоке состояния передачи, соответствующем операции, также может сохраняться дополнительная информация с описанием состояния операции и соответствующего устройства. Если происходит выполнение функции приостановки, возобновления или запуска, в SCSW могут описываться условия, при которых была завершена операция.
В одном из вариантов осуществления SCSW сохраняется при выполнении команды тестирования подканала, а указанный подканал является работоспособным. SCSW вводится в слова 0-2 IRB, который указан в качестве операнда тестирования подканала. При выполнении команды сохранения подканала SCSW сохраняется в словах 7-9 блока информации подканала.
SCSW содержит различные поля, такие как поле кода отсроченного условия (СС). Код отсроченного условия, если он не равен нулю, используется, чтобы указывать, были ли обнаружены условия, которые препятствуют тому, чтобы подканал и устройство становились активными в то время, как подканал ожидает запуска или его запуск отложен. Когда в одном из вариантов осуществления код отсроченного условия установлен на 1, разряд вторичного состояния равен единице, а разряд первичного состояния равен нулю, существующее состояние может быть связано с канальной программой командного режима, указанной командой запуска подканала (или подразумеваемой командой возобновления подканала), которая предшествовала последней выполненной команде запуска подканала, в которой указана канальная программа в режиме передачи. В таком случае модификатор состояния в поле состояния устройства также может быть равен единице.
В SCSW 400 содержится поле состояния подканала, которое используется для указания канальной подсистемой условий состояния подканала. Например, поле состояния подканала содержится в разрядах 8-15 слова 2 SCSW. Канальная подсистема обнаруживает условия состояния подканала и указывает их в SCSW. За исключением условий, вызванных неправильным функционированием оборудования, они могут возникать только в то время, как канальная подсистема участвует в выполнении функции приостановки или запуска. Поле состояния подканала является значащим, когда подканал находится в ожидании обработки при любом сочетании состояний, включающих первичное, вторичное, промежуточное или аварийное состояние. Когда подканал находится в ожидании обработки и указан код отсроченного условия, равный 3, содержимое поля состояния подканала не является значащим.
Одним из примеров условия состояния подканала является условие неправильной длины, которое возникает, когда число байтов, содержащихся в областях памяти, выделенных для операции ввода-вывода, не равно число байтов, запрошенных или предложенных устройством ввода-вывода. Когда не установлено средство индикации неправильной длины и обнаружено условие неправильной длины, обработка канальной программы в режиме передачи прекращается в связи с состоянием проверки программы. Когда средство индикации неправильной длины FCX установлено, устройство поддерживает индикацию неправильной длины, индикация неправильной длины не подавляется, и обнаружено условие неправильной длины, неправильная длина указывается по одной из следующих причин.
1) Длинный блок на входе: во время операции чтения или восприятия устройство попыталось передать один или несколько байтов основному запоминающему устройству после заполнения выделенных областей основного запоминающего устройства или устройство указало, что при большем значении счета могло бы быть передано больше данных. Дополнительные байты не были помещены в основное запоминающее устройство. Счет в заголовке TSB (TSH) равен нулю.
2) Длинный блок на выходе: во время операция записи устройство запросило один или несколько байтов в канальной подсистеме после исчерпания выделенных областей основного запоминающего устройства или устройство указало, что при большем значении счета могло бы быть передано больше данных. Счет TSH равен нулю.
3) Короткий блок на выходе: числа байтов, переданных во время операции чтения или восприятия, недостаточно для заполнения областей основного запоминающего устройства, выделенных для операции. Счет в TSH не равен нулю.
4) Короткий блок на выходе: устройство завершило запись до передачи устройству всей информации, содержащейся в выделенных областях основного запоминающего устройства. Счет в TSH не равен нулю.
Индикация неправильной длины подавляется, когда текущее КСУ содержит флаговый разряд ИПД, установленный на единицу. Индикации неправильной длины является незначащей, когда поле счета TSH является незначащим. Присутствие условия неправильной длины подавляет сцепление команд, если только флаговый разряд ИПД в КСУ не равен единице.
В SCSW 400 (например, в разряды 24-31 слова 2 SCSW) включено поле расширенного состояния подканала. В этом поле может содержаться информация, используемая для дополнительного определения причины любого из следующих условий, когда они указаны в состоянии подканала: проверки управления интерфейсом, проверки управления каналом, проверки данных канала, проверки программы и проверки защиты. Если ни один из этих разрядов не является активным в байте состояния подканала, в полях расширенного состояния подканала не содержится значащая информация. Если указано несколько условий, проверка управления интерфейсом пользуется преимуществом перед остальными условиями.
В поле расширенного состояния подканала также может содержаться операционный разряд неудавшегося опроса (F) (например, разряд 24). Когда разряд F установлен на единицу, он указывает, что операции опроса не удалась из-за проверки программы, проверки управления каналом или проверки управления интерфейсом.
В поле расширенного состояния подканала также может содержаться спецификатор расширенного состояния подканала (SESQ, от английского -Subchannel-Extended-Status Qualifier) (например, разряды 25-31). Когда в поле состояния подканала указана проверка программы, проверка управления интерфейсом, неудавшаяся повторная попытка запуска канальной подсистемы, проверка защиты, проверка данных или проверка управления каналом, в этом поле может содержаться дополнительная информация. Примеры SESQ и их соответствующих значений проиллюстрированы на фиг.18А-18Б.
На фиг.19-20 проиллюстрирован один из примеров IU 330 ответа на передачу, который может передаваться устройством 118 управления. В IU 330 ответа на передачу указано состояние операции ввода-вывода УСП, которое может включать состояние нормального завершения, или, когда обнаружено ненормальное условие, состояние завершения, которое указывает причину ненормального завершения операции. В IU 330 ответа на передачу также может содержаться поле расширенного состояния, в котором указано дополнительное состояние операции. IU ответа на передачу необязательно может заканчивать обмен в режиме передачи. В одном из вариантов осуществления в заголовке FC-FS-3 указано, закончен ли обмен IU ответа на передачу. Если в режиме передачи не был закончен обмен IU ответа на передачу, по каналу может быть передан IU подтверждения передачи, который заканчивает обмен после приема IU ответа на передачу.
В одном из вариантов осуществления IU 330 ответа на передачу содержит заголовок 332 SB-4, за которым следует поле 334 состояния, поле LRC 344 состояния и необязательное поле 346 расширенного состояния, содержащее, например, от 32 до 64 байтов. Когда указано расширенное состояние, в качестве последнего слова IU 330 ответа на передачу может использоваться 4-байтовое поле 340 расширенного состояния LRC 340. К полю расширенного состояния прибавляются холостые байты с целью округления до следующей границы слова, если число байтов расширенного состояния таково, что они не находятся на границе слова. Заголовок 332 SB-4 имеет формат, сходный с форматом IU команды передачи, и приравнен к заголовку SB-4 в IU команды передачи для данной операции.
Как показано фиг.20, в одном из вариантов осуществления область 334 информации о состоянии, например, составляет 20 байтов и содержит информацию об операции ввода-вывода УСП. В поле 336 "флагов 1 состояния" содержится один или несколько кодов исключительного условия, которые устанавливаются устройством 118 управления с целью сообщения о ненормальном условии, обнаруженном во время операция ввода-вывода УСП.
Примеры кодов включают:
0 - исключительное условие уровня устройств вследствие исключительной ситуации по ошибке адресации;
2 - отказ канального уровня вследствие не установленного логического
пути;
3 - уведомление о событии переустановки, которое произошло на логическом пути и в устройстве, связанном с IU команды передачи. Когда в IU ответа на передачу установлен этот код, устройство управления запрашивает подтверждение состояния. Если подтверждение состояния принято, в устройстве переустанавливается условие события переустановки для логического пути; в противном случае условие события переустановки остается ожидающим обработки;
4 - обнаруженную устройством проверку программы/IFCC, когда устройство управления обнаруживает условие, которое может приводить к сообщению о проверке программы или IFCC. Ошибки, которые относятся к этой категории, включают ошибки, указывающие IU команды передачи, поступившие в искаженном виде (например, ошибку целостности БУКП), недействительный CRC, обнаруженный для данных записи, и прием второй операции ввода-вывода, которая не является операцией опроса, для логического пути и адреса устройства;
5 - обнаруженную устройством проверку программы, когда устройство управления обнаруживает ошибку в содержимом ТСН.
В одном из вариантов осуществления состояние в поле 336 флагов 1 состояния содержится флаг 338 неправильной длины (НД). Когда канал и устройство управления поддерживают средство индикации неправильной длины КСУ, флагом НД является разряд 0, который, если он установлен на единицу, указывает, что операция ввода-вывода УСП прекращена вследствие условия неправильной длины КСУ, указанной смещением КСУ. Устройство 118 управления обнаруживает неправильную длину, если счет данных КСУ не соответствует объему данных, требующемуся устройству для КСУ записи, или если счет данных КСУ не соответствует объему данных, доступному в устройство для КСУ чтения.
Если в одном из вариантов осуществления КСУ 202 содержит флаг 214 ИПД, флаг 338 НД установлен на единицу, только когда флаг 214 ИПД равен нулю, а в состоянии устройства указан конец работы канала без проверки устройства. Когда флаг 338 НД в IU ответа на передачу установлен на единицу, смещение КСУ указывает КСУ, содержащее условие неправильной длины, а остаточный счет КСУ указывает объем передачи, если она осуществлялась, данных для КСУ неправильной длины. Передача данных для КСУ, которые предшествовали КСУ неправильной длины в ТСА, если она осуществлялась, будет завершена, а проверка всех переданных данных путем CRC будет осуществлена, как описано далее.
Когда КСУ, содержащим условие неправильной длины, является КСУ чтения, последний IU данных передачи, переданный по каналу, содержит CRC для всех данных чтения, переданных по каналу во время операция ввода-вывода УСП. Если КСУ чтения неправильной длины в ТСА предшествовали КСУ записи, устройством управления будут приняты данные для этих КСУ записи, и будет осуществлена проверка данных путем CRC. Данные для КСУ записи в ТСА, которые следуют за КСУ чтения неправильной длины, будут переданы устройству управления по мере необходимости для получения CRC для данных записи и осуществления проверки путем CRC.
Условие неправильной длины не распознается командой опроса, командой передачи смещения CRC или командой ТТЕ независимо от того, поддерживается ли каналом и устройством управления средство индикации неправильной длины.
IU 330 ответа на передачу также может содержать поле 340 остаточный счет длительности передачи данных (DLRC). В случае операций записи и двунаправленных операций, остаточным счетом DL является 32-разрядное целое двоичное число без знака, которое задает разность между значением поля DL в IU команды передачи и числом байтов, фактические принятых по каналу. В случае операций чтения остаточным счетом DL является 32-разрядное целое двоичное число без знака, которое задает разность между значением поля DL в IU команды передачи и числом байтов, фактически переданных по каналу.
В случае двунаправленных операций в IU 330 ответа на передачу также может входить поле 342 остаточного счета BRDL. В случае двунаправленных операций остаточным счетом BRDL является 32-разрядное целое двоичное число без знака, которое задает разность между значением поля BRDL в IU команды передачи и числом байтов, фактически переданных по каналу.
Устройство 118 управления может использовать поле 344 флага 3 состояния для обеспечения дополнительной информации о соответствующей операции в режиме передачи. В этом поле может содержаться разряд переданного расширенного состояния (ESS, от английского - Extended Status Sent) разряд, указывающий, что в IU ответа на передачу было передано расширенное состояние, включая возможные данные восприятия. Расширенное состояние содержит флаги расширенного состояния (ES, от английского - extended status), в которые входят такие поля, как поле типового кода ES. Типовые коды включают состояние ввода-вывода (в области расширенного состояния указано достоверное состояние окончания операции ввода-вывода в режиме передачи), исключительную ситуацию ввода-вывода (в области расширенного состояния содержится информация, касающаяся прекращения операции ввода-вывода в режиме передачи вследствие исключительной ситуации) и состояние опроса (в области расширенного состояния указано состояния операции опроса).
Когда типовым кодом ES во флагах ES является исключительная ситуация ввода-вывода, в ES содержатся коды причины код (RC, от английского - reason code).
Примеры кодов причины включают:
1 - ошибку целостности БУКП: устройство управления установило, что БУКП поступил в поврежденном виде (используется, когда в поле флагов 1 состояния указан код 4 исключительного условия);
2 - обнаруженный недействительный CRC: в принятых данных обнаружен недействительный CRC (используется, когда в поле флагов 1 состояния указан код 4 исключительного условия);
3 - неправильное описание длины БУКП (используется, когда в поле флагов 1 состояния указан код 5 исключительного условия);
4 - ошибку в описании ТСАН (используется, когда в поле флагов 1 состояния указан код 5 исключительного условия);
5 - ошибку в описании КСУ: обнаружена ошибка в КСУ, указанном в поле смещения КСУ в расширенном состоянии (используется, когда в поле флагов 1 состояния указан код 5 исключительного условия);
6 - ошибку в описании направления передачи: команда, заданная КСУ, указанным в поле смещения КСУ в расширенном состоянии, задает направление передачи данных, которое противоречит направлению передачи, заданному в ТСН, или разряды как поля R, так и поля W в ТСН установлены на единицу, а устройство управления не поддерживает двунаправленную передачу данных (используется, когда в поле флагов 1 состояния указан код 5 исключительного условия);
7 - ошибку в описании счета передачи (используется, когда в поле флагов 1 состояния указан код 5 исключительного условия);
8 - две выполняемые операции ввода-вывода: пока в устройстве выполняется операция ввода-вывода, устройству передан для выполнения второй БУКП без опроса. Поле RCQ является незначащим. Этот код причины используется, когда в поле флагов 1 состояния указан код 4 исключительного условия; и
9 - одна или несколько записей в блоке смещения CRC указывает, что местоположение промежуточного CRC неприемлемо для устройства и/или выполняемой команды; используется, когда в поле флагов 1 состояния указан код 4 исключительного условия.
В расширенном состоянии также может использоваться спецификатор кода причины (RCQ, от английского - Reason Code Qualifier), который обеспечивает дополнительную информацию о причине(-ах) исключительной ситуации ввода-вывода. Спецификаторы кода причины различных типов могут использоваться для ошибок различных типов, таких как ошибки целостности БУКП, ошибки выходных данных CRC, неправильное описание длины БУКП, ошибки в описании ТСАН и ошибки в описании КСУ.
Примеры RCQ для ошибки целостности БУКП включают:
0 - отсутствие дополнительной информации;
1 - ошибку счета данных: объем данных, переданный для IU команды передачи, не соответствует объему данных, заданному в поле L1 плюс 8 в ТСН для устройств управления, которые не поддерживают двунаправленные операции, или не соответствует объему, заданному в поле L1 плюс 8 или 9 для устройств управления, которые поддерживают двунаправленные операции;
2 - ошибку LRC: LRC в IU команды передачи является недействительным.
Примеры RCQ для ошибки в описании КСУ включают:
1 - ошибку в описании зарезервированного поля: зарезервированное поле в КСУ, в котором должны содержаться нули, содержит ненулевое значение;
2 - ошибку в описании сцепления команд флаговых разрядов: разряд сцепления команд равен единице, а смещение следующего КСУ таково, что следующее КСУ целиком или частично находится за пределами конца ТСА, или разряд сцепления команд равен нулю, и в ТСА остается более 3 неиспользуемых байтов;
3 - ошибку в описании счета управляющих данных: в счете CD заданы управляющие данные, находящиеся за пределами конца ТСА;
4 - ошибку определения местонахождения КСУ ТСОВ: первое КСУ ТСОВ не является первым КСУ в ТСА;
5 - ошибку дублирования КСУ ТСОВ: в ТСА указано несколько КСУ ТСОВ;
6 - ошибку в описании множества счетов КСУ ТСОВ: как счет CD, так и счет данных КСУ равен нулю или не равен нулю;
7 - ошибка направления КСУ ТСОВ: в ТСА задана КСУ ТСОВ, а разряд поля W в ТСН равен нулю;
8 - ошибку сцепления КСУ ТСОВ: разряд сцепления команд в КСУ ТСОВ равен нулю, т.е. КСУ ТСОВ является единственным КСУ в ТСА;
9 - ошибку в описании счета ТСОВ: счет CD в КСУ ТСОВ является ненулевым, или счет данных не кратен 4;
10 - ошибку определения местонахождения КСУ ТТЕ: КСУ ТСОВ не задано и обнаружено КСУ ТТЕ, которое не является первым КСУ в ТСА, или КСУ ТСОВ задано и обнаружено первое КСУ ТТЕ, которое не является вторым КСУ в ТСА;
11 - ошибку дублирования КСУ ТТЕ: в ТСА обнаружено несколько КСУ ТТЕ;
12 - ошибку в описании счета CD в КСУ ТТЕ: в счете управляющих данных в КСУ ТТЕ задано ненулевое значение;
13 - ошибку в описании счета данных в КСУ ТТЕ: в счете данных в КСУ ТТЕ указано значение менее 8 или значение, не кратное 4;
14 - ошибку направления КСУ ТТЕ: задано КСУ ТТЕ, а разряд поля W в ТСН равен нулю;
15 - ошибку сцепления КСУ ТТЕ: разряд сцепления команд в КСУ ТТЕ равен нулю; и
16 - ошибку в описании ТСАХ: задано КСУ ТТЕ, и справедливо одно из следующего:
длина ТСА составляет 58 слов или менее или
длина ТСА составляет 59 слов, а в последнем КСУ в ТСА заданы управляющие данные, длина которых превышает 59 слов, или
длина ТСА является максимальной и составляет 60 слов, а последнее слово в ТСА содержит первое слово КСУ.
Примеры RCQ для ошибки в описании направления передачи включают:
1 - ошибку в описании направления чтения: в КСУ задана операция ввода, а разряд поля R в ТСН равен нулю;
2 - ошибку в описании записи: в КСУ задана операция вывода, а разряд поля W в ТСН равен нулю. Примечание: описание КСУ распознается, когда задан ТСОВ или КСУ ТТЕ, а разряд поля W в ТСН равен нулю;
3 - конфликт по совпадению обращения при чтении и записи: разряды как поля R, так и W в ТСН равны единице, а устройство управления не поддерживает двунаправленные операции, или устройство управления поддерживает двунаправленные операции, но в IU команды передачи не содержится поле BRDL, или разряды как поля R, так и W не равны единице, а в IU команды передачи содержится поле BRDL.
Примеры RCQ для ошибки в описании счета передачи включают:
1 - ошибку в описании счета чтения: в случае операций чтения в поле DL в БУКП задано значение, не соответствующее полному счету данных байтов, заданному КСУ в ТСА, плюс холостые байты и CRC; в случае двунаправленных операций в поле BRDL в БУКП задано значение, не соответствующее полному счету данных байтов, заданному КСУ чтения в ТСА, плюс холостые байты и CRC; и
2 - ошибку в описании счета записи: в поле DL в БУКП задано значение, не соответствующее полному счету данных байтов, заданному КСУ записи в ТСА, плюс промежуточные холостые байты, промежуточные CRC, окончательные холостые байты и окончательные CRC байтов, а, если в первый IU данных передачи для передачи данных записи включен СОВ, в счет входит СОВ, любые холостые байты СОВ и байты CRC СОВ. Если в ТСА присутствует КСУ ТТЕ, в счет также входит ТСАХ и байты CRC ТСАХ.
Проверка программы происходит при обнаружении ошибок программирования канальной подсистемой. В случае операции в режиме передачи устройство 116 ввода-вывода также может обнаруживать ошибки программирования и сообщать о них как о проверках программы. Условие проверки программы может возникать по любой из следующих причин:
недействительное описание УСП: при обнаружении любого из следующих условий распознается недействительное описание УСП:
1. зарезервированное поле, которое проверяется на нули в УСП, не содержит нулей;
2. в поле формата УСП задано ненулевое значение;
3. разряды как чтения, так и записи в УСП равны единице, разряд 10 флагового разряда УСП равен нулю, и не установлено средство двунаправленной передачи данных FCX или заданное устройство не поддерживает двунаправленную передачу данных;
4. разряд 10 флагового разряда УСП равен нулю, и в поле длины БУКП в УСП задана длина меньше 12 или больше 244;
5. Разряд 10 флагового разряда УСП равен единице, и разряд УСП операций записи (W) равен нулю, разряд УСП операций чтения (R) равен нулю, или оба разряда равны нулю;
6. разряд 10 флагового разряда УСП равен единице, и указанный подканал не связан с устройством управления, которое сконфигурировано на передачу запросов услуг волоконно-оптической связи.
Когда используется КСУ ТТЕ, обнаруженная устройством проверка программы распознается при существовании любого из следующих условий:
1. когда не задано КСУ ТСОВ, КСУ ТТЕ не является первым КСУ в ТСА. Когда задано КСУ ТСОВ, КСУ ТТЕ не является вторым КСУ в ТСА;
2. задано КСУ ТТЕ и не задана операция записи (то есть разряд поля W в УСП равен нулю);
3. флаговый разряд сцепления команд в КСУ ТТЕ равен нулю;
4. задано несколько КСУ ТТЕ;
5. поле счета управляющих данных в КСУ ТТЕ не является нулевым;
6. поле счета имеет значение менее 8 или значение, не кратное 4;
7. для ТСА справедливо любое следующего:
в ТСА отсутствует по меньшей мере одно КСУ, которое не является КСУ команды передачи;
ТСА содержит одно или несколько КСУ, которые не являются КСУ команды передачи, а флаговый разряд сцепления команд в последнем КСУ ТСА равен нулю.
Когда используется КСУ ТТЕ и за ТСАХ следует дополнительная TCMI и/или выходные данные, должно быть справедливо следующее; в противном случае может распознаваться обнаруженная устройством проверка программы:
флаг Output TIDA (флаговый разряд 7) в УСП должен быть равным единице; или
при использовании TIDAW для передачи ТСАХ и для передачи данных флаговый разряд ввода СВС должен быть установлен на единицу в последнем или единственном TIDAW, которое используется для передачи ТСАХ. Когда TIDAW используются для передачи только ТСАХ, не требуется устанавливать флаговый разряд ввода СВС в последнем или единственном TIDAW.
Во время обработки ТСА, может распознаваться ошибка содержимого БУКП при обнаружении любого из следующих условий:
1. первое обнаруженное КСУ ТСОВ не является первым КСУ в ТСА;
2. в ТСА обнаружено второе КСУ ТСОВ;
3. в ТСА обнаружено КСУ ТСОВ, когда разряд поля W в ТС АН равен нулю;
4. в КСУ ТСОВ не установлен флаг сцепления;
5. обнаружено КСУ ТСОВ, в котором как счет CD, так и счет данных равны нулю;
6. обнаружено КСУ ТСОВ, в котором как счет CD, так и счет данных не равны нулю;
7. обнаружено КСУ ТСОВ, в котором счет CD и счет данных не кратны 4;
8. обнаружено КСУ ТСОВ, в котором счет данных равен нулю, а счет CD не кратен 4;
9. КСУ ТСОВ не задано, а КСУ ТТЕ не является первым КСУ в ТСА, или ТСОВ задано, а КСУ ТТЕ не является вторым КСУ в ТСА;
10. в ТСА обнаружено КСУ ТТЕ, когда разряд поля W в ТСАН равен нулю;
11. в КСУ ТТЕ не установлен флаг сцепления;
12. в ТСА обнаружено второе КСУ ТТЕ;
13. обнаружено КСУ ТТЕ, в котором счет CD является ненулевым;
14. обнаружено КСУ ТТЕ, в котором счет данных равен нулю или не кратен;
15. задано КСУ ТТЕ и справедливо любое из следующего: длина ТСА составляет 58 слов или менее; длина ТСА составляет 59 слов, в последнем КСУ
в ТСА заданы управляющие данные, а длина управляющих данные превышает 59 слов; или длина ТСА является максимальной и составляет 60 слов, а последнее слово в ТСА содержит первое слово КСУ;
16. в КСУ содержится команда, для которой требуются управляющие данные, а поле счета CD равно нулю или содержит значение с указанием данных после конца ТСА;
17. в КСУ содержится ненулевое поле счета CD, а команда не допускает использование управляющих данных;
18. во время операция записи устройство обнаружило в ТСА команду, которая предусматривала попытку передачи данных чтения;
19. во время операция чтения, устройство обнаружило в ТСА команду, которая предусматривала попытку передачи данных записи;
20. разряд СС в КСУ равен нулю и в ТСА остается более 3 неиспользованных байтов;
21. разряд СС в КСУ равен единице и установлено, что местоположение следующего КСУ находится на расстоянии менее 8 байтов от конца ТСА, а ТСАХ не использовалось, или ТСАХ использовалось, и установлено, что местоположение следующего КСУ находится на расстоянии менее 8 байтов от конца ТСАХ;
22. когда в случае операции чтения или двунаправленной операции КСУ чтения в ТСА становится текущим, суммарный счет данных всех предыдущих КСУ чтения и текущего КСУ плюс все холостые байты и байты CRC превышает значение поля DL в БУКП или в случае двунаправленных операций превышает значение поля BRDL в БУКП;
23. когда в случае операции чтения или двунаправленной операции последнее КСУ в ТСА становится текущим, суммарный счет данных всех КСУ чтения плюс все холостые байты и байты CRC не равен значению поля DL в БУКП или в случае двунаправленных операций не равен значению поля BRDL в БУКП;
24. когда в случае операции записи или двунаправленной операции КСУ в ТСА становится текущим, суммарный счет данных всех КСУ записи плюс все холостые байты и байты CRC (включая все промежуточные холостые байты и байты CRC) и, если в IU данных передачи включен СОВ, байты СОВ, холостые байты СОВ и байты CRC СОВ, и, если присутствует ТСАХ, байты ТСАХ, холостые байты ТСАХ и байты CRC ТСАХ, превышает значение поля DL в БУКП; или
25. когда в случае операция записи или двунаправленная операция последнее КСУ в ТСА становится текущим, суммарный счет данных всех КСУ записи плюс все холостые байты и байты CRC (включая все промежуточные холостые байты и байты CRC) и, если в IU данных передачи включен СОВ, байты СОВ, холостые байты СОВ и байты CRC СОВ, и, если присутствует ТСАХ, байты ТСАХ, холостые байты ТСАХ и байты CRC ТСАХ, не равен значению поля DL в БУКП.
В одном из вариантов осуществления до выполнения операций в командном режиме или в режиме передачи устанавливаются каналы связи между канальной подсистемой 114 и устройствами 118 управления и/или устройствами 116. Каждый канал 128 в системе ввода-вывода, который обеспечивает физическое соединение с одним или несколькими устройствами управления, может именоваться "NPort", который имеет уникальный идентификатор ("NPortID"). Аналогичным образом, каждое устройство 118 управления может именоваться NPort, имеющим соответствующий NPortID. Как канал 128, так и устройство 118 управления могут содержать множество изображений канала или изображений устройства управления, соответственно. Каждый NPort содержит идентификатор адреса, который присваивается во время инициализации и выполнения процедур регистрации. Во время инициализации может осуществляться явная регистрация NPort посредством расширенной канальной услуги регистрации N Port (PLOGI). После того как NPort осуществил регистрацию в другом NPort, считается, что этот NPort зарегистрирован в другом NPort.
В одном из вариантов осуществления инициализации канала между канальной подсистемой и устройствами управления осуществляется с использованием протокола расширенной канальной услуги (ELS) процесса регистрации (РП). Общие особенности ELS РП, включая формат запроса и ответа на запрос ELS РП, приведены в FC-LS-2, а конкретные установки для FC-SB-4 определены в следующих разделах.
Во время процедуры РП канал 128, который поддерживает РП, передает запрос каждому устройству 118 управления в своей конфигурации, которое также поддерживает регистрацию процесса ELS, чтобы определить, поддерживает ли устройство 118 управления операции в режиме передачи. В одном из вариантов осуществления запрос РП передается во время инициализации канала до установления логических путей и также может передаваться в результате выхода из процесса (PRLO). ELS РП используется для обмена параметрами обслуживания процесса регистрации между каналом 128 и устройством 118 управления. Обмен параметрами между каналом и устройством управления может осуществляться посредством запроса РП и ответа на запрос РП.
В запросе РП содержится страница параметров обслуживания, которая может включать поле типового кода, указывающее протокол FC-4 (например, может быть установлено шестнадцатеричное число '1B' для указания протокола SB-4). Флаговый разряд FC-SB-4 (например, байт 3 слова 3 страницы запроса РП) содержит один или несколько описанных далее флагов.
0 - Поддерживается режим передачи. Когда разряд 0 установлен на ноль, канал не поддерживает операции в режиме передачи. Когда разряд 0 установлен на единицу, канал поддерживает операции в режиме передачи.
1 - Зарезервирован.
2 - Поддерживается средство индикации неправильной длины (НД) КСУ. Например, когда флаг НД является активным (например, когда разряд 2 установлен на единицу), канал 128 поддерживает средство НД КСУ. Когда разряд 2 установлен на ноль, канал 128 не поддерживает средство НД КСУ. Средство НД КСУ предусматривает поддержку флага 214 индикатора подавления длины (ИПД) и флага 338 неправильной длины. Когда разряд с поддержкой режима передачи (разряд 0) равен нулю, разряд 2 будет установлен на ноль.
5 - Поддерживается двунаправленная передача данных. Когда действует индикация двунаправленной передачи данных (например, разряд 5 установлен на единицу), канал 128 поддерживает двунаправленную передачу данных. Когда разряд 5 установлен на ноль, канал 128 не поддерживает двунаправленную передачу данных. Этот разряд является значащим только, когда разряд с поддержкой режима передачи равен единице.
7 - Поддерживается операция блокирования готовности первой передачи (First Transfer Ready Disabled). Когда разряд 7 установлен на единицу, канал поддерживает операцию блокирования готовности первой передачи. Когда разряд 7 установлен на ноль, канал не поддерживает операцию блокирования готовности первой передачи. Когда разряд с поддержкой режима передачи (разряд 0) равен нулю, разряд 7 будет установлен на ноль.
В одном из вариантов осуществления в ответе на запрос РП содержится страница параметров обслуживания РП, которая может включать поле типового кода, указывающее протокол FC-4 (например, может быть установлено шестнадцатеричное число '1B' для указания протокола SB-4), а флаговый разряд FC-SB-4 (например, байт 3 слова 3) содержит один или несколько описанных далее флагов.
0 - Поддерживается режим передачи. Когда разряд 0 установлен на ноль, устройство 118 управления не поддерживает операции в режиме передачи. Когда разряд 0 установлен на единицу, устройство 118 управления поддерживает операции в режиме передачи.
2 - Поддерживается средство индикации неправильной длины (НД) КСУ. Когда разряд 2 установлен на единицу, устройство 118 управления поддерживает средство индикации неправильной длины (НД) КСУ. Когда разряд 2 установлен на ноль, устройство 118 управления не поддерживает средство НД КСУ. Средство индикации неправильной длины КСУ содержит флаг 214 ИПД и флаг 338 неправильной длины. Когда разряд с поддержкой режима передачи (разряд 0) равен нулю, разряд 2 будет установлен на ноль.
5 - Поддерживается двунаправленная передача данных. Когда действует индикация двунаправленной передачи данных (например, разряд 5 установлен на единицу) устройство 118 управления поддерживает двунаправленную передачу данных. Когда разряд 5 установлен на ноль, устройство 118 управления не поддерживает двунаправленную передачу данных. Этот разряд является значащим только, когда разряд с поддержкой режима передачи равен единице.
7 - Поддерживается операция блокирования готовности первой передачи. Когда разряд 7 установлен на единицу, устройство управления поддерживает операцию блокирования готовности первой передачи. Когда разряд 7 установлен на ноль, устройство управления не поддерживает операцию блокирования готовности первой передачи. Когда разряд с поддержкой режима передачи (разряд 0) равен нулю, разряд 7 будет установлен на ноль.
Технические результаты и выгоды примеров осуществления включают способность передавать устройству управления данные поддержки передачи, а также дополнительные команды помимо команд ввода-вывода и данных поддержки устройства, находящихся в БУКП. Технические результаты также включают способность продолжать обработку КСУ, несмотря на обнаружение условия неправильной длины, что позволяет устройству управления продолжать обработку команд ввода-вывода без необходимости прекращения операции ввода-вывода. Другие технические результаты включают способность передавать как входные, так и выходные данные между каналом и устройством управления во время одной операции ввода-вывода.
Используемая в описании терминология имеет целью описание лишь частных вариантов осуществления, а не ограничение изобретения. Подразумевается, что используемые в описании формы единственного числа включают также формы множественного числа, если из контекста ясно не следует иное. Дополнительно подразумевается, что термины "содержит" и/или "содержащий", используемые в описании, означают присутствие указанных признаков, чисел, шагов, операций, элементов и/или компонентов, но не исключают присутствие или добавление одного или нескольких других признаков, чисел, шагов, операций, элементов, компонентов и/или их групп.
Подразумевается, что соответствующие структуры, материалы, действия и эквиваленты всех элементов "средство или шаг плюс функция" следующей далее формулы изобретения включают любую структуру, материал или действие для выполнения функции в сочетании с другими конкретно заявленными средствами. Описание настоящего изобретения представлено в качестве иллюстрации и не имеет целью исчерпать или ограничить изобретение раскрытой формой. Для специалистов в данной области техники бесспорны многочисленные модификации и разновидности, не выходящие за пределы объема и существа изобретения. Выбранный и описанный вариант осуществления имеет целью наилучшим образом пояснить принципы изобретения и его практическое применение, а также позволить специалистам в данной области техники понять изобретение, поскольку предусмотрены различные варианты осуществления с различными модификациями, рассчитанными на конкретное применение.
Как учтут специалисты в данной области техники, особенности настоящего изобретения могут быть воплощены в виде системы, способа или компьютерного программного продукта. Соответственно, особенности настоящего изобретения могут принимать форму целиком аппаратного варианта осуществления, целиком программного варианта осуществления (содержащего аппаратно-программное обеспечение, резидентное программное обеспечение, микрокод и т.д.) или варианта осуществления, сочетающего программные и аппаратные особенности, которые все могут в целом именоваться в описании "схемой", "модулем" или "системой". Кроме того, особенности настоящего изобретения могут принимать форму компьютерного программного продукта, воплощенного в одной или нескольких машиночитаемых средах, в которых воплощен машиночитаемый программный код.
Может использоваться любое сочетание одной или нескольких машиночитаемых сред. Машиночитаемой средой может являться машиночитаемая среда передачи сигналов или машиночитаемая запоминающая среда. Машиночитаемой запоминающей средой может являться, например, без ограничения электронная, магнитная, оптическая, электромагнитная, инфракрасная или полупроводниковая система, устройство, или прибор, или любое применимое сочетание перечисленного. Более конкретные примеры (неисчерпывающий список) машиночитаемой запоминающей среды включают: электрическое соединение, содержащее один или несколько проводов, портативный компьютерный диск, жесткий диск, оперативное запоминающее устройство (ОЗУ), постоянное запоминающее устройство (ПЗУ), стираемое программируемое постоянное запоминающее устройство (СППЗУ или флэш-память), оптическое волокно, портативное постоянное запоминающее устройство на компакт-диске (CD-ROM), оптическое запоминающее устройство, магнитное запоминающее устройство или любое применимое сочетание перечисленного. В контексте настоящего документа машиночитаемой запоминающей средой может являться любая материальная среда, в которой может содержаться или храниться программа для использования системой выполнения команд, устройством, или прибором, или применительно к ним.
Машиночитаемая среда передачи сигналов может содержать распространяющийся сигнал данных с воплощенным в ней машиночитаемым программным кодом, например, в основной полосе частот или в качестве части несущей. Такой распространяющийся сигнал может принимать любую из множества форм, включая без ограничения электромагнитную, оптическую или любое их применимое сочетание. Машиночитаемой средой передачи сигналов может являться любая машиночитаемая среда, которая не является машиночитаемой запоминающей средой и которая способна осуществлять обмен, распространение или передачу программы для использования системой выполнения команд, устройством, или прибором, или применительно к ним.
Программный код, воплощенный в машиночитаемой среде, может передаваться с использованием соответствующей среды, включая без ограничения беспроводную, проводную среду, оптоволоконный кабель, ВЧ-среду и т.д. или любое применимое сочетание перечисленного.
Компьютерный программный код для выполнения операций, обеспечивающих особенности настоящего изобретения, может быть записан на одном или нескольких языках программирования в любом сочетании, включая объектно-ориентированный язык программирования, такой как Java, Smalltalk, C++ и т.п., и традиционных процедурных языках программирования, таких как "C" и языки ассемблера или аналогичные языки программирования. Программный код может целиком выполняться в пользовательском компьютере, частично в пользовательском компьютере, в качестве автономного пакета программного обеспечения, частично в пользовательском компьютере и частично в удаленном компьютере или целиком в удаленном компьютере или сервере. В случае последнего сценария удаленный компьютер может быть соединен с пользовательским компьютером посредством сети любого типа, включая локальную вычислительную сеть (ЛВС) или глобальную вычислительную сеть (ГВС), или может быть установлено соединение с внешним компьютером (например, по сети Интернет с использованием поставщика услуг Интернет).
Особенности настоящего изобретения описаны со ссылкой на структурные схемы и/или блок-схемы способов, оборудования (систем) и компьютерных программных продуктов согласно вариантам осуществления изобретения. Подразумевается, что каждый блок на структурных схемах и/или блок-схемах и сочетания блоков на структурных схемах и/или блок-схемах могут быть реализованы посредством команд управления компьютерной программой. Эти команды управления компьютерной программой могут передаваться процессору универсального компьютера, специализированного компьютера или другой программируемого устройства для обработки данных с целью формирования механизма, в котором команды, выполняемые посредством процессора компьютера или другого программируемого оборудования обработки данных, создают средство реализации функций/действий, обозначенных блоком или блоками на структурных схемах и/или блок-схемах.
Эти команды управления компьютерной программой также могут храниться в машиночитаемой среде, которая способна предписывать компьютеру, другому программируемому оборудованию обработки данных или другим устройствам действовать конкретным способом, в результате чего команды, хранящиеся на машиночитаемом носителе, формируют продукт, содержащий команды, в которых реализуется функция/действие, обозначенное блоком или блоками на структурных схемах и/или блок-схемах.
Команды управления компьютерной программой также могут загружаться в компьютер, другое программируемое оборудование обработки данных или другие устройства, чтобы инициировать выполнение последовательности оперативных шагов компьютером, другим программируемым оборудованием или другими устройствами с целью формирования реализованного в компьютере процесса, при этом команды, выполняемые компьютером или другим программируемым оборудованием, обеспечивают процессы реализации функций/действий, обозначенных блоком или блоками на структурных схемах и/или блок-схемах.
Приведенные на чертежах блок-схемы являются лишь одним из примеров. Возможно множество разновидностей этих описанных в изобретении блок-схем или шагов (операций), не выходящих за пределы объема изобретения. Например, шаги могут выполняться в другом порядке, или шаги могут быть добавлены, исключены или модифицированы. Все эти разновидности считают входящими в заявленное изобретение.
Хотя были описаны предпочтительные варианты осуществления, подразумевается, что специалисты в данной области техники смогут теперь и в будущем внести в них различные усовершенствовании и улучшения в пределах объема следующей далее формулы изобретения. Эту формулу изобретения следует интерпретировать в целях обеспечения надлежащей охраны ранее описанного изобретения.

Claims (25)

1. Машиночитаемый носитель информации, содержащий команды, считываемые и выполняемые устройством обработки данных для выполнения операции ввода-вывода, инициированной командой ввода-вывода в компьютерной хост-системе, сконфигурированной на поддержание связи с устройством управления, которое поддерживает связь с одним или несколькими устройствами, причем вышеупомянутые команды выполняются устройством обработки данных с целью осуществления способа, включающего:
- генерирование канальной подсистемой компьютерной хост-системы по меньшей мере одного командного сообщения с указанием операции ввода-вывода, содержащего одно или несколько командных слов устройств (КСУ), каждое из которых соответствует команде ввода-вывода, при этом по меньшей мере одно КСУ из одного или нескольких КСУ содержит счет данных и индикатор подавления длины (ИПД), сконфигурированный на то, чтобы указывать устройству управления, следует ли продолжать осуществление операции ввода-вывода при обнаружении устройством управления условия неправильной длины из-за несоответствия счета данных объему данных, необходимому для выполнения команды ввода-вывода, при этом необходимыми данными являются данные, доступные в устройстве управления для выполнения команды чтения, или данные, необходимые устройству управления для выполнения команды записи,
- пересылку по меньшей мере одного командного сообщения устройству управления,
- прием от устройства управления значения неправильной длины (НД), при этом значением неправильной длины является первое значение НД, если значением ИПД является первое значение ИПД, а счет данных не соответствует объему необходимых данных, и значением неправильной длины является второе значение НД, если значением ИПД является второе значение ИПД, а счет данных не соответствует объему необходимых данных, и
- в ответ на прием значения НД от устройства управления - сохранение индикатора НД, отображающего значение НД, в слове состояния подканала.
2. Машиночитаемый носитель информации по п.1, в котором по меньшей мере одно командное сообщение содержит блок управления командами передачи (БУКП), в котором хранится множество КСУ, а генерирование по меньшей мере одного командного сообщения включает извлечение БУКП из одного или нескольких местоположений, заданных в поле адреса БУКП управляющего слова передачи (УСП), хранящегося в памяти хост-системы.
3. Машиночитаемый носитель информации по п.1, в котором по меньшей мере одно КСУ содержит флаг сцепления команд, указывающий, что следующее КСУ логически связано по меньшей мере с одним КСУ и должно выполняться устройством управления после того, как устройство управления выполнит по меньшей мере одно КСУ.
4. Машиночитаемый носитель информации по п.3, в котором ИПД указывает устройству управления продолжать сцепление команд и выполнять следующее КСУ при обнаружении устройством управления условия неправильной длины.
5. Машиночитаемый носитель информации по п.1, в котором ИПД имеет определенное значение в поле ИПД по меньшей мере в одном КСУ, указывающее устройству управления продолжать операцию ввода-вывода при обнаружении условия неправильной длины, и имеет нулевое значение, указывающее устройству управления прекратить операцию ввода-вывода при обнаружении условия неправильной длины.
6. Машиночитаемый носитель информации по п.1, в котором канальная подсистема сконфигурирована на прием значения НД, если устройством управления обнаружено условие неправильной длины, и значением ИПД является первое значение ИПД, а по меньшей мере значение счета данных в поле счета данных по меньшей мере одного КСУ не соответствует объему данных, необходимому устройству для КСУ записи, или значение счета данных не соответствует объему данных, доступному в устройстве для КСУ чтения.
7. Машиночитаемый носитель информации по п.5, в котором поле ИПД имеет значение, равное единице, по меньшей мере одно КСУ является КСУ чтения, и компьютерный программный продукт дополнительно сконфигурирован на:
- если флаг сцепления команд указывает, что для КСУ чтения используется сцепление команд и значение счета данных превышает объем данных, доступный в устройстве, - прием в канальной подсистеме объема данных от устройства управления при передаче данных, включающей передачу одного или нескольких холостых байтов с тем, чтобы объем данных, переданный для КСУ, был равен значению счета данных,
- если флаг сцепления команд указывает, что для КСУ чтения не используется сцепление команд и значение счета данных превышает объем данных, доступный в устройстве, - прием только объема данных или объема данных и одного или нескольких холостых байтов с тем, чтобы объем данных, переданный для КСУ, был равен значению счета данных, и
если значение счета данных является меньшим, чем объем данных, доступный в устройстве, - прием объема данных, равного значению счета данных в канальной подсистеме.
8. Машиночитаемый носитель информации по п.5, в котором поле ИПД имеет значение, равное единице, по меньшей мере одно КСУ является КСУ чтения, и компьютерный программный продукт дополнительно сконфигурирован на:
- если флаг сцепления команд указывает, что для КСУ записи используется сцепление команд и значение счета данных превышает объем данных, требующийся устройству, - передачу канальной подсистемой устройству управления объема данных, равного объему данных, требующемуся устройству, и отбрасывание остальных данных,
- если флаг сцепления команд указывает, что для КСУ записи не используется сцепление команд и значение счета данных превышает объем данных, требующийся устройству, - передачу объема данных, требующегося устройству, и передачу дополнительных данных до исчерпания значения счета данных, и
- если значение счета данных является меньшим, чем объем данных, требующийся устройству, - передачу устройству управления объема данных, равного значению счета данных.
9. Машиночитаемый носитель информации по п.1, в котором по меньшей мере одно КСУ содержит ИПД, имеющий поле ИПД, значение которого равного единице, если ИПД имеет второе значение, и нулевое значение, если значением ИПД является первое значение ИПД, а канальная подсистема сконфигурирована на прием ответа на передачу от устройства управления в ответ на выполнение или прекращение операции ввода-вывода, при этом в поле неправильной длины (НД) ответа на передачу содержится значение НД, которое указывает, была ли операция ввода-вывода прекращена вследствие условия неправильной длины, поле НД имеет значение, равное единице, если значением ИПД является первое значение ИПД, а счет данных не соответствует требующемуся объему данных, поле НД имеет нулевое значение, если по меньшей мере один из ИПД имеет второе значение ИПД, а счет данных соответствует требующемуся объему данных.
10. Машиночитаемый носитель информации по п.9, в котором в ответе на передачу содержится поле смещения КСУ, которое указывает, какое из множества КСУ вызвало обнаружение условия неправильной длины.
11. Машиночитаемый носитель информации по п.1, в котором канальная подсистема сконфигурирована на:
- передачу устройству управления запроса регистрации процесса (РП), сконфигурированного на инициализацию канала связи между канальной подсистемой и устройством управления и содержащего заголовок, значение которого указывает, поддерживает ли канальная подсистема использование ИПД, и
- прием от устройства управления ответа на запрос (РП), содержащего заголовок, значение которого указывает, поддерживает ли устройство управления использование ИПД.
12. Система обработки операций ввода-вывода, включающая в себя компьютерную хост-систему и обеспечивающая выполнение операции ввода-вывода, инициированной командой ввода-вывода в компьютерной хост-системе, причем компьютерная хост-система сконфигурирована на поддержание связи с устройством управления, поддерживающим связь с одним или несколькими устройствами, и содержит:
- канальную подсистему, выполненную с возможностью генерирования по меньшей мере одного командного сообщения с указанием операции ввода-вывода, содержащего одно или несколько командных слов устройств (КСУ), каждое из которых соответствует команде ввода-вывода, при этом по меньшей мере одно КСУ из одного или нескольких КСУ содержит счет данных и индикатор подавления длины (ИПД), сконфигурированный на то, чтобы указывать устройству управления, следует ли продолжать осуществление операции ввода-вывода при обнаружении устройством управления условия неправильной длины из-за несоответствия счета данных объему данных, необходимому для выполнения команды ввода-вывода, при этом необходимыми данными являются данные, доступные в устройстве управления для выполнения команды чтения, или данные, необходимые устройству управления для выполнения команды записи,
- средство пересылки, выполненное с возможностью пересылки по меньшей мере одного командного сообщения устройству управления,
- средство приема, выполненное с возможностью приема от устройства управления значения неправильной длины (НД), при этом значением неправильной длины является первое значение НД, если значением ИПД является первое значение ИПД, а счет данных не соответствует объему необходимых данных, и значением неправильной длины является второе значение НД, если значением ИПД является второе значение ИПД, а счет данных не соответствует объему необходимых данных, и
- средство сохранения, выполненное с возможностью совершаемого в ответ на прием значения НД от устройства управления сохранения индикатора НД, отображающего значение НД, в слове состояния подканала.
13. Система по п.12, в которой по меньшей мере одно КСУ содержит флаг сцепления команд, указывающий, что следующее КСУ логически связано по меньшей мере с одним КСУ и должно выполняться устройством управления после того, как устройство управления выполнит по меньшей мере одно КСУ, а ИПД указывает устройству управления продолжать сцепление команд и выполнять следующее КСУ при обнаружении устройством управления условия неправильной длины.
14. Система по п.12, в которой ИПД имеет определенное значение в поле ИПД по меньшей мере в одном КСУ, указывающее устройству управления продолжать операцию ввода-вывода при обнаружении условия неправильной длины, и имеет нулевое значение, указывающее устройству управления прекратить операцию ввода-вывода при обнаружении условия неправильной длины.
15. Система по п.14, в которой поле ИПД имеет значение, равное единице, по меньшей мере одно КСУ является КСУ чтения, и система дополнительно сконфигурирована на:
- если флаг сцепления команд указывает, что для КСУ чтения используется сцепление команд и значение счета данных превышает объем данных, доступный в устройстве, - прием в канальной подсистеме объема данных от устройства управления при передаче данных, включающей передачу одного или нескольких холостых байтов с тем, чтобы объем данных, переданный для КСУ, был равен значению счета данных,
- если флаг сцепления команд указывает, что для КСУ чтения не используется сцепление команд и значение счета данных превышает объем данных, доступный в устройстве, - прием только объема данных или объема данных и одного или нескольких холостых байтов с тем, чтобы объем данных, переданный для КСУ, был равен значению счета данных, и
- если значение счета данных является меньшим, чем объем данных, доступный в устройстве, - прием объема данных, равного значению счета данных в канальной подсистеме.
16. Система по п.14, в которой поле ИПД имеет значение, равное единице, по меньшей мере одно КСУ является КСУ записи, и система дополнительно сконфигурирована на:
- если флаг сцепления команд указывает, что для КСУ записи используется сцепление команд, и значения счета данных превышает объем данных, требующийся устройству, - передачу канальной подсистемой устройству управления объема данных, равного объему данных, требующемуся устройству, и отбрасывание остальных данных,
- если флаг сцепления команд указывает, что для КСУ записи не используется сцепление команд, и значение счета данных превышает объем данных, требующийся устройству, - передачу объема данных, требующегося устройству, и передачу дополнительных данных до исчерпания значения счета данных, и
- если значение счета данных является меньшим, чем объем данных, требующийся устройству, - передачу устройству управления объема данных, равного значению счета данных.
17. Система по п.12, в которой по меньшей мере одно КСУ содержит ИПД, имеющий поле ИПД, значение которого равного единице, если ИПД имеет второе значение, и нулевое значение, если значением ИПД является первое значение ИПД, а канальная подсистема сконфигурирована на прием ответа на передачу от устройства управления в ответ на выполнение или прекращение операции ввода-вывода, при этом в поле неправильной длины (НД) ответа на передачу содержится значение НД, которое указывает, была ли операция ввода-вывода прекращена вследствие условия неправильной длины, поле НД имеет значение, равное единице, если значением ИПД является первое значение ИПД, а счет данных не соответствует объему необходимых данных, поле НД имеет нулевое значение, если по меньшей мере один из ИПД имеет второе значение ИПД, а счет данных соответствует требующемуся объему данных.
18. Система по п.17, в которой в ответе на передачу содержится поле смещения КСУ, которое указывает, какое из множества КСУ вызвало обнаружение условия неправильной длины.
19. Система по п.12, в которой канальная подсистема сконфигурирована на:
- передачу устройству управления запроса регистрации процесса (РП), сконфигурированного на инициализацию канала связи между канальной подсистемой и устройством управления и содержащего заголовок, значение которого указывает, поддерживает ли канальная подсистема использование ИПД, и
- прием от устройства управления ответа на запрос (РП), содержащего заголовок, значение которого указывает, поддерживает ли устройство управления использование ИПД.
20. Способ осуществления операции ввода-вывода, инициированной командой ввода-вывода в компьютерной хост-системе, сконфигурированной на поддержание связи с устройством управления, которое поддерживает связь с одним или несколькими устройствами, включающий:
- генерирование канальной подсистемой компьютерной хост-системы по меньшей мере одного командного сообщения с указанием операции ввода-вывода, содержащего одно или несколько командных слов устройств (КСУ), каждое из которых соответствует команде ввода-вывода, при этом по меньшей мере одно КСУ из одного или нескольких КСУ содержит счет данных и индикатор подавления длины (ИПД), сконфигурированный на то, чтобы указывать устройству управления, следует ли продолжать осуществление операции ввода-вывода при обнаружении устройством управления условия неправильной длины из-за несоответствия счета данных объему данных, необходимому для выполнения команды ввода-вывода, при этом необходимыми данными являются данные, доступные в устройстве управления для выполнения команды чтения, или данные, необходимые устройству управления для выполнения команды записи,
- пересылку по меньшей мере одного командного сообщения устройству управления,
- прием от устройства управления значения неправильной длины (НД), при этом значением неправильной длины является первое значение НД, если значением ИПД является первое значение ИПД, а счет данных не соответствует объему необходимых данных, и значением неправильной длины является второе значение НД, если значением ИПД является второе значение ИПД, а счет данных не соответствует объему необходимых данных, и
- в ответ на прием значения НД от устройства управления - сохранение индикатора НД, отображающего значение НД, в слове состояния подканала.
21. Способ по п.20, в котором по меньшей мере одно КСУ содержит флаг сцепления команд, указывающий, что следующее КСУ логически связано по меньшей мере с одним КСУ и должно выполняться устройством управления после того, как устройство управления выполнит по меньшей мере одно КСУ, а ИПД указывает устройству управления продолжать сцепление команд и выполнять следующее КСУ в ответ на обнаружение устройством управления условия неправильной длины.
22. Способ по п.20, в котором ИПД имеет определенное значение в поле ИПД по меньшей мере в одном КСУ, указывающее устройству управления продолжать операцию ввода-вывода при обнаружении условия неправильной длины, и имеет нулевое значение, указывающее устройству управления прекратить операцию ввода-вывода при обнаружении условия неправильной длины.
23. Способ по п.20, в котором по меньшей мере одно КСУ содержит ИПД, имеющий поле ИПД, значение которого равного единице, если ИПД имеет второе значение, и нулевое значение, если значением ИПД является первое значение ИПД, а канальная подсистема сконфигурирована на прием ответа на передачу от устройства управления в ответ на выполнение или прекращение операции ввода-вывода, при этом в поле неправильной длины (НД) ответа на передачу содержится значение НД, которое указывает, была ли операция ввода-вывода прекращена вследствие условия неправильной длины, поле НД имеет значение, равное единице, если значением ИПД является первое значение ИПД, а счет данных не соответствует объему необходимых данных, поле НД имеет нулевое значение, если по меньшей мере один из ИПД имеет второе значение ИПД, а счет данных соответствует требующемуся объему данных.
24. Способ по п.23, в котором в ответе на передачу содержится поле смещения КСУ, которое указывает, какое из множества КСУ вызвало обнаружение условия неправильной длины.
25. Способ по п.20, дополнительно включающий:
- передачу устройству управления запроса регистрации процесса (РП), сконфигурированного на инициализацию канала связи между канальной подсистемой и устройством управления и содержащего заголовок, значение которого указывает, поддерживает ли канальная подсистема использование ИПД, и
- прием от устройства управления ответа на запрос (РП), содержащего заголовок, значение которого указывает, поддерживает ли устройство управления использование ИПД.
RU2012147915/08A 2011-06-30 2012-05-03 Облегчение операций ввода-вывода в режиме передачи между канальной подсистемой и устройствами ввода-вывода RU2541106C2 (ru)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/173,754 US8473641B2 (en) 2011-06-30 2011-06-30 Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US13/173,754 2011-06-30
PCT/EP2012/058104 WO2013000603A1 (en) 2011-06-30 2012-05-03 Facilitating transport mode input/output operations between a channel subsystem and input/output devices

Publications (2)

Publication Number Publication Date
RU2012147915A RU2012147915A (ru) 2014-05-20
RU2541106C2 true RU2541106C2 (ru) 2015-02-10

Family

ID=46085908

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2012147915/08A RU2541106C2 (ru) 2011-06-30 2012-05-03 Облегчение операций ввода-вывода в режиме передачи между канальной подсистемой и устройствами ввода-вывода

Country Status (14)

Country Link
US (2) US8473641B2 (ru)
EP (1) EP2593874A1 (ru)
JP (1) JP6074416B2 (ru)
CN (1) CN103562893B (ru)
AU (1) AU2012278232B2 (ru)
BR (1) BR112013034069B1 (ru)
CA (1) CA2821233C (ru)
HK (1) HK1193884A1 (ru)
IL (1) IL224384A (ru)
MX (1) MX2013011407A (ru)
RU (1) RU2541106C2 (ru)
SG (1) SG194196A1 (ru)
WO (1) WO2013000603A1 (ru)
ZA (1) ZA201301504B (ru)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8811459B1 (en) * 2013-10-21 2014-08-19 Oleumtech Corporation Robust and simple to configure cable-replacement system
US10312936B2 (en) * 2014-01-17 2019-06-04 Texas Instruments Incorporated Using CRC residual value to distinguish a recipient of a data packet in a communication system
IT201700050153A1 (it) * 2017-05-09 2018-11-09 St Microelectronics Srl Modulo hardware di sicurezza, relativo sistema di elaborazione, circuito integrato e dispositivo
TWI797464B (zh) * 2020-07-28 2023-04-01 群聯電子股份有限公司 資料讀取方法、記憶體儲存裝置及記憶體控制電路單元
CN112463064B (zh) * 2020-12-07 2022-02-08 无锡众星微系统技术有限公司 基于双链表结构的i/o指令管理方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2329610C2 (ru) * 2002-06-28 2008-07-20 Майкрософт Корпорейшн Способ конфигурирования канала по протоколу управления логическими каналами и адаптации спецификации bluetooth
US7856511B2 (en) * 2008-02-14 2010-12-21 International Business Machines Corporation Processing of data to suspend operations in an input/output processing system
RU2419226C2 (ru) * 2006-03-31 2011-05-20 Квэлкомм Инкорпорейтед Управление памятью для высокоскоростного управления доступом к среде

Family Cites Families (221)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1264096A (ru) 1970-06-27 1972-02-16
US3693161A (en) 1970-07-09 1972-09-19 Burroughs Corp Apparatus for interrogating the availability of a communication path to a peripheral device
US4004277A (en) 1974-05-29 1977-01-18 Gavril Bruce D Switching system for non-symmetrical sharing of computer peripheral equipment
US3943283A (en) 1974-06-17 1976-03-09 International Business Machines Corporation Bidirectional single wire data transmission and wrap control
US4080649A (en) 1976-12-16 1978-03-21 Honeywell Information Systems Inc. Balancing the utilization of I/O system processors
US4207609A (en) 1978-05-08 1980-06-10 International Business Machines Corporation Method and means for path independent device reservation and reconnection in a multi-CPU and shared device access system
US4380046A (en) 1979-05-21 1983-04-12 Nasa Massively parallel processor computer
US4374415A (en) 1980-07-14 1983-02-15 International Business Machines Corp. Host control of suspension and resumption of channel program execution
US4414644A (en) 1981-04-03 1983-11-08 International Business Machines Corporation Method and apparatus for discarding data from a buffer after reading such data
US4455605A (en) 1981-07-23 1984-06-19 International Business Machines Corporation Method for establishing variable path group associations and affiliations between "non-static" MP systems and shared devices
US4497022A (en) 1982-10-19 1985-01-29 International Business Machines Corporation Method and apparatus for measurements of channel operation
US4564903A (en) 1983-10-05 1986-01-14 International Business Machines Corporation Partitioned multiprocessor programming system
US4779188A (en) 1983-12-14 1988-10-18 International Business Machines Corporation Selective guest system purge control
US4870566A (en) 1984-08-27 1989-09-26 International Business Machines Corp. Scannerless message concentrator and communications multiplexer
US4837677A (en) 1985-06-14 1989-06-06 International Business Machines Corporation Multiple port service expansion adapter for a communications controller
US4760518A (en) 1986-02-28 1988-07-26 Scientific Computer Systems Corporation Bi-directional databus system for supporting superposition of vector and scalar operations in a computer
JPS6336461A (ja) 1986-07-31 1988-02-17 Pfu Ltd 汎用チャネル制御方式
US4926320A (en) 1987-04-07 1990-05-15 Nec Corporation Information processing system having microprogram-controlled type arithmetic processing unit
US4843541A (en) 1987-07-29 1989-06-27 International Business Machines Corporation Logical resource partitioning of a data processing system
US4866609A (en) 1988-06-22 1989-09-12 International Business Machines Corporation Byte count handling in serial channel extender with buffering for data pre-fetch
JPH0283757A (ja) 1988-09-21 1990-03-23 Hitachi Ltd 通信制御システム
US5016160A (en) 1988-12-15 1991-05-14 International Business Machines Corporation Computer system having efficient data transfer operations
US5185736A (en) 1989-05-12 1993-02-09 Alcatel Na Network Systems Corp. Synchronous optical transmission system
DE69028462T2 (de) 1989-08-11 1997-03-27 Ibm Vorrichtung zur Verbindung von einer Steuereinheit mit parallelem Bus mit einem Kanal mit serieller Verbindung
GB9012970D0 (en) 1989-09-22 1990-08-01 Ibm Apparatus and method for asynchronously delivering control elements with pipe interface
EP0424618A3 (en) 1989-10-24 1992-11-19 International Business Machines Corporation Input/output system
DE3938520A1 (de) 1989-11-21 1991-05-29 Teves Gmbh Alfred Verfahren und system zur messdatenerfassung und -auswertung
AU650242B2 (en) 1989-11-28 1994-06-16 International Business Machines Corporation Methods and apparatus for dynamically managing input/output (I/O) connectivity
JPH04649A (ja) 1990-04-18 1992-01-06 Nec Corp リモートチャネル装置の障害情報転送方式
CA2037708C (en) 1990-05-04 1998-01-20 Richard J. Eickemeyer General purpose compound apparatus for instruction-level parallel processors
US5170472A (en) 1991-03-28 1992-12-08 International Business Machines Corp. Dynamically changing a system i/o configuration definition
US5644712A (en) 1991-06-05 1997-07-01 International Business Machines Corporation Indirect addressing of channels via logical channel groups
US5386512A (en) 1991-07-19 1995-01-31 International Business Machines Corporation System for deriving and testing mutual capability set after receiving updated capability from other processors and before requesting service information
JPH0580104A (ja) 1991-09-20 1993-04-02 Cmk Corp モータ用プリント配線板の製造方法
US5388219A (en) 1992-03-02 1995-02-07 International Business Machines Corporation Efficient channel and control unit for host computer
CA2086691C (en) 1992-03-30 1997-04-08 David A. Elko Communicating messages between processors and a coupling facility
US5317739A (en) 1992-03-30 1994-05-31 International Business Machines Corp. Method and apparatus for coupling data processing systems
US5600805A (en) 1992-06-15 1997-02-04 International Business Machines Corporation Pass-through for I/O channel subsystem call instructions for accessing shared resources in a computer system having a plurality of operating systems
US5414851A (en) 1992-06-15 1995-05-09 International Business Machines Corporation Method and means for sharing I/O resources by a plurality of operating systems
US5452455A (en) 1992-06-15 1995-09-19 International Business Machines Corporation Asynchronous command support for shared channels for a computer complex having multiple operating systems
US5265240A (en) 1992-07-24 1993-11-23 International Business Machines Corporation Channel measurement method and means
US5301323A (en) 1992-10-30 1994-04-05 International Business Machines Corp. Data processing system including dynamic channel path management
JP2566728B2 (ja) 1992-10-30 1996-12-25 インターナショナル・ビジネス・マシーンズ・コーポレイション 論理径路スケジューリング装置及び実行方法
US5526484A (en) 1992-12-10 1996-06-11 International Business Machines Corporation Method and system for pipelining the processing of channel command words
JP2840511B2 (ja) 1992-12-10 1998-12-24 富士通株式会社 磁気テープ装置を用いたサブシステムのエラー回復処理装置及び方法
US5528755A (en) 1992-12-22 1996-06-18 International Business Machines Corporation Invalid data detection, recording and nullification
US5517670A (en) 1992-12-30 1996-05-14 International Business Machines Corporation Adaptive data transfer channel employing extended data block capability
US5461721A (en) 1993-04-14 1995-10-24 International Business Machines Corporation System for transferring data between I/O devices and main or expanded storage under dynamic control of independent indirect address words (IDAWs)
US5465359A (en) 1993-11-01 1995-11-07 International Business Machines Corporation Method and system for managing data and users of data in a data processing system
US5584039A (en) 1993-11-08 1996-12-10 International Business Machines Corporation System for coordinating execution of multiple concurrent channel programs without host processor involvement using suspend and resume commands to control data transfer between I/O devices
JP3528094B2 (ja) 1994-02-09 2004-05-17 株式会社日立製作所 バス利用方法および記憶制御装置
US6769009B1 (en) 1994-05-31 2004-07-27 Richard R. Reisman Method and system for selecting a personalized set of information channels
US5907684A (en) 1994-06-17 1999-05-25 International Business Machines Corporation Independent channel coupled to be shared by multiple physical processing nodes with each node characterized as having its own memory, CPU and operating system image
US5548791A (en) 1994-07-25 1996-08-20 International Business Machines Corporation Input/output control system with plural channel paths to I/O devices
US5860022A (en) 1994-07-26 1999-01-12 Hitachi, Ltd. Computer system and method of issuing input/output commands therefrom
US5564040A (en) 1994-11-08 1996-10-08 International Business Machines Corporation Method and apparatus for providing a server function in a logically partitioned hardware machine
EP0712220A1 (en) 1994-11-08 1996-05-15 International Business Machines Corporation Hop-by-hop flow control in an ATM network
US5613163A (en) 1994-11-18 1997-03-18 International Business Machines Corporation Method and system for predefined suspension and resumption control over I/O programs
US5671441A (en) 1994-11-29 1997-09-23 International Business Machines Corporation Method and apparatus for automatic generation of I/O configuration descriptions
US5600793A (en) 1994-12-20 1997-02-04 International Business Machines Corporation Method and system of bi-directional parallel port data transfer between data processing systems
US5680580A (en) 1995-02-28 1997-10-21 International Business Machines Corporation Remote copy system for setting request interconnect bit in each adapter within storage controller and initiating request connect frame in response to the setting bit
US5742845A (en) 1995-06-22 1998-04-21 Datascape, Inc. System for extending present open network communication protocols to communicate with non-standard I/O devices directly coupled to an open network
US5996026A (en) 1995-09-05 1999-11-30 Hitachi, Ltd. Method and apparatus for connecting i/o channels between sub-channels and devices through virtual machines controlled by a hypervisor using ID and configuration information
JP3225804B2 (ja) 1995-09-05 2001-11-05 株式会社日立製作所 入出力チャネルの拡張方式
US6125411A (en) 1995-09-13 2000-09-26 Hitachi, Ltd. System storing plural I/O arrangement information wherein each I/O arrangement information corresponding to each operating system is created in response to more than two operating systems
GB2291990A (en) 1995-09-27 1996-02-07 Memory Corp Plc Flash-memory management system
US5831985A (en) 1995-11-09 1998-11-03 Emc Corporation Method and apparatus for controlling concurrent data transmission from multiple sources in a channel communication system
US5793983A (en) 1996-01-22 1998-08-11 International Business Machines Corp. Input/output channel interface which automatically deallocates failed subchannel and re-segments data block for transmitting over a reassigned subchannel
US5812877A (en) 1996-03-15 1998-09-22 Adaptec, Inc. I/O command block chain structure in a memory
US5768620A (en) 1996-04-09 1998-06-16 International Business Machines Corporation Variable timeout method in a missing-interrupt-handler for I/O requests issued by the same operating system
US5758190A (en) 1996-04-09 1998-05-26 International Business Machines Corporation Control unit threshold timeout controls for software missing interrupt handlers in operating systems
US5894583A (en) 1996-04-09 1999-04-13 International Business Machines Corporation Variable timeout method for improving missing-interrupt-handler operations in an environment having I/O devices shared by one or more systems
US5901327A (en) 1996-05-28 1999-05-04 Emc Corporation Bundling of write data from channel commands in a command chain for transmission over a data link between data storage systems for remote data mirroring
US6108655A (en) 1996-07-19 2000-08-22 Cisco Technology, Inc. Method and apparatus for transmitting images and other objects over a computer network system
SG74611A1 (en) 1997-02-14 2000-08-22 Canon Kk Data communication apparatus and method
JP3697831B2 (ja) 1997-04-18 2005-09-21 株式会社日立製作所 コンピュータシステム
TW375529B (en) 1997-05-14 1999-12-01 Sega Corp Data transmission method and game system using the same
US5918028A (en) 1997-07-08 1999-06-29 Motorola, Inc. Apparatus and method for smart host bus adapter for personal computer cards
US6263380B1 (en) 1997-10-14 2001-07-17 Mitutoyo Corporation Measurement data processing unit
US6460087B1 (en) 1998-02-25 2002-10-01 Kdd Corporation Method of transferring file
US6360282B1 (en) 1998-03-25 2002-03-19 Network Appliance, Inc. Protected control of devices by user applications in multiprogramming environments
US6353612B1 (en) 1998-06-19 2002-03-05 Brocade Communications Systems, Inc. Probing device
US6693880B2 (en) 1998-09-10 2004-02-17 International Business Machines Corporation System of controlling the flow of information between senders and receivers across links being used as channels
US6185631B1 (en) 1998-10-14 2001-02-06 International Business Machines Corporation Program for transferring execution of certain channel functions to a control unit and having means for combining certain commands and data packets in one sequence
US6230218B1 (en) 1998-10-14 2001-05-08 International Business Machines Corporation Apparatus for transferring execution of certain channel functions to a control unit and having means for combining certain commands and data packets in one sequence
US6343335B1 (en) 1998-10-29 2002-01-29 International Business Machines Corporation System for repositioning an I/O device to a predetermined position to retry a program without knowledge of which part of the program caused the retry
US6195330B1 (en) 1998-11-05 2001-02-27 David C. Sawey Method and system for hit-less switching
KR100273641B1 (ko) 1998-11-11 2000-12-15 윤종용 공통 메모리 스위치에서 셀 그룹 처리장치 및 그 처리방법
JP3990833B2 (ja) 1998-12-11 2007-10-17 キヤノン株式会社 通信制御方法及び装置
US6347334B1 (en) 1999-01-06 2002-02-12 Mcdata Corporation Self-description extended link service for networks
US6772207B1 (en) 1999-01-28 2004-08-03 Brocade Communications Systems, Inc. System and method for managing fibre channel switching devices
US6351779B1 (en) 1999-03-12 2002-02-26 Agilent Technologies, Inc. Extension library to standard visa library for support of complex I/O functions
US6484217B1 (en) 1999-04-20 2002-11-19 International Business Machines Corporation Managing shared devices in a data processing system
US6401223B1 (en) 1999-05-21 2002-06-04 Unisys Corporation Programmable system for invalidating pending requests within a data processing system
TW549004B (en) 1999-06-15 2003-08-21 Matsushita Electric Works Ltd Portable programming device for supervisory remote control system
US6718139B1 (en) 1999-09-13 2004-04-06 Ciena Corporation Optical fiber ring communication system
US6609165B1 (en) 1999-09-27 2003-08-19 International Business Machines Corporation Method and apparatus for using fibre channel extended link service commands in a point-to-point configuration
US6651125B2 (en) 1999-09-28 2003-11-18 International Business Machines Corporation Processing channel subsystem pending I/O work queues based on priorities
US6584511B1 (en) 2000-03-24 2003-06-24 Unisys Corporation Loop initialization procedure exception handling for fibre channel transmissions
US6658603B1 (en) 2000-04-17 2003-12-02 International Business Machines Corporation Method and apparatus for efficiently generating and implementing engine error codes and verifying the correctness of the implementation of the engine error codes
US6594785B1 (en) 2000-04-28 2003-07-15 Unisys Corporation System and method for fault handling and recovery in a multi-processing system having hardware resources shared between multiple partitions
US6862322B1 (en) 2000-05-19 2005-03-01 International Business Machines Corporation Switchable-bandwidth optical receiver
US6609161B1 (en) 2000-06-01 2003-08-19 Adaptec, Inc. Two-dimensional execution queue for host adapters
JP2002016655A (ja) 2000-06-28 2002-01-18 Sony Corp 伝送方法、伝送システム、伝送装置及び伝送制御装置
US6662319B1 (en) 2000-08-31 2003-12-09 Hewlett-Packard Development Company, L.P. Special encoding of known bad data
US7280664B2 (en) 2000-08-31 2007-10-09 Dolby Laboratories Licensing Corporation Method for apparatus for audio matrix decoding
US6694390B1 (en) 2000-09-11 2004-02-17 Intel Corporation Managing bus transaction dependencies
US6633925B2 (en) 2000-09-29 2003-10-14 Emc Corporation Operating system for generating overlapped input-output requests to a device in a disk array storage
US6950888B1 (en) 2000-09-29 2005-09-27 International Business Machines Corporation Method, system and program products for determining whether I/O constraints exist for controllers of a computing environment
US6751683B1 (en) 2000-09-29 2004-06-15 International Business Machines Corporation Method, system and program products for projecting the impact of configuration changes on controllers
US6697983B1 (en) 2000-10-24 2004-02-24 At&T Wireless Services, Inc. Data link layer tunneling technique for high-speed data in a noisy wireless environment
US6622268B2 (en) 2000-11-29 2003-09-16 Intel Corp Method and apparatus for propagating error status over an ECC protected channel
US7127514B2 (en) 2000-12-28 2006-10-24 Microsoft Corporation Stateless distributed computer architecture with server-oriented state-caching objects maintained on network or client
US7155569B2 (en) 2001-02-28 2006-12-26 Lsi Logic Corporation Method for raid striped I/O request generation using a shared scatter gather list
US6834363B2 (en) 2001-03-22 2004-12-21 International Business Machines Corporation Method for prioritizing bus errors
US6898202B2 (en) * 2001-06-27 2005-05-24 International Business Machines Corporation Method, apparatus and computer program for informing a requesting device of port configuration changes in a computer network switching device
US20030056000A1 (en) 2001-07-26 2003-03-20 Nishan Systems, Inc. Transfer ready frame reordering
US7315911B2 (en) 2005-01-20 2008-01-01 Dot Hill Systems Corporation Method for efficient inter-processor communication in an active-active RAID system using PCI-express links
US6754738B2 (en) 2001-09-28 2004-06-22 International Business Machines Corporation Low overhead I/O interrupt
US6859866B2 (en) 2001-10-01 2005-02-22 International Business Machines Corporation Synchronizing processing of commands invoked against duplexed coupling facility structures
US6745299B2 (en) 2001-11-19 2004-06-01 Hewlett-Packard Development Company, L.P. Method for evaluation of scalable symmetric multiple processor cache coherency protocols and algorithms
US7512133B2 (en) 2001-12-03 2009-03-31 International Business Machines Corporation Method and apparatus for obtaining multiple port addresses by a fibre channel from a network fabric
US7599360B2 (en) 2001-12-26 2009-10-06 Cisco Technology, Inc. Methods and apparatus for encapsulating a frame for transmission in a storage area network
US7085860B2 (en) 2002-01-11 2006-08-01 International Business Machines Corporation Method and apparatus for a non-disruptive recovery of a single partition in a multipartitioned data processing system
US7007142B2 (en) 2002-02-19 2006-02-28 Intel Corporation Network data storage-related operations
US7099814B2 (en) 2002-03-29 2006-08-29 International Business Machines Corportion I/O velocity projection for bridge attached channel
US6898723B2 (en) 2002-04-01 2005-05-24 Mitac International Corp. Method for verifying clock signal frequency of computer sound interface that involves checking whether count value of counter is within tolerable count range
US7543087B2 (en) 2002-04-22 2009-06-02 Alacritech, Inc. Freeing transmit memory on a network interface device prior to receiving an acknowledgement that transmit data has been received by a remote device
JP4704659B2 (ja) 2002-04-26 2011-06-15 株式会社日立製作所 記憶装置システムの制御方法および記憶制御装置
US20030208581A1 (en) 2002-05-02 2003-11-06 Behren Paul D. Von Discovery of fabric devices using information from devices and switches
US7120728B2 (en) 2002-07-31 2006-10-10 Brocade Communications Systems, Inc. Hardware-based translating virtualization switch
US7107385B2 (en) 2002-08-09 2006-09-12 Network Appliance, Inc. Storage virtualization by layering virtual disk objects on a file system
US6826661B2 (en) 2002-08-30 2004-11-30 Veritas Operating Corporation Methods and systems for storage architectures
US20040054776A1 (en) 2002-09-16 2004-03-18 Finisar Corporation Network expert analysis process
US7539777B1 (en) 2002-10-25 2009-05-26 Cisco Technology, Inc. Method and system for network time protocol forwarding
US7080094B2 (en) 2002-10-29 2006-07-18 Lockheed Martin Corporation Hardware accelerated validating parser
US7987341B2 (en) 2002-10-31 2011-07-26 Lockheed Martin Corporation Computing machine using software objects for transferring data that includes no destination information
US7202801B2 (en) 2002-12-11 2007-04-10 Geospatial Technologies, Inc. Method and apparatus for an automated location-based, dynamic notification system (ALDNS)
US7277387B2 (en) 2003-01-30 2007-10-02 Wind River Systems, Inc. Package manager
US7324455B2 (en) 2003-03-14 2008-01-29 International Business Machines Corporation Transfer of error-analysis and statistical data in a fibre channel input/output system
US6915378B2 (en) 2003-04-23 2005-07-05 Hypernova Technologies, Inc. Method and system for improving the performance of a processing system
US7000036B2 (en) 2003-05-12 2006-02-14 International Business Machines Corporation Extended input/output measurement facilities
US7085898B2 (en) 2003-05-12 2006-08-01 International Business Machines Corporation Coherency management for a “switchless” distributed shared memory computer system
US7058735B2 (en) 2003-06-02 2006-06-06 Emulex Design & Manufacturing Corporation Method and apparatus for local and distributed data memory access (“DMA”) control
TWI271626B (en) 2003-06-17 2007-01-21 Delta Electronics Inc Data transmission method for microprocessors of programmable logic controller
US7684401B2 (en) 2003-07-21 2010-03-23 Qlogic, Corporation Method and system for using extended fabric features with fibre channel switch elements
US7124207B1 (en) 2003-08-14 2006-10-17 Adaptec, Inc. I2O command and status batching
US7149823B2 (en) 2003-08-29 2006-12-12 Emulex Corporation System and method for direct memory access from host without processor intervention wherein automatic access to memory during host start up does not occur
US7558827B2 (en) 2003-10-17 2009-07-07 Nippon Telegraph And Telephone Corporation Mail distribution system, mail distribution method, and mail distribution program
KR20050043426A (ko) 2003-11-06 2005-05-11 삼성전자주식회사 파이프라인 버스 시스템에서 커맨드 전송 방법 및 장치
US20050105456A1 (en) 2003-11-18 2005-05-19 Cookson Christopher J. Double-sided optical disc
US7634582B2 (en) 2003-12-19 2009-12-15 Intel Corporation Method and architecture for optical networking between server and storage area networks
US7564791B2 (en) 2003-12-29 2009-07-21 Intel Corporation Monitoring packet flows
US7382733B2 (en) 2004-02-12 2008-06-03 International Business Machines Corporation Method for handling reordered data packets
US7133988B2 (en) 2004-02-25 2006-11-07 Hitachi, Ltd. Method and apparatus for managing direct I/O to storage systems in virtualization
US20050223291A1 (en) 2004-03-24 2005-10-06 Zimmer Vincent J Methods and apparatus to provide an execution mode transition
JP2005293363A (ja) 2004-04-01 2005-10-20 Toshiba Corp ディスクアレイコントローラおよび情報処理装置
US8171170B2 (en) 2004-04-30 2012-05-01 Emc Corporation Storage switch task processing synchronization
US7240273B2 (en) 2004-05-13 2007-07-03 Industrial Technology Research Institute Cyclic redundancy check modification for message length detection and error detection
US7555554B2 (en) 2004-08-06 2009-06-30 Microsoft Corporation System and method for generating selectable extension to media transport protocol
US7711871B1 (en) 2004-08-30 2010-05-04 Crossroads Systems, Inc. Interface device and method for command processing
US7443798B2 (en) 2004-09-03 2008-10-28 Agere Systems Inc. Transmit adaptive equalization for communication system with one or more serial data channels
US7577772B2 (en) 2004-09-08 2009-08-18 Qlogic, Corporation Method and system for optimizing DMA channel selection
GB2419198A (en) 2004-10-14 2006-04-19 Hewlett Packard Development Co Identifying performance affecting causes in a data storage system
US7398335B2 (en) 2004-11-22 2008-07-08 Qlogic, Corporation Method and system for DMA optimization in host bus adapters
JP4575119B2 (ja) 2004-11-25 2010-11-04 株式会社日立製作所 ストレージシステム
US7164425B2 (en) 2004-12-21 2007-01-16 Qlogic Corporation Method and system for high speed network application
US7672323B2 (en) 2005-01-14 2010-03-02 Cisco Technology, Inc. Dynamic and intelligent buffer management for SAN extension
US7526633B2 (en) 2005-03-23 2009-04-28 Qualcomm Incorporated Method and system for encoding variable length packets with variable instruction sizes
JP2006277583A (ja) 2005-03-30 2006-10-12 Hitachi Ltd データ処理システム、データ処理方法、及びプログラム
US7970953B2 (en) 2005-06-30 2011-06-28 Intel Corporation Serial ATA port addressing
JP2007058646A (ja) 2005-08-25 2007-03-08 Hitachi Ltd データ処理システム
TW200733733A (en) 2005-09-06 2007-09-01 Nokia Corp Enhanced signaling of pre-configured interaction message in service guide
US7577773B1 (en) 2005-09-09 2009-08-18 Qlogic, Corporation Method and system for DMA optimization
JP4527640B2 (ja) 2005-09-15 2010-08-18 株式会社ソニー・コンピュータエンタテインメント データ読出装置
JP2007122108A (ja) 2005-10-25 2007-05-17 Hitachi Ltd セルフチェック機能を有するディスクドライブ装置を用いたストレージシステムの制御
US7484021B2 (en) 2005-10-27 2009-01-27 Cisco Technology, Inc. Technique for implementing virtual fabric membership assignments for devices in a storage area network
US20070162631A1 (en) 2005-12-28 2007-07-12 International Business Machines Corporation Method for selectable software-hardware internet SCSI
US7594057B1 (en) 2006-01-09 2009-09-22 Qlogic, Corporation Method and system for processing DMA requests
JP2007199975A (ja) 2006-01-26 2007-08-09 Hitachi Ltd データ処理システム及びデータ処理方法
US9032164B2 (en) 2006-02-17 2015-05-12 Emulex Corporation Apparatus for performing storage virtualization
US7743197B2 (en) 2006-05-11 2010-06-22 Emulex Design & Manufacturing Corporation System and method for virtualizing PCIe devices
US20080040519A1 (en) 2006-05-02 2008-02-14 Alacritech, Inc. Network interface device with 10 Gb/s full-duplex transfer rate
US8381214B2 (en) 2006-05-05 2013-02-19 Microsoft Corporation Extensible job submission
US7826349B2 (en) 2006-05-30 2010-11-02 Intel Corporation Connection management mechanism
US20080043563A1 (en) 2006-08-15 2008-02-21 International Business Machines Corporation Flexibly controlling the transfer of data between input/output devices and memory
US8032581B2 (en) 2006-08-30 2011-10-04 International Business Machines Corporation Persistent information unit pacing
US7500030B2 (en) 2006-08-30 2009-03-03 International Business Machines Corporation Control of information units in fibre channel communications
US7502873B2 (en) 2006-10-10 2009-03-10 International Business Machines Corporation Facilitating access to status and measurement data associated with input/output processing
US7500023B2 (en) 2006-10-10 2009-03-03 International Business Machines Corporation Facilitating input/output processing by using transport control words to reduce input/output communications
US7797414B2 (en) 2007-01-31 2010-09-14 International Business Machines Corporation Establishing a logical path between servers in a coordinated timing network
US8660108B2 (en) 2007-04-13 2014-02-25 Hart Communication Foundation Synchronizing timeslots in a wireless communication protocol
US7765336B2 (en) 2007-06-11 2010-07-27 Emulex Design & Manufacturing Corporation Autonomous mapping of protected data streams to fibre channel frames
US8020074B2 (en) 2007-08-24 2011-09-13 Datadirect Networks, Inc. Method for auto-correction of errors in a RAID memory system
US9052837B2 (en) 2008-02-14 2015-06-09 International Business Machines Corporation Processing communication data in a ships passing condition
US7904605B2 (en) 2008-02-14 2011-03-08 International Business Machines Corporation Computer command and response for determining the state of an I/O operation
US7941570B2 (en) * 2008-02-14 2011-05-10 International Business Machines Corporation Bi-directional data transfer within a single I/O operation
US7840717B2 (en) 2008-02-14 2010-11-23 International Business Machines Corporation Processing a variable length device command word at a control unit in an I/O processing system
US7890668B2 (en) * 2008-02-14 2011-02-15 International Business Machines Corporation Providing indirect data addressing in an input/output processing system where the indirect data address list is non-contiguous
US7899944B2 (en) 2008-02-14 2011-03-01 International Business Machines Corporation Open exchange limiting in an I/O processing system
US7917813B2 (en) 2008-02-14 2011-03-29 International Business Machines Corporation Exception condition determination at a control unit in an I/O processing system
US7908403B2 (en) * 2008-02-14 2011-03-15 International Business Machines Corporation Reserved device access contention reduction
US8478915B2 (en) 2008-02-14 2013-07-02 International Business Machines Corporation Determining extended capability of a channel path
US8214562B2 (en) 2008-02-14 2012-07-03 International Business Machines Corporation Processing of data to perform system changes in an input/output processing system
US8176222B2 (en) 2008-02-14 2012-05-08 International Business Machines Corporation Early termination of an I/O operation in an I/O processing system
US8108570B2 (en) 2008-02-14 2012-01-31 International Business Machines Corporation Determining the state of an I/O operation
US8312189B2 (en) * 2008-02-14 2012-11-13 International Business Machines Corporation Processing of data to monitor input/output operations
US8196149B2 (en) 2008-02-14 2012-06-05 International Business Machines Corporation Processing of data to determine compatability in an input/output processing system
US8166206B2 (en) 2008-02-14 2012-04-24 International Business Machines Corporation Cancel instruction and command for determining the state of an I/O operation
US7937507B2 (en) 2008-02-14 2011-05-03 International Business Machines Corporation Extended measurement word determination at a channel subsystem of an I/O processing system
US8095847B2 (en) 2008-02-14 2012-01-10 International Business Machines Corporation Exception condition handling at a channel subsystem in an I/O processing system
US8001298B2 (en) 2008-02-14 2011-08-16 International Business Machines Corporation Providing extended measurement data in an I/O processing system
US8082481B2 (en) 2008-02-14 2011-12-20 International Business Machines Corporation Multiple CRC insertion in an output data stream
US8117347B2 (en) 2008-02-14 2012-02-14 International Business Machines Corporation Providing indirect data addressing for a control block at a channel subsystem of an I/O processing system
GB2460841B (en) 2008-06-10 2012-01-11 Virtensys Ltd Methods of providing access to I/O devices
US7983257B2 (en) 2008-07-18 2011-07-19 Emulex Design & Manufacturing Corporation Hardware switch for hypervisors and blade servers
US8055807B2 (en) * 2008-07-31 2011-11-08 International Business Machines Corporation Transport control channel program chain linking including determining sequence order
US7937504B2 (en) 2008-07-31 2011-05-03 International Business Machines Corporation Transport control channel program message pairing
US20100064072A1 (en) 2008-09-09 2010-03-11 Emulex Design & Manufacturing Corporation Dynamically Adjustable Arbitration Scheme
JP5107880B2 (ja) 2008-12-10 2012-12-26 株式会社日立製作所 データ転送処理装置及び方法
US8914812B2 (en) * 2010-01-08 2014-12-16 International Business Machines Corporation Controlling operations according to another system's architecture

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2329610C2 (ru) * 2002-06-28 2008-07-20 Майкрософт Корпорейшн Способ конфигурирования канала по протоколу управления логическими каналами и адаптации спецификации bluetooth
RU2419226C2 (ru) * 2006-03-31 2011-05-20 Квэлкомм Инкорпорейтед Управление памятью для высокоскоростного управления доступом к среде
US7856511B2 (en) * 2008-02-14 2010-12-21 International Business Machines Corporation Processing of data to suspend operations in an input/output processing system

Also Published As

Publication number Publication date
SG194196A1 (en) 2013-11-29
US20130246661A1 (en) 2013-09-19
CN103562893B (zh) 2016-02-17
WO2013000603A1 (en) 2013-01-03
MX2013011407A (es) 2014-06-05
EP2593874A1 (en) 2013-05-22
BR112013034069A2 (pt) 2018-07-03
US8473641B2 (en) 2013-06-25
AU2012278232B2 (en) 2015-08-20
IL224384A (en) 2017-01-31
RU2012147915A (ru) 2014-05-20
HK1193884A1 (zh) 2014-10-03
JP6074416B2 (ja) 2017-02-08
KR20130101538A (ko) 2013-09-13
AU2012278232A1 (en) 2013-05-02
US8631175B2 (en) 2014-01-14
BR112013034069B1 (pt) 2021-07-27
CA2821233C (en) 2020-05-05
CA2821233A1 (en) 2013-01-03
US20130007300A1 (en) 2013-01-03
ZA201301504B (en) 2014-08-27
CN103562893A (zh) 2014-02-05
JP2014525075A (ja) 2014-09-25

Similar Documents

Publication Publication Date Title
US20120311199A1 (en) Fibre channel input/output data routing including discarding of data transfer requests in response to error detection
US8583988B2 (en) Fibre channel input/output data routing system and method
RU2541106C2 (ru) Облегчение операций ввода-вывода в режиме передачи между канальной подсистемой и устройствами ввода-вывода
US20120311287A1 (en) Fibre channel input/output data routing system and method
US8549185B2 (en) Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US20130046905A1 (en) Fibre channel input/output data routing system and method
US20120311192A1 (en) Fibre channel input/output data routing system and method
RU2520356C1 (ru) Облегчение операций ввода-вывода в режиме передачи между канальной подсистемой и устройствами ввода-вывода
US8346978B1 (en) Facilitating transport mode input/output operations between a channel subsystem and input/output devices
KR101476075B1 (ko) 채널 서브시스템과 입력/출력 디바이스들 사이에 트랜스포트 모드 입력/출력 동작들을 용이하게 하는 방법, 장치 및 컴퓨터 프로그램 제품
KR101476073B1 (ko) 채널 서브시스템과 입력/출력 디바이스들 사이에 트랜스포트 모드 입력/출력 동작들을 용이하게 하는 방법, 장치 및 컴퓨터 프로그램 제품