ОБЛЕГЧЕНИЕ ОПЕРАЦИЙ ВВОДА-ВЫВОДА В РЕЖИМЕ ПЕРЕДАЧИ МЕЖДУ КАНАЛЬНОЙ ПОДСИСТЕМОЙ И УСТРОЙСТВАМИ ВВОДА-ВЫХОДА

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, дополнительно включающий:
- передачу устройству управления запроса регистрации процесса (РП), сконфигурированного на инициализацию канала связи между канальной подсистемой и устройством управления и содержащего заголовок, значение которого указывает, поддерживает ли канальная подсистема использование ИПД, и
- прием от устройства управления ответа на запрос (РП), содержащего заголовок, значение которого указывает, поддерживает ли устройство управления использование ИПД.