Bi-directional data transfer within a single I/O operation
First Claim
1. A computer program product for facilitating input/output (I/O) processing for an I/O operation at a control unit coupled to an I/O device, the control unit configured for communication with a host computer system including a memory associated with an operating system, the host computer system including a channel subsystem, the computer program product comprising:
- a non-transitory tangible storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising;
receiving, by the control unit, a command block transmitted from the channel subsystem as a single entity configured to hold a plurality of commands, the plurality of commands including at least one of an input command and an output command, the plurality of commands specified by a transport command word (TCW) obtained by the channel subsystem and associated with the I/O operation, the TCW specifying at least one of a location in the memory of output data and a location in the memory for storing input data, the TCW including a read indicator configured to indicate whether the I/O operation includes input data and a write indictor configured to indicate whether the I/O operation includes output data;
based on the command block holding at least one output command, receiving the output data specified by the TCW and executing the at least one output command; and
based on the command block holding at least one input command, forwarding the input data specified by the TCW to the channel subsystem for storage at a location specified by the TCW.
1 Assignment
0 Petitions
Accused Products
Abstract
A computer program product, apparatus, and a method for facilitating input/output (I/O) processing for an I/O operation at a host computer system configured for communication with a control unit. The method includes receiving, by a control unit, a command block configured to hold a plurality of commands including an input command and/or an output command, the plurality of commands specified by a transport command word (TCW) including a read indicator configured to indicate whether the I/O operation includes input data and a write indictor configured to indicate whether the I/O operation includes output data; based on the command block holding at least one output command, receiving the output data and executing the at least one output command; and based on the command block holding at least one input command, forwarding the input data to the channel subsystem for storage at a location specified by the TCW.
-
Citations
20 Claims
-
1. A computer program product for facilitating input/output (I/O) processing for an I/O operation at a control unit coupled to an I/O device, the control unit configured for communication with a host computer system including a memory associated with an operating system, the host computer system including a channel subsystem, the computer program product comprising:
-
a non-transitory tangible storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising; receiving, by the control unit, a command block transmitted from the channel subsystem as a single entity configured to hold a plurality of commands, the plurality of commands including at least one of an input command and an output command, the plurality of commands specified by a transport command word (TCW) obtained by the channel subsystem and associated with the I/O operation, the TCW specifying at least one of a location in the memory of output data and a location in the memory for storing input data, the TCW including a read indicator configured to indicate whether the I/O operation includes input data and a write indictor configured to indicate whether the I/O operation includes output data; based on the command block holding at least one output command, receiving the output data specified by the TCW and executing the at least one output command; and based on the command block holding at least one input command, forwarding the input data specified by the TCW to the channel subsystem for storage at a location specified by the TCW. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. An apparatus for providing bi-directional data transfer within a single input/output (I/O) operation, comprising:
-
a control unit coupled to an I/O device, the control unit configured for communication with a host computer system including a memory associated with an operating system, the host computer system including a channel subsystem configured to communicate with the control unit, the control unit configured to perform a method comprising; receiving a command block transmitted from the channel subsystem as a single entity configured to hold a plurality of commands, the plurality of commands including at least one of an input command and an output command, the plurality of commands specified by a transport command word (TCW) obtained by the channel subsystem and associated with the I/O operation, the TCW specifying at least one of a location in the memory of output data and a location in the memory for storing input data, the TCW including a read indicator configured to indicate whether the I/O operation includes input data and a write indictor configured to indicate whether the I/O operation includes output data; based on the command block holding at least one output command, receiving the output data specified by the TCW and executing the at least one output command; and based on the command block holding at least one input command, forwarding the input data specified by the TCW to the channel subsystem for storage at a location specified by the TCW. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A method of facilitating input/output (I/O) processing for an I/O operation at a control unit coupled to an I/O device, the control unit configured for communication with a host computer system including a memory associated with an operating system, the host computer system including a channel subsystem, the method comprising:
-
receiving a command block transmitted from the channel subsystem as a single entity configured to hold a plurality of commands, the plurality of commands including at least one of an input command and an output command, the plurality of commands specified by a transport command word (TCW) obtained by the channel subsystem and associated with the I/O operation, the TCW specifying at least one of a location in the memory of output data and a location in the memory for storing input data, the TCW including a read indicator configured to indicate whether the I/O operation includes input data and a write indictor configured to indicate whether the I/O operation includes output data; based on the command block holding at least one output command, receiving the output data specified by the TCW and executing the at least one output command; and based on the command block holding at least one input command, forwarding the input data specified by the TCW to the channel subsystem for storage at a location specified by the TCW. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification