When was iscsi invented




















It is a known fact that iSCSI is a bi-directional protocol and so it can also be used to return data in response to the original request as well.

Computer operating systems include or can be installed with iSCSI clients and initiators. While some storage arrays are designed to only provide storage over iSCSI, many storage devices come equipped with iSCSI targets in addition to other common protocols.

Some high-speed network switches include a technology called Data Center Bridging, which makes it easier to support storage traffic and standard network traffic on the same switch ports. This is done by creating rules for quality of service.

These rules define how much bandwidth each type of network traffic is allowed to consume. The local distance acceleration device 32 also forwards step the write command to the target While the write command proceeds toward the target 28 over the network 30, the initiator 24 should receive the R2T message from the local distance acceleration device 32, thus enabling the initiator 24 to begin transmitting step data encapsulated in iSCSI PDUs.

The local and remote distance acceleration devices 32, 36 forward steps , the data to the target Data transmission thus begins sooner than what would have occurred otherwise had the initiator 24 needed to wait to receive an R2T message from the target Consequently, the transmission of the R2T message by the distance acceleration device 32 operates to reduce the latency inherent in the delivery of the write command to the target 28 and in the return delivery of the R2T message to the initiator Upon receiving the write command, the target 28 removes the various levels of encapsulation to retrieve the SCSI write command.

The remote distance acceleration device 36 receives and forwards steps the R2T PDU to the local distance acceleration device The R2T PDU from the target 28 may or may not have arrived at the local distance acceleration device 32 when the local distance acceleration device 32 issues step another R2T PDU provided the initiator 24 is going to send more data to the target 28 , to enable the initiator 24 to transmit additional data step The exchange of data and R2T PDUs between the initiator 24 and the local acceleration device 32 continues until the initiator indicates the end of the data transfer.

In one embodiment, the write command is a write-to-tape command. When the initiator 24 indicates that the data transfer is complete, the local distance acceleration device 32 issues step a status PDU indicating that the target 28 has successfully received the data transmitted by the initiator 24 although the target has not yet received all of the transmitted data.

When the last of the data to be written arrives from the initiator 24, the target 28 issues step a status PDU indicating that the data transfer is complete. The remote distance acceleration device 36 forwards this status PDU to the local distance acceleration device step , which may add the status PDU to the log of target responses. If, subsequently, the target 28 indicates that an attempt to save the transferred data was unsuccessful i. At step , one of the initiators 24 sends a request to one of the targets 28 on the network 30 to start negotiating for a given parameter.

The local distance acceleration device 32 intercepts the negotiation request and can either accept the negotiated value proposed by the initiator 24, or counter with a different parameter value - e. The negotiation request from the initiator 24 does not advance beyond the local distance acceleration device In addition, the negotiations between the initiator 24 and the local distance acceleration device 32 can occur for several parameters. Further, the local distance acceleration device 32 can negotiate with each of the plurality of initiators Similarly, the remote distance acceleration device 36 independently negotiates step operational parameters with one or more of the targets Because negotiations can occur with a plurality of initiators 24 or with a plurality of targets 28, the local and remote acceleration devices 32, 36 maintain tables for storing the negotiated parameter values and the identities i.

During the full feature phase, each initiator 24 and each target 28 communicates according to the operational parameters for which it negotiated. Conceivably, an initiator 24 may negotiate a value for an operational parameter that does not match the parameter value negotiated by the target 28 with the remote distance acceleration device 36 for that particular parameter. Notwithstanding, the initiator 24 and target 28 execute data transfers as though there were no mismatch.

The local and remote distance acceleration device 32, 36 buffer the iSCSI communications as appropriate, so that the initiator 24 and target 28 appear to communicate with each other without any parameter value mismatch.

For example, consider that the local distance acceleration device 32 and the initiator 24 negotiate such that a R2T message is not required before the initiator 24 can start transferring data to the target 28 after issuing a write command.

Further, consider that the target 28 negotiates with the remote distance acceleration device 36 to require an R2T message after receipt of a write command. At step , the local distance acceleration device 32 receives a write command from the initiator The initiator 24 can commence sending data step to the target 28 because, from its perspective, it has negotiated with the target 28 to send data immediately after sending the write command i.

Accordingly, the local distance acceleration device 32 forwards step the write command to the remote distance acceleration device 36 without issuing an R2T message to the initiator The remote distance acceleration device 36 receives and forwards step the write command to the target Because the target 28 has negotiated for an R2T message, the target 28 issues step an R2T message in response to the write command.

Before receiving the R2T message from the target 28, however, the remote distance acceleration device 36 may receive step the data from the initiator 24 forwarded by the local distance acceleration device The remote distance acceleration device 36 holds the data until it receives the R2T message from the target 28, and then sends step the data to the target If, instead, the remote distance acceleration device 36 receives the R2T message from the target 28 before receiving the data, the remote distance acceleration device 36 can forward step the data to the target 28 immediately.

As another example, consider that the local distance acceleration device 32 and the initiator 24 negotiate a 2K byte value for the MaxRecvDataSegmentLength parameter, but that the target 28 negotiates IK byte value with the remote distance acceleration device 36 for this parameter.

Accordingly, the initiator 24 is prepared to send data in 2K byte segments, whereas the target 28 is prepared to receive data in IK byte segments. In one embodiment, the local distance acceleration device 32 forwards each 2K byte segment to the remote distance acceleration device 36, and the remote distance acceleration device 36 buffers and releases the data in IK byte segments for transmission to the target In another embodiment, the local and remote distance acceleration devices 32, 36 communicate with each other to exchange the negotiated parameters of the initiators and targets.

