ISCSI Extensions for RDMA
Encyclopedia
The iSCSI Extensions for RDMA (iSER) is a computer network protocol
that extends the Internet Small Computer System Interface (iSCSI
) protocol to use Remote Direct Memory Access (RDMA). Typically RDMA is provided by either the Transmission Control Protocol
(TCP) with RDMA services (iWARP
) or InfiniBand
.
It permits data to be transferred directly into and out of SCSI
computer memory buffers (which connects computers to storage devices) without intermediate data copies.
The consortium released their proposal in July, 2003.
The protocol specifications were published as drafts in September 2004 in the Internet Engineering Task Force
and issued as RFC
s in October 2007.
The OpenIP Alliance was renamed in 2007 to be the OpenFabrics Alliance
, and then released an open source
software package.
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 this case, is called Datamover Interface (DI).
The main difference between the standard iSCSI and iSCSI over iSER is the execution of
SCSI read/write commands. 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 the figures (time progresses from top to bottom).
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.
Communications protocol
A communications protocol is a system of digital message formats and rules for exchanging those messages in or between computing systems and in telecommunications...
that extends the Internet Small Computer System Interface (iSCSI
ISCSI
In computing, iSCSI , is an abbreviation of Internet Small Computer System Interface, an Internet Protocol -based storage networking standard for linking data storage facilities. By carrying SCSI commands over IP networks, iSCSI is used to facilitate data transfers over intranets and to manage...
) protocol to use Remote Direct Memory Access (RDMA). Typically RDMA is provided by either the Transmission Control Protocol
Transmission Control Protocol
The Transmission Control Protocol is one of the core protocols of the Internet Protocol Suite. TCP is one of the two original components of the suite, complementing the Internet Protocol , and therefore the entire suite is commonly referred to as TCP/IP...
(TCP) with RDMA services (iWARP
IWARP
The Internet Wide Area RDMA Protocol is a computer networking protocol for transferring data efficiently.It is sometimes referred to simply as "RDMA", though RDMA is not a feature exclusive to iWARP.-History:...
) or InfiniBand
InfiniBand
InfiniBand is a switched fabric communications link used in high-performance computing and enterprise data centers. Its features include high throughput, low latency, quality of service and failover, and it is designed to be scalable...
.
It permits data to be transferred directly into and out of SCSI
SCSI
Small Computer System Interface is a set of standards for physically connecting and transferring data between computers and peripheral devices. The SCSI standards define commands, protocols, and electrical and optical interfaces. SCSI is most commonly used for hard disks and tape drives, but it...
computer memory buffers (which connects computers to storage devices) without intermediate data copies.
History
An RDMA consortium was announced on May 31, 2002 with a goal of product implementations by 2003.The consortium released their proposal in July, 2003.
The protocol specifications were published as drafts in September 2004 in the Internet Engineering Task Force
Internet Engineering Task Force
The Internet Engineering Task Force develops and promotes Internet standards, cooperating closely with the W3C and ISO/IEC standards bodies and dealing in particular with standards of the TCP/IP and Internet protocol suite...
and issued as RFC
Request for Comments
In computer network engineering, a Request for Comments is a memorandum published by the Internet Engineering Task Force describing methods, behaviors, research, or innovations applicable to the working of the Internet and Internet-connected systems.Through the Internet Society, engineers and...
s in October 2007.
The OpenIP Alliance was renamed in 2007 to be the OpenFabrics Alliance
OpenFabrics Alliance
The OpenFabrics Alliance is a non-profit organization that evangelizes remote direct memory access switched fabric technologies for server and storage connectivity...
, and then released an open source
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...
software package.
Description
The motivation for iSER is to use RDMA to avoid unnecessary data copying on the target and initiator.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 this case, is called Datamover Interface (DI).
The main difference between the standard iSCSI and iSCSI over iSER is the execution of
SCSI read/write commands. 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 the figures (time progresses from top to bottom).
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.