M.Sc Thesis

M.Sc StudentBishara Nafea'
SubjectExtending the SCSI Transport Layer with Separate Data
and Control Paths for Distributed Storage-
Area-Network Architectures
DepartmentDepartment of Electrical and Computer Engineering
Supervisor ASSOCIATE PROFESSOR Yitzhak Birk


The phenomenal increase in the amount of information gathered or produced by mankind, catalyzed by the Internet, is beyond imagination. The growth in storage systems has given rise to a new architecture for storage systems. Storage systems have become storage networks, with all the devices in a storage network employing a standard block-based I/O protocol known as SCSI (Small computer system interface).  SCSI defines a three-phase protocol with command, data and status stages, where the command and status are referred to as “control messages”.

A key entity in Storage Area Network (SAN) is the storage Controller that acts as the heart of the storage subsystem for storage management, disk virtualization, data routing, data protection and data mirroring. In large-scale Storage Area Networks, the Controller is becoming the performance bottleneck, and it stands as an obstacle in the way of scaling up the bandwidth as well as the storage capacity.

In this research, we propose a novel extension to the SCSI transport layer (SCSI delivery subsystem): splitting the control traffic (Command and Status) and data traffic, such that they can be sent along different paths, without modifying anything in SCSI application layer itself. The Data-Control splitting enhances the Controller’s performance in large-scale storage networks, as the data of the SCSI transactions no longer need to go through Controllers: the Controller handles the control part of the SCSI protocol, while the data goes directly between the storage Initiator and the storage Target. From the network point of view, the data can follow multiple paths in the network, relieving traffic bottlenecks on network links. The proposed SCSI extensions introduced new problems such as aspects of security and data integrity, ordering, RAID implementation and data caching. These problems are addressed in this work.

We proved the correctness and completeness of the proposed extension. We also built a prototype Storage Area Network (SAN) with the actual SCSI extensions; using an Ethernet network and Linux nodes running the iSCSI transport layer protocol.