Note: This document is a copy of one found at another site. It contained some problems with the HTML code and was also a good introduction to SCSI in all its forms and terms that I downloaded it to my UNCA CSCI account.
By Brad Stamas
Abstract:
The purpose of this article is to provide an introduction and high-level understanding of the Small Computer System Interface or SCSI. This article contains a brief history of SCSI as well as descriptions of the key concepts and terms used in the various SCSI specifications. Also included in this article are a glossary of SCSI terms and references to other documents providing more in-depth description of SCSI or applications of SCSI. This article is in large part a summary of the various SCSI specifications referenced in the sources section.Introduction
History and Evolution
SCSI-1
SCSI-2
SCSI-3
Appendices
Sources
Glossary of Terms
The Small Computer System Interface (SCSI) is an ANSI standard that defines an input/output bus and logical interfaces supporting the bus for interconnecting computers and peripheral devices. The primary objective of SCSI is to provide a device independent mechanism to attach and access devices to host computers. SCSI is designed to provide an efficient peer-to-peer I/O bus that supports multiple devices, including one or more hosts. Thus, through a single SCSI interface different disk drives, tape drives, printers, optical media drives, and other devices can be added to the host computers without requiring modifications to generic system hardware or software.
![]()
SCSI is a local I/O bus that can be operated over a wide range of data rates. The SCSI specification also allows for a number of different physical interconnect configurations. A SCSI bus's geographic reach and speed of data transfer is dependent upon the particular physical configuration chosen. For configurations utilizing parallel copper wire interconnection schemes, the maximum SCSI bus length may be as much as 25 meters or as little as 1.5 meters, while the maximum data transfer rates may range from 5 MBytes/sec up to 80 MBytes/sec. For configurations utilizing a serial optical interconnect scheme, SCSI devices may be separated by as much as 3 kilometers with a maximum data transfer rate of up to 100 MBytes/sec today and potentially more in the future.
SCSI is the predominant high-speed bus technology used to interconnect systems to peripheral devices and to build peripheral subsystems. SCSI interfaces are available on almost all systems that support Unix, NT, or any of their variants. SCSI interfaces are available on systems ranging in size from desktop PC's to multiprocessing supercomputers. Traditionally, SCSI has been used to interconnect devices within a single chassis or to interconnect a few external peripheral devices located nearby a computer. As the amount and importance of data residing on these peripheral devices grew, so did the visibility of, the importance of and the reliance upon SCSI grow. Today, there are mission critical applications running on Unix and NT systems that require access to large amounts of data. It is imperative that the storage devices serving these mission critical applications also support access to large amounts of data with a high level of data availability. It is within this context that SCSI, an interface that has existed for a number of years has become more important to users and vendors of enterprise class storage.
To understand SCSI and where it is going it is necessary to know a little bit about its history. The development of SCSI can be traced back to SASI, the Shugart Associates System Interface. SASI was developed in the late 1970's by Shugart Associates as a 8-bit parallel device-independent peripheral or system bus for use in small and medium sized computers. The SASI interface defined a logical level rather than a device level interface to disk. A logical view allowed the system's view of the disk device to be independent of the physical geometry of the disk device. This logical view allowed various companies to independently develop systems and peripheral devices that could be used together. It also allowed these companies to integrate technology and cost saving advancements rapidly. This concept would prove to be instrumental in the successful development of "open" system platforms in the future.
In 1978, the ANSI group that handles I/O standards began the discussion of standardizing interfaces to small computers. SASI was presented to the ANSI group who initially rejected it in favor of another specification already moving forward within the standards organization. Following the ANSI rejection, system manufacturer NCR worked together with Shugart Associates to improve SASI. In 1982 SASI was again submitted to ANSI which then used it as the foundation for the Small Computer System Interface (SCSI) standard. By 1983, the SCSI specification had matured to the point that NCR began shipping the first SCSI chipset. The original version (also referred to as SCSI-1) was approved by ANSI in 1986. Extensions to the original specification (SCSI-2) were finalized in 1994. An ANSI committee is currently working on SCSI-3. To date, portions of SCSI-3 have already been agreed upon, while others are still under discussion.
The original SCSI, or more appropriately SCSI-1, specification defined a logical interface that worked in consort with a shared 8-bit wide bus that operated at up to 5 MHz. Eight (8) different devices can be attached to one and other on a SCSI-1 physical bus. Devices may be daisy chained together to form a bus or the bus may be implemented as a backplane. In the case of a daisy chain, the devices are cabled together and the bus is terminated at each end (as in Figure 1.). In the case of a backplane implementation, devices are plugged into the backplane or a stub attached to the backplane.
Any two devices on the SCSI bus can communicate by setting up a connection, exchanging control information, and transferring data between one and other. The device that initiates the connection is called the Initiator. The device that is the target of the Initiator's connection is called the Target. The SCSI specification allows any device attached to the bus to support both Initiator and Target functions. It should be noted here that within the context of SCSI the term "device" is used to describe anything, host system or peripheral system, that attaches to the SCSI bus. In practice, however, it is generally the host system interfaces that initiate communications over the bus while peripherals (disk, tape, etc.) are generally the targets of these communications. As peripheral-to-peripheral communication is, for the most part, a non-exploited capability, the terms Initiator and Target are used synonymously to refer to a host system interface and a peripheral system interface respectively.
Individual devices on a SCSI bus are distinguished from one and other through a unique SCSI identification number or SCSI ID. SCSI ID's are mapped to assigned ID bits. As the SCSI-1 bus is only 8 bits wide, a maximum of 8 devices can be addressed on the bus (ID 0 through ID 7). To alleviate these addressing constraints somewhat, SCSI allows each Target to be sub-divided in to Logical Units (LUN). The maximum number of logical units per Target is 8 (LUN 0 through LUN 8). Dividing a target into logical units is useful if the target is a controller supporting multiple sub-units (certain RAID subsystems for example) or if the target also supports a separate control or management interface. In practice most SCSI-1 tape and a large number of disk devices support only a single LUN (LUN 0).
The bus described in the original SCSI specification operated at up to 5 MHz. That is to also say that there were 5 million data transfer periods or cycles per second. Some documents use the term "megatransfers" to describe the cycle rate of the bus. As the original SCSI bus was 8-bits (1 Byte) wide, the bus could transfer data at 5 MByte/sec. The 5 MByte/second rate is a computed rate(1 Byte per period x 5 million transfers periods per second). While this data transfer rate was theoretically achievable, the throughput rate of devices on a SCSI-1 bus never approached this limit for a number of reasons. These reasons include: 1) The specification allows transfer rates below 5 MHz and the rate used is defined by the slower of the two communication devices; 2) SCSI allows data to be transferred in an interlocked (asynchronous) fashion that results in a much reduced throughput; 3) Data is not transferred during the periods required to set up a connection and pass both command and status between two devices so the achieved aggregate throughput is less than the computed data transfer rate; and 4) Most devices and host interfaces implementing SCSI-1 initially could not sustain data transfer rates of 5 MBytes/sec.
The SCSI standard supports two electrical interface configurations: "single-ended" and "differential". Basically, a single ended interface is designed to use fewer wires to support a SCSI bus than a differential interface. Fewer wires allowed for smaller connectors, less complex driver/receiver design, and less cost. While these characteristics restricted the placement of devices and the total length of a single-ended bus to a maximum of 6 meters, they also supported low cost, integrated interface designs. Single-ended interfaces, therefore, are generally used when SCSI is implemented within a single cabinet. Differential interfaces are more expensive than single-ended interfaces as they are designed to span distances up to 25 meters. Differential interfaces are generally used as the external connection between a host and a peripheral subsystem. A single ended interface or bus can not be connected to a differential interface or bus without the use of a special converter.
SCSI-2 was developed in order to address SCSI-1 problem areas, extend the functionality of SCSI, and to keep pace with technology changes. Major goals of SCSI-2 included the following: increase performance, improve compatibility, increase the number of addressable devices, and improve functionality. These goals were achieved in part by expanding the bus width, increasing the bus data transfer rate, adding/organizing commands, and defining compatibility requirements.
SCSI-2 increased the maximum data transfer cycle rate to 10 MHz or 10 million transfers per second. A bus that operated from 5 MHz to 10 MHz is said to be "Fast". In order to accommodate the faster data transfer cycle rate, the maximum single-ended bus length was reduced to 3 meters. There was, however, no need to reduce the 25 meter maximum length of a differential bus to accommodate Fast.
The SCSI-2 specification also allowed the bus to be widened from 8-bits (1-byte) to 16 bits (two-byte) or 32 bits (four-byte) wide. Although the specification allows a 32 bit wide bus, for various reasons, mostly only 16 bit wide buses have been implemented to date. As a result, the term "Wide" is used to refer to a 16 bit (2 byte) wide bus. It should also be noted here that while not explicitly defined, the term Narrow is sometimes used to refer to an 8 bit wide bus and to differentiate between an 8 bit and 16 bit wide bus. Widening the bus allowed for increased addressing and data transfer rates. Up to 16 devices can be addressed on a Wide bus. Data transfer rates on a Wide bus are twice that of the equivalent 8 bit wide bus.
Given the added attributes of Fast and Wide, there are now Fast SCSI, Wide SCSI, and Fast Wide SCSI. A Fast SCSI bus is 8 bits in width, can support 8 devices, and has a maximum data transfer rate of 10 MBytes/sec.(8 bits or 1 Byte x 10 million data transfer cycles per second). A Wide SCSI bus is 16 bits in width, can support 16 devices, and has a maximum data transfer rate of 10 MBytes/sec. (16 bits or 2 Bytes x 5 million data transfer cycles per second). A Fast Wide SCSI bus is 16 bits in width, can support 16 devices, and has a maximum data transfer rate of 20 MBytes/sec. (16 bits or 2 Bytes x 10 million data transfer cycles per second). As with SCSI-1, the realizable throughput rates of devices attached to the bus will be less than maximum data transfer rate. This is again due to overhead attributed to setting up and managing bus communications as well as limits on device speeds. It should, however, be noted that a larger number of devices implementing SCSI-2 also support buffered operations which allow the actual data transfer portion to operate at near Fast or Fast Wide rates.

