Evolution of iSCSI: From Inception to Integration

The full name of iSCSI is Internet Small Computer System Interface, indicating that iSCSI is based on Ethernet SCSI. SCSI stands for Small Computer System Interface, which is a small computer system interface. Many devices use SCSI to interact with computers, such as hard drives, floppy drives, optical drives, printers, scanners, and so on.

1. SCSI Protocol

SCSI was first invented in 1982 and has since evolved with multiple different standards, such as SCSI-1, SCSI-2, and SCSI-3, among others. These standards vary in speed and hardware interface. The image shows different SCSI interfaces.

SCSI is not just an interface but also a complete protocol that enables communication between a computer host and peripheral devices. This allows the computer host to exchange data with these peripheral devices. Typical examples include interacting with hard drives and optical drives.

2. iSCSI Protocol

Using bulky cables for data transmission was not convenient, which led to the development of iSCSI. iSCSI utilizes Ethernet to transmit SCSI commands, making device access much easier due to the convenience of Ethernet connections.

How does Ethernet carry SCSI commands? The principle is simple: SCSI commands are encapsulated into packets and then transmitted via the TCP protocol. The so-called iSCSI protocol can be understood as an application layer protocol, containing various SCSI commands.

As we know, TCP protocol follows a client-server architecture, and likewise, the iSCSI protocol follows a client-server architecture as well. The overall architecture of iSCSI is illustrated in the diagram. iSCSI is typically used to access storage devices, where the storage device acts as the server, and the computing server acts as the client. In the iSCSI context, there are specific terms: client software is often referred to as the initiator, while server software is referred to as the target. Based on the iSCSI protocol, when a host connects to storage, it sees a disk that is no different from a local disk.

Thus, on the host side, one can format the file system based on this disk and store data on the disk. When accessing the disk for reading and writing, the read and write requests are converted into SCSI commands by the initiator and sent to the server. The server parses and processes these commands and returns responses to the initiator.

Since the protocol is based on Ethernet, a very complex network can be formed between the host and storage via switches. This makes access to storage resources very flexible for the host.

3. RDMA-based iSCSI

The iSCSI protocol is already very good, but due to the need for memory copying between user space and kernel space in the Ethernet protocol, it not only consumes CPU resources but also increases IO latency. To further improve the performance of iSCSI, there is RDMA-based iSCSI, known as iSER.

iSER stands for iSCSI Extensions for RDMA, indicating that it is a RDMA-based extension protocol for iSCSI. It primarily utilizes RDMA technology, essentially encapsulating SCSI commands. As illustrated, when writing data on the initiator side, the data is sent directly from the memory of that side to the CPU on the target side for processing, ultimately persisting in the persistent storage of the target. This bypasses processing by the CPU on the initiator side.

Based on the aforementioned technology, the latency of accessing the target from the initiator has been significantly reduced, naturally leading to corresponding performance improvements.

4. Performance Comparison

The earlier discussion set the context for understanding the specific performance improvements. Let’s look at the test data from SNIA. Below are the IO response latency data, showing a significant decrease in latency with iSER.

In terms of bandwidth, there is a significant increase with iSER. Therefore, iSCSI based on RDMA technology currently exhibits a very clear advantage in terms of performance.

This article briefly introduced the development history of iSCSI, starting from SCSI, then moving to iSCSI based on Ethernet, and finally introducing iSCSI based on RDMA technology. Through this article, it is hoped that readers have gained an understanding of iSCSI.

Related:

  1. Who Invented Ethernet? Uncover the Full Story Here
End-of-Yunze-blog

Disclaimer: This article is created by the original author. The content of the article represents their personal opinions. Our reposting is for sharing and discussion purposes only and does not imply our endorsement or agreement. If you have any objections, please contact us through the provided channels.

Leave a Reply