Jump to content

ISCSI Extensions for RDMA

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by 209.198.142.2 (talk) at 15:31, 15 December 2009. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

The iSCSI Extensions for RDMA (iSER) protocol maps the iSCSI protocol over a network that provides RDMA services (like TCP with RDMA services (iWARP) or InfiniBand). This permits data to be transferred directly into SCSI I/O buffers without intermediate data copies. The Datamover Architecture (DA) defines an abstract model in which the movement of data between iSCSI end nodes is logically separated from the rest of the iSCSI protocol. iSER is one Datamover protocol. The interface between the iSCSI and a Datamover protocol, iSER in our case, is called Datamover Interface (DI).

The motivation for iSER is to more efficiently utilize RDMA operations in order to avoid unnecessary data copy and buffering requirements on the target and initiator. iSER allows data to be transferred between the initiator and target with RDMA services without any data copy at the ends. The main difference between the standard iSCSI and iSCSI over iSER in the execution of SCSI read/write commands is that with iSER the target drives all data transfer (with the exception of iSCSI unsolicited data) by issuing RDMA write/read operations, respectively. When the iSCSI layer issues an iSCSI command PDU, it calls the Send_Control primitive, which is part of the DI. The Send_Control primitive sends the STag with the PDU. The iSER layer in the target side notifies the target that the PDU was received with the Control_Notify primitive (which is part of the DI). The target calls the Put_Data or Get_Data primitives (which are part of the DI) to perform an RDMA write/read operation respectively. Then, the target calls the Send_Control primitive to send a response to the initiator. An example is shown in Fig. 1 and Fig. 2. (In the figures, time progresses from top to bottom.)

Fig. 1: READ command execution with iSER:

Fig. 2: WRITE command execution with iSER:

All iSCSI control-type PDUs contain an iSER header, which allows the initiator to advertise the STags that were generated during buffer registration. The target will use the STags later for RDMA read/write operations.

See also