Interface device and method for command processing
First Claim
1. A method of processing commands at an interface device between a SCSI data transport protocol and a fiber channel data transport protocol, comprising:
- providing an interface device comprising an interface for a first transport medium, a controller for the first interface, a fiber channel interface for a fiber channel transport medium, a fibre channel controller, and interface logic comprising instructions executable to perform the steps of;
receiving a first command over the first data transport medium according to the SCSI data transport protocol at the interface device, wherein at least a portion of the first command specifies a first data flow direction;
assigning the first command an exchange identification that indicates a second data flow direction, wherein the second data flow direction is opposite the first data flow directionforwarding the first command according to the fiber channel data transport protocol using the exchange identification indicating a second data flow direction, wherein the forwarded first command is linked to one or more additional commands;
receiving a reply to the first command including an exchange identification;
when the reply to the first command contains an exchange identification corresponding to the second data flow direction and a response corresponding to the second data flow direction, processing the command; and
when the reply contains an exchange identification corresponding to the second data flow direction and a response corresponding to the first data flow direction, determining if the reply is associated with the first command;
wherein when the reply is associated with the first command, processing the reply;
when the reply is not associated with the first command, treating the reply as an error; and
assigning the exchanqe identification assigned to the first command to at least one additional command that specifies data flow in the second direction and is linked to the first command and forwarding the at least one additional command so that data flow of the first command and the at least one additional command occurs in the first and second direction on a same fiber channel exchange.
5 Assignments
0 Petitions
Accused Products
Abstract
Embodiments of the present invention provide an interface device and method for command processing for commands requiring data flow in both directions on a Fiber Channel or other data transport protocol exchange. The commands can include proprietary commands, SCSI linked commands or other commands known in the art. According to one embodiment, an interface device can assign a command a data flow direction indicator. When a reply to the command is received, the interface device can determine if the reply is expected or unexpected based on the data flow direction specified by the data flow direction indicator. If the reply is unexpected, the interface device can determine whether to process the reply. According to one embodiment, the data flow direction indicator can be the exchange identification.
78 Citations
19 Claims
-
1. A method of processing commands at an interface device between a SCSI data transport protocol and a fiber channel data transport protocol, comprising:
-
providing an interface device comprising an interface for a first transport medium, a controller for the first interface, a fiber channel interface for a fiber channel transport medium, a fibre channel controller, and interface logic comprising instructions executable to perform the steps of; receiving a first command over the first data transport medium according to the SCSI data transport protocol at the interface device, wherein at least a portion of the first command specifies a first data flow direction; assigning the first command an exchange identification that indicates a second data flow direction, wherein the second data flow direction is opposite the first data flow direction forwarding the first command according to the fiber channel data transport protocol using the exchange identification indicating a second data flow direction, wherein the forwarded first command is linked to one or more additional commands; receiving a reply to the first command including an exchange identification; when the reply to the first command contains an exchange identification corresponding to the second data flow direction and a response corresponding to the second data flow direction, processing the command; and when the reply contains an exchange identification corresponding to the second data flow direction and a response corresponding to the first data flow direction, determining if the reply is associated with the first command; wherein when the reply is associated with the first command, processing the reply; when the reply is not associated with the first command, treating the reply as an error; and assigning the exchanqe identification assigned to the first command to at least one additional command that specifies data flow in the second direction and is linked to the first command and forwarding the at least one additional command so that data flow of the first command and the at least one additional command occurs in the first and second direction on a same fiber channel exchange. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method for command processing at an interface device between a SCSI data transport protocol and a fiber channel data transport protocol, comprising:
-
receiving a first command over a first data transport medium according to the SCSI data transport protocol at the interface device, wherein at least a portion of the first command specifies a first direction of data flow; assigning the first command an exchange identification for a fiber channel exchange that indicates a second direction of data flow in the opposite direction as the first direction of data flow wherein by assigning the first command the exchange identification the first command is masked such that it appears to correspond to the second data flow direction; generating a frame corresponding to the first command that contains the exchange identification; forwarding the frame according to the fiber channel data transport protocol; receiving a reply to the first command including an exchange identification; when the reply to the first command contains the exchange identification corresponding to the second data flow direction and a response corresponding to the second data flow direction, processing the command; and when the reply contains the exchange identification corresponding to the second data flow direction and a response corresponding to the first data flow direction, determining if the reply is associated with the first command; wherein when the reply is associated with the first command processing the reply; and
assigning the exchange identification assigned to the first command to at least one additional command that specifies data flow in the second direction and is linked to the first command and forwarding the at least one additional command so that data flow of the first command and the at least one additional command occurs in the first and second direction using the same fiber channel exchange. - View Dependent Claims (7, 8, 9)
-
-
10. An interface device capable of processing linked bidirectional commands over a fiber channel data transport protocol, comprising:
-
a first controller operable to; connect to a first data transport medium operating according to a SCSI data transport protocol; receive a SCSI command over the first data transport medium according to the SCSI data transport protocol; a second controller configured to; connect to a second data transport medium operating according to a fiber channel data transport protocol; and interface logic coupled to the second controller and the first controller, the interface logic operable to; receive the SCSI command from the first controller, wherein the SCSI command specifies a first direction of data flow; and assign the SCSI command an indicator of data flow direction that indicates a second direction of data flow opposite the first data flow direction; forward the SCSI command according to the fiber channel data transport protocol using the indicator; receive a reply to the SCSI command including an exchange identification; when the reply to the SCSI command contains the exchange identification corresponding to the second direction of data flow and a response corresponding to the exchange identification, processing the SCSI command; and when the reply contains the exchange identification corresponding to the second direction of data flow and a response corresponding to the first direction of data flow, determining if the reply is associated with the SCSI command; when the reply is associated with the SCSI command processing the reply; wherein when the reply is not associated with the SCSI command, treating the reply as an error; assign the indicator to subsequent SCSI linked commands linked to the SCSI command and forward the subsequent SCSI liked commands so that data flows in both directions using the same fiber channel exchange to allow READ and WRITE data that is the subject of the SCSI linked commands to flow over the same fiber channel exchange. - View Dependent Claims (11, 12, 13, 14)
-
-
15. An interface device comprising:
-
a first controller operable to; connect to a first data transport medium operating according to a SCSI data transport protocol; receive a first command over the first data transport medium according to the SCSI data transport protocol; a fiber channel controller configured to; connect to a second data transport medium operating according to a fiber channel protocol; and interface logic coupled to the second controller and the first controller, the interface logic operable to; receive the first command from the first controller, wherein the command specifies a first direction of data flow; assign the first command an exchange identification for a fiber channel exchange that indicates a second direction of data flow opposite to the direction of the first direction of data flow wherein by assigning the command the exchange identification the command is masked such that it appears to correspond to the second data flow direction; forward the first command according to the fiber channel protocol using the indicator; receive a reply to the first command including an exchange identification; when the reply to the first command contains the exchange identification corresponding to the second direction of data flow and a response corresponding to the exchange identification, processing the SCSI command; and when the reply contains the exchange identification corresponding to the second direction of data flow and a response corresponding to the first direction of data flow, determining if the reply is associated with the SCSI command; when the reply is associated with the SCSI command processing the reply; assign the exchange identification assigned to the first command to one or more subsequent commands linked to the first command and forward the first command and the one or more subsequent commands so that read and write data are communicated over the same exchange. - View Dependent Claims (16, 17, 18, 19)
-
Specification