Fibre channel input/output data routing including discarding of data transfer requests in response to error detection
First Claim
1. A computer program product for performing an input/output (I/O) processing operation at a host computer system configured for communication with a control unit, 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;
obtaining information relating to an I/O operation at a channel subsystem in the host computer system, the channel subsystem including at least one channel having a channel processor and a local channel memory;
generating at least one address control word (ACW) specifying one or more host memory locations for transfer of data between the host computer system and the control unit, and storing the at least one ACW in the local channel memory, the at least one ACW including a data discard field;
generating an address control structure for each data transfer specified by the I/O operation and forwarding each address control structure from the at least one channel to a network interface between the channel subsystem and the control unit, each address control structure specifying a location in the local channel memory of a corresponding ACW, each address control structure configured to be used by the network interface to fetch or store information into or out of the host memory, wherein each address control structure is forwarded to and stored in the network interface prior to forwarding the I/O operation to the control unit;
forwarding an I/O command message to at least one I/O device via the network interface;
based on the I/O command message, receiving one or more data transfer requests from the network interface that each include location information specified by a corresponding address control structure;
accessing an ACW at a local channel memory location specified by an address field in a data transfer request and routing the data transfer request to the host memory location specified in the ACW; and
based on encountering an error during at least one of the accessing and the routing, discarding the one or more data transfer requests and setting the data discard field to a value configured to instruct the channel to discard any subsequent data transfer requests associated with the ACW, the data discard field value setting persisting until an I/O operation completion status is received at the channel subsystem from the network interface.
1 Assignment
0 Petitions
Accused Products
Abstract
A computer program product is provided for performing input/output (I/O) processing. The computer program product is configured to perform: generating and storing in local channel memory at least one address control word (ACW) specifying one or more host memory locations for data transfer and including a data discard field; generating an address control structure specifying a local channel memory location of a corresponding ACW; receiving one or more data transfer requests from a network interface that each corresponding address control structure information; accessing an ACW and routing the data transfer request to a host memory location specified in the ACW; and responsive to encountering an error during at least one of the accessing and the routing, discarding the one or more data transfer requests and setting the data discard field to a value configured to instruct a channel to discard any subsequent data transfer requests associated with the ACW.
266 Citations
28 Claims
-
1. A computer program product for performing an input/output (I/O) processing operation at a host computer system configured for communication with a control unit, 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; obtaining information relating to an I/O operation at a channel subsystem in the host computer system, the channel subsystem including at least one channel having a channel processor and a local channel memory; generating at least one address control word (ACW) specifying one or more host memory locations for transfer of data between the host computer system and the control unit, and storing the at least one ACW in the local channel memory, the at least one ACW including a data discard field; generating an address control structure for each data transfer specified by the I/O operation and forwarding each address control structure from the at least one channel to a network interface between the channel subsystem and the control unit, each address control structure specifying a location in the local channel memory of a corresponding ACW, each address control structure configured to be used by the network interface to fetch or store information into or out of the host memory, wherein each address control structure is forwarded to and stored in the network interface prior to forwarding the I/O operation to the control unit; forwarding an I/O command message to at least one I/O device via the network interface; based on the I/O command message, receiving one or more data transfer requests from the network interface that each include location information specified by a corresponding address control structure; accessing an ACW at a local channel memory location specified by an address field in a data transfer request and routing the data transfer request to the host memory location specified in the ACW; and based on encountering an error during at least one of the accessing and the routing, discarding the one or more data transfer requests and setting the data discard field to a value configured to instruct the channel to discard any subsequent data transfer requests associated with the ACW, the data discard field value setting persisting until an I/O operation completion status is received at the channel subsystem from the network interface. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 26)
-
-
11. A method of performing an input/output (I/O) processing operation at a host computer system configured for communication with a control unit, the method comprising:
-
obtaining information relating to an I/O operation at a channel subsystem in the host computer system, the channel subsystem including at least one channel having a channel processor and a local channel memory; generating at least one address control word (ACW) specifying one or more host memory locations for transfer of data between the host computer system and the control unit, and storing the at least one ACW in the local channel memory, the at least one ACW including a data discard field; generating an address control structure for each data transfer specified by the I/O operation and forwarding each address control structure from the at least one channel to a network interface between the channel subsystem and the control unit, each address control structure specifying a location in the local channel memory of a corresponding ACW, each address control structure configured to be used by the network interface to fetch or store information into or out of the host memory, wherein each address control structure is forwarded to and stored in the network interface prior to forwarding the I/O operation to the control unit; forwarding an I/O command message to at least one I/O device via the network interface; based on the I/O command message, receiving one or more data transfer requests from the network interface that each include location information specified by a corresponding address control structure; accessing an ACW at a local channel memory location specified by an address field in a data transfer request and routing the data transfer request to the host memory location specified in the ACW; and based on encountering an error during at least one of the accessing and the routing, discarding the one or more data transfer requests and setting the data discard field to a value configured to instruct the channel to discard any subsequent data transfer requests associated with the ACW, the data discard field value setting persisting until an I/O operation completion status is received at the channel subsystem from the network interface. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 27)
-
-
19. An apparatus for performing an input/output (I/O) processing operation at a host computer system configured for communication with a control unit, the host computer system including a channel subsystem, the channel subsystem configured to communicate with the control unit via a network interface, the channel subsystem configured to perform:
-
obtaining information relating to an I/O operation at a channel subsystem in the host computer system, the channel subsystem including at least one channel having a channel processor and a local channel memory; generating at least one address control word (ACW) specifying one or more host memory locations for transfer of data between the host computer system and the control unit, and storing the at least one ACW in the local channel memory, the at least one ACW including a data discard field; generating an address control structure for each data transfer specified by the I/O operation and forwarding each address control structure from the at least one channel to a network interface between the channel subsystem and the control unit, each address control structure specifying a location in the local channel memory of a corresponding ACW, each address control structure configured to be used by the network interface to fetch or store information into or out of the host memory, wherein each address control structure is forwarded to and stored in the network interface prior to forwarding the I/O operation to the control unit; forwarding an I/O command message to at least one I/O device via the network interface; based on the I/O command message, receiving one or more data transfer requests from the network interface that each include location information specified by a corresponding address control structure; accessing an ACW at a local channel memory location specified by an address field in a data transfer request and routing the data transfer request to the host memory location specified in the ACW; and based on encountering an error during at least one of the accessing and the routing, discarding the one or more data transfer requests and setting the data discard field to a value configured to instruct the channel to discard any subsequent data transfer requests associated with the ACW, the data discard field value setting persisting until an I/O operation completion status is received at the channel subsystem from the network interface. - View Dependent Claims (20, 21, 22, 23, 24, 25, 28)
-
Specification