Along with the increased number of bus types, SCSI-2 also defined mechanisms to maintain compatibility between SCSI-2 and SCSI-1. Compatibility is assured through protocol definitions and cabling specifications. SCSI-2 is upward compatible. Devices supporting SCSI-2 and SCSI-1 can be intermixed on the same bus and will use the common minimum attributes to communicate. That is SCSI-2 devices will communicate with SCSI-1 devices as if they are SCSI-1 devices (speeds, protocols, addressing, interface lines with SCSI-1 restrictions applying) and Fast Wide SCSI devices will communicate with Fast SCSI devices as if they are Fast SCSI.
SCSI-3 was started for the same reasons as SCSI-2: to address problem areas, extend the functionality of SCSI, and to keep pace with technology changes. As with SCSI-2, increasing performance and addressing were key goals of SCSI-3. To accommodate higher performance and greater addressing requirements, the support of serial interfaces (1394, Fibre Channel, and Serial Storage Architecture) and faster parallel interfaces would need to be defined. Resolution of these and other of complex issues along with the ability to support multiple serial interfaces required significant protocol changes. As the SCSI-2 document was already very large, it was proposed that the large SCSI-2 document be broken down into smaller pieces to form SCSI-3. Various layers of SCSI from the logical command interface through the various physical interfaces and the protocols supporting them are now defined by separate but related specifications. Whereas the SCSI-1 and SCSI-2 specifications defined everything from the logical command interface down to the physical interconnect, SCSI-3 became more of an architecture encompassing various specifications. The major components of SCSI-3 are illustrated in the following diagram:

