- ISCSI Extensions for RDMA
The iSCSI Extensions for RDMA (iSER) protocol maps the
iSCSI protocol over a network thatprovidesRDMA services (like TCP with RDMA services (iWARP ) orInfiniBand ). This permits data to be transferred directly intoSCSI I/O buffers without intermediate data copies.TheDatamover Architecture (DA) defines an abstract model in which the movement ofdata between iSCSI end nodes is logically separated from the rest of the iSCSI protocol. iSERis one Datamover protocol. The interface between the iSCSI and a Datamover protocol, iSERin our case, is calledDatamover Interface (DI).The motivation for iSER is the problem of out-of-order TCP segments in the traditionaliSCSI model. These segments have to be stored and reassembled before the iSCSI layer canplace the data in the iSCSI buffers. The TCP reassembly may reduce system performancebecause of the needed data copying.iSER's goal is to allow direct data placement and RDMA capabilities. Data is sent betweenthe 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 ofSCSI read/write commands is that with iSER the target drives all data transfer (with theexception 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_Notifyprimitive (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, thetarget calls the Send_Control primitive to send a response to the initiator. An example isshown 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 theinitiator to advertise the STags that were generated during buffer registration. The targetwill use the STags later for RDMA read/write operations.
See also
*
Internet SCSI (iSCSI)External links
* [https://wiki.openfabrics.org/tiki-index.php?page=iSER OpenFabrics Alliance] implements an iSER initiator
* [http://www.voltaire.com/Solutions/Storage/iSERiSCSIRDMA iSER implementation by Voltaire]
* [http://www.rdmaconsortium.org/home/iSER_DA_FAQ.htm iSER and DA Frequently Asked Questions]
* [http://tools.ietf.org/html/rfc5046 iSER specification]
* [http://tools.ietf.org/html/rfc5047 Datamover Architecture]
Wikimedia Foundation. 2010.