The exchanged information can be stored in the tables, described above. The R2T PDU from the target 28 may or may not have arrived at the local distance acceleration device 32 when the local distance acceleration device 32 issues step another R2T PDU provided the initiator 24 is going to send more data to the target 28 , to enable the initiator 24 to transmit additional data step The exchange of data and R2T PDUs between the initiator 24 and the local acceleration device 32 continues until the initiator indicates the end of the data transfer.

In one embodiment, the write command is a write-to-tape command. When the initiator 24 indicates that the data transfer is complete, the local distance acceleration device 32 issues step a status PDU indicating that the target 28 has successfully received the data transmitted by the initiator 24 although the target has not yet received all of the transmitted data. When the last of the data to be written arrives from the initiator 24 , the target 28 issues step a status PDU indicating that the data transfer is complete.

The remote distance acceleration device 36 forwards this status PDU to the local distance acceleration device step , which may add the status PDU to the log of target responses. If, subsequently, the target 28 indicates that an attempt to save the transferred data was unsuccessful i. At step , one of the initiators 24 sends a request to one of the targets 28 on the network 30 to start negotiating for a given parameter. The local distance acceleration device 32 intercepts the negotiation request and can either accept the negotiated value proposed by the initiator 24 , or counter with a different parameter value—e.

The negotiation request from the initiator 24 does not advance beyond the local distance acceleration device In addition, the negotiations between the initiator 24 and the local distance acceleration device 32 can occur for several parameters. Further, the local distance acceleration device 32 can negotiate with each of the plurality of initiators Similarly, the remote distance acceleration device 36 independently negotiates step operational parameters with one or more of the targets Because negotiations can occur with a plurality of initiators 24 or with a plurality of targets 28 , the local and remote acceleration devices 32 , 36 maintain tables for storing the negotiated parameter values and the identities i.

During the full feature phase, each initiator 24 and each target 28 communicates according to the operational parameters for which it negotiated. Conceivably, an initiator 24 may negotiate a value for an operational parameter that does not match the parameter value negotiated by the target 28 with the remote distance acceleration device 36 for that particular parameter. Notwithstanding, the initiator 24 and target 28 execute data transfers as though there were no mismatch.

The local and remote distance acceleration device 32 , 36 buffer the iSCSI communications as appropriate, so that the initiator 24 and target 28 appear to communicate with each other without any parameter value mismatch. Further, consider that the target 28 negotiates with the remote distance acceleration device 36 to require an R2T message after receipt of a write command.

At step , the local distance acceleration device 32 receives a write command from the initiator The initiator 24 can commence sending data step to the target 28 because, from its perspective, it has negotiated with the target 28 to send data immediately after sending the write command i.

Accordingly, the local distance acceleration device 32 forwards step the write command to the remote distance acceleration device 36 without issuing an R2T message to the initiator The remote distance acceleration device 36 receives and forwards step the write command to the target Because the target 28 has negotiated for an R2T message, the target 28 issues step an R2T message in response to the write command.

Before receiving the R2T message from the target 28 , however, the remote distance acceleration device 36 may receive step the data from the initiator 24 forwarded by the local distance acceleration device The remote distance acceleration device 36 holds the data until it receives the R2T message from the target 28 , and then sends step the data to the target If, instead, the remote distance acceleration device 36 receives the R2T message from the target 28 before receiving the data, the remote distance acceleration device 36 can forward step the data to the target immediately.

As another example, consider that the local distance acceleration device 32 and the initiator 24 negotiate a 2K byte value for the MaxRecvDataSegmentLength parameter, but that the target 28 negotiates 1K byte value with the remote distance acceleration device 36 for this parameter. Accordingly, the initiator 24 is prepared to send data in 2K byte segments, whereas the target is prepared to receive data in 1K byte segments. In one embodiment, the local distance acceleration device 32 forwards each 2K byte segment to the remote distance acceleration device 36 , and the remote distance acceleration device 36 buffers and releases the data in 1K byte segments for transmission to the target In another embodiment, the local and remote distance acceleration devices 32 , 36 communicate with each other to exchange the negotiated parameters of the initiators and targets.

The exchanged information can be stored in the tables, described above. In this embodiment, the local distance acceleration device 32 can determine from its tables that the target 28 permits 1K byte segments only and therefore sends segments of that length to the remote distance acceleration device That is, the local distance acceleration device 32 buffers the extra data rather than the remote distance acceleration device While the invention has been shown and described with reference to specific preferred embodiments, it should be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the invention as defined by the following claims.

For example, although the invention has been described with each initiator residing at one end of the network and each target at the opposite end, it is to be understood that initiators and targets can reside at both ends of the network and that each distance acceleration device can operate bi-directionally and serially or concurrently accelerate data transfers between initiators and targets in both directions.

The method of claim 1 , further comprising the step of negotiating, between the acceleration device and the iSCSI initiator, a value for a given parameter. The method of claim 5 , wherein the acceleration device is a first acceleration device, and further comprising the step of negotiating, between a second acceleration device and the iSCSI target, a value for the same parameter negotiated between the first acceleration device and the iSCSI initiator.

The network of claim 13 , wherein the acceleration device is a first acceleration device, and further comprising a second acceleration device in communication with the first acceleration device and with the iSCSI target, the first acceleration device negotiating a value for a given parameter with the iSCSI initiator and the second acceleration device negotiating a value for the given parameter with the iSCSI target.

USB2 en.



0コメント

  • 1000 / 1000