Some key points to note about SCSI-3 are that it segments SCSI into layers with the logical interfaces defined at the top and the physical interfaces at the bottom. This layering allows the command sets supported by different device types (disk, tape, printer, medium changer, etc.) to be further defined and it defines common access semantics to be used by the top layer. These definitions preserve the logical view allowing a system's view of the device to be independent of the physical geometry and interface established in SCSI-1. In fact, many applications that interface to SCSI-2 will, without change, be able to interface to systems and peripherals that implement components of SCSI-3 architecture.
Below the layers describing common access and commands are the various protocols used to support the physical interfaces. SCSI-3 supports multiple types of physical interfaces each having its own addressing, interconnect, and communication characteristics. The multiple interface types exist in part to address differing connectivity requirements (addressing, speed, length, expense) and in part to support various manufacturer investments and preferences. Interface types can be categorized as being either serial or parallel.
In serial interfaces, data and control bits are communicated sequentially, instead of in parallel, on a single wire or fiber optic. SCSI-3 currently supports 3 serial interfaces: 1394 (also known as FireWire), Fibre Channel, and Serial Storage Architecture (SSA). Although it is beyond the scope of this paper to provide a thorough comparison of these three serial alternatives, it should be noted that the serial interfaces, when compared to SCSI-2, address at least two of the following: reduced manufacturing cost, smaller footprint on the interface, enhanced interconnect options (point-to-point, switched, fabric, torus ring), increased data transfer rates, longer interconnect (more than 1 kilometer with Fibre Channel optical interfaces), and more reliable connection technology. Regardless of the differences, the basic function of each of the serial interfaces is to allow SCSI commands, data, and status to be exchanged between interconnected devices.
SCSI-3 also continues to accommodate parallel copper interfaces. Advances in driver and receiver technology have allowed data transfer cycles per second to be increased to 20 MHz (Ultra) and again up to 40 MHz. (Ultra2). As with Fast, Ultra and Ultra2 are supported in either 8 bit (Ultra SCSI, Ultra2 SCSI) or 16 bit (Wide Ultra SCSI, Wide Ultra2 SCSI) definitions. The maximum number of addressable devices remains controlled by the bus width at 8 devices for the 8 bit wide bus definitions (Ultra SCSI and Ultra2 SCSI) and at 16 devices for the 16 bit wide bus definitions (Wide Ultra SCSI and Wide Ultra2 SCSI). The maximum data transfer rates for Ultra SCSI, Wide Ultra SCSI, Ultra2 SCSI, and Wide Ultra2 SCSI are 20 MBytes/sec, 40 MBytes/sec, 40 MBytes/sec, and 80 MBytes per second respectively.
Increases in the data transfer rate have come at the expense of a reduction in cable length. Ultra is limited to 3 meters in single-ended configurations and 25 meters in differential. At the 40 MHz data transfer cycle rate of Ultra2, single-ended and differential are not defined. To support Ultra2, a new transceiver technology, Low Voltage Differential (LVD), was developed which combines favorable aspects of both single-ended and differential. LVD supports Ultra2 rates at distances up to 12 meters. LVD also supports all the other Fast, Wide, or Ultra SCSI variants at distances up to 12 meters
SCSI originated as a standard means to support device independent, reliable, high-speed data transfer between any two devices interconnected on a shared bus. SCSI has evolved from a monolithic specification into a layered architecture that exploits multiple physical interface technologies and supporting protocols. As communications and computing technologies have advanced, the original SCSI specification has been updated to accommodate enhancements in function and performance. At the same time SCSI is being applied to serial interface technologies that promise enhanced connectivity and performance, parallel interface technologies are being improved to increase data transfer rates. While the support of multiple physical interface types has increased the complexity of SCSI, it also allows SCSI to be the applied in a wide variety of situations. Today, SCSI is one of the most common high-speed communications interfaces implemented. SCSI interfaces of one type or another are supported by most every computer manufacturer in the world. The scalability of SCSI has supported its growth in the past as it will support its growth and continued popularity in the future.
|
|
Bus Width (bits) |
Maximum data transfer rate (MBytes/sec) |
|
SCSI-1 |
8 |
5 |
|
Fast SCSI |
8 |
10 |
|
Wide SCSI |
16 |
10 |
|
Fast Wide SCSI |
16 |
20 |
|
Ultra SCSI |
8 |
20 |
|
Wide Ultra SCSI |
16 |
40 |
|
Ultra2 SCSI |
8 |
40 |
|
Wide Ultra2 SCSI |
16 |
80 |
|
|
Single ended (meters) |
Differential (meters) |
LVD (meters) |
Number of Nodes |
|
SCSI-1 |
6 |
25 |
12 |
8 |
|
Fast SCSI |
3 |
25 |
12 |
8 |
|
Fast Wide SCSI |
3 |
25 |
12 |
16 |
|
Ultra SCSI |
1.5 |
25 |
12 |
8 |
|
Wide Ultra SCSI |
- |
25 |
12 |
16 |
|
Wide Ultra SCSI |
1.5 or 3 |
- |
- |
8 or 4 |
|
Ultra2 SCSI |
not defined |
not defined |
12 |
8 |
|
Wide Ultra2 SCSI |
not defined |
not defined |
12 |
16 |
|
|
Data Transfer Rate (MBytes/sec) |
Number of Nodes |
Bus Length (meters) |
|
SCSI-1 |
5 |
8 |
25 |
|
Fast SCSI |
10 |
8 |
25 |
|
Wide Fast |
20 |
16 |
25 |
|
Ultra SCSI |
20 |
8 |
12 |
|
Wide Ultra SCSI |
40 |
18 |
12 |
|
P1394 |
12.5 |
63 |
248 |
|
SSA |
40 - 80 |
127 |
600 |
|
Fibre Channel |
100 |
128 |
>1000 |
This Glossary defines terms used in the context of the Small Computer System Interface or SCSI.