Fibre channel input/output data routing system and method
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, the channel subsystem in communication with a network interface configured to transmit data between the channel subsystem and the control unit during the I/O operation;
generating at least one address control word (ACW) specifying at least one host memory location for transfer of the 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 at least one of a data check word generation field and a data check word save 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 the network interface, each address control structure specifying a location in the local channel memory of a corresponding ACW;
forwarding an I/O command message to the at least one I/O device via the network interface;
responsive to the I/O command message, receiving a data transfer request from the network interface that includes the address control structure;
responsive to the data transfer request including input data to be stored in the host memory and at least one received data check word, storing the at least one received data check word in the data check word save field and performing a check of the input data to determine whether the input data has been corrupted, and routing the input data to one of the at least one host memory location specified by the corresponding ACW responsive to determining that the input data has not been corrupted; and
responsive to the data transfer request including a request for output data to be retrieved from the host memory, retrieving the output data from the one or another of the at least one host memory location specified by the corresponding ACW, generating at least one data check word based on the data check word generation field, appending the at least one generated data check word to the output data, and routing the output data and the at least one generated data check word to the network interface.
1 Assignment
0 Petitions
Accused Products
Abstract
A computer program product for performing input/output (I/O) processing is provided. The computer program product is configured to perform: obtaining information relating to an I/O operation at a channel subsystem; 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 check word generation field and/or a data check word save field; responsive to receiving an input data transfer request including at least one data check word, storing the at least one data check word in the data check word save field and performing a check of the data to determine whether the data has been corrupted; and responsive to receiving an output data transfer, generating at least one data check word based on the data check word generation field and appending the at least one data check word to the data.
-
Citations
17 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, the channel subsystem in communication with a network interface configured to transmit data between the channel subsystem and the control unit during the I/O operation; generating at least one address control word (ACW) specifying at least one host memory location for transfer of the 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 at least one of a data check word generation field and a data check word save 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 the network interface, each address control structure specifying a location in the local channel memory of a corresponding ACW; forwarding an I/O command message to the at least one I/O device via the network interface; responsive to the I/O command message, receiving a data transfer request from the network interface that includes the address control structure; responsive to the data transfer request including input data to be stored in the host memory and at least one received data check word, storing the at least one received data check word in the data check word save field and performing a check of the input data to determine whether the input data has been corrupted, and routing the input data to one of the at least one host memory location specified by the corresponding ACW responsive to determining that the input data has not been corrupted; and responsive to the data transfer request including a request for output data to be retrieved from the host memory, retrieving the output data from the one or another of the at least one host memory location specified by the corresponding ACW, generating at least one data check word based on the data check word generation field, appending the at least one generated data check word to the output data, and routing the output data and the at least one generated data check word to the network interface. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. 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 device, the channel subsystem in communication with a network interface configured to transmit data between the channel subsystem and the control unit during the I/O operation; generating at least one address control word (ACW) specifying at least one host memory locations for transfer of the data between the host computer system and the control unit, and storing the at least one ACW in the local channel memory device, the at least one ACW including at least one of a data check word generation field and a data check word save 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 the network interface, each address control structure specifying a location in the local channel memory device of a corresponding ACW; forwarding an I/O command message to the at least one I/O device via the network interface; responsive to the I/O command message, receiving a data transfer request from the network interface that includes the address control structure; responsive to the data transfer request including input data to be stored in the host memory and at least one received data check word, storing the at least one received data check word in the data check word save field and performing a check of the input data to determine whether the input data has been corrupted, and routing the input data to one of the at least one host memory location specified by the corresponding ACW responsive to determining that the input data has not been corrupted; and responsive to the data transfer request including a request for output data to be retrieved from the host memory, retrieving the output data from the one or another of the at least one host memory location specified by the corresponding ACW, generating at least one data check word based on the data check word generation field, appending the at least one generated data check word to the output data, and routing the output data and the at least one generated data check word to the network interface. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
Specification