The iSCSI Extensions for RDMA (iSER) is a computer
network protocol
A communication protocol is a system of rules that allows two or more entities of a communications system to transmit information via any kind of variation of a physical quantity. The protocol defines the rules, syntax, semantics and synchroni ...
that extends the Internet Small Computer System Interface (
iSCSI
Internet Small Computer Systems Interface or iSCSI ( ) is an Internet Protocol-based storage networking standard for linking data storage facilities. iSCSI provides block-level access to storage devices by carrying SCSI commands over a TCP/I ...
) protocol to use Remote Direct Memory Access ( RDMA). RDMA is provided by either the
Transmission Control Protocol
The Transmission Control Protocol (TCP) is one of the main protocols of the Internet protocol suite. It originated in the initial network implementation in which it complemented the Internet Protocol (IP). Therefore, the entire suite is common ...
(TCP) with RDMA services (
iWARP
iWARP is a computer networking protocol that implements remote direct memory access (RDMA) for efficient data transfer over Internet Protocol networks. Contrary to some accounts, iWARP is not an acronym.
Because iWARP is layered on Internet E ...
) that uses existing Ethernet setup and therefore no need of huge hardware investment, RoCE (
RDMA over Converged Ethernet
RDMA over Converged Ethernet (RoCE) or InfiniBand over Ethernet (IBoE) is a network protocol that allows remote direct memory access (RDMA) over an Ethernet network. It does this by encapsulating an InfiniBand (IB) transport packet over Ethernet. ...
) that does not need the TCP layer and therefore provides lower latency, or
InfiniBand
InfiniBand (IB) is a computer networking communications standard used in high-performance computing that features very high throughput and very low latency. It is used for data interconnect both among and within computers. InfiniBand is also us ...
.
It permits data to be transferred directly into and out of
SCSI
Small Computer System Interface (SCSI, ) is a set of standards for physically connecting and transferring data between computers and peripheral devices. The SCSI standards define commands, protocols, electrical, optical and logical interface ...
computer memory buffers (which connects computers to storage devices) without intermediate data copies and without much
CPU
A central processing unit (CPU), also called a central processor, main processor or just processor, is the electronic circuitry that executes instructions comprising a computer program. The CPU performs basic arithmetic, logic, controlling, an ...
intervention.
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
The Internet Engineering Task Force (IETF) is a standards organization for the Internet and is responsible for the technical standards that make up the Internet protocol suite (TCP/IP). It has no formal membership roster or requirements and ...
and issued as RFCs in October 2007.
The OpenIB Alliance was renamed in 2007 to be the OpenFabrics Alliance, and then released an
open source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
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.
SCST
SCST is a GPL licensed SCSI target software stack.
The design goals of this software stack are high performance, high reliability, strict conformance to existing SCSI standards, being easy to extend and easy to use. SCST does not only support mul ...
Linux SCSI target software stack
*
SCSI RDMA Protocol In computing the SCSI RDMA Protocol (SRP) is a protocol that allows one computer to access SCSI devices attached to another computer via remote direct memory access (RDMA).iSER and DA Frequently Asked Questions Computer networkingSCSI