ANSI SCSI Standards

The SCSI standard defines the physical and electrical parameters of a parallel I/O bus used to connect computers and peripheral devices in daisy-chain fashion. The standard supports devices such as disk drives, tape drives, and CD-ROM drives.

The original SCSI standard (ANSI X3.131-1986) was approved in 1986, SCSI-2 was approved in January 1994, and the first portions of SCSI-3 were approved in 1995. Note that SCSI-3 has evolved into an enormous standard with numerous sections and is an evolving, growing standard still very much under development.

Because it has been broken down into multiple standards, there really is no single SCSI-3 standard. The SCSI interface is defined as a standard by ANSI (the American National Standards Institute), specifically by a committee currently known as T10.

T10 is a technical committee of the InterNational Committee on Information Technology Standards (INCITS, pronounced "insights"). INCITS is accredited by ANSI and operates under rules approved by ANSI. These rules are designed to ensure that voluntary standards are developed by the consensus of industry groups.

INCITS develops information-processing system standards, whereas ANSI approves the processes under which they are developed and publishes them. Working draft copies of all SCSI-related standards can be downloaded from the T10 Technical Committee.

One problem with the original SCSI-1 document was that many of the commands and features were optional, and there was little or no guarantee that a particular peripheral would support the expected commands.

This problem caused the industry as a whole to define a set of 18 basic SCSI commands called the Common Command Set (CCS) to become the minimum set of commands supported by all peripherals. CCS became the basis for what is now the SCSI-2 specification.

Along with formal support for CCS, SCSI-2 provided additional definitions for commands to access CD-ROM drives (and their sound capabilities), tape drives, removable drives, optical drives, and several other peripherals. In addition, an optional higher-speed version called Fast SCSI-2 and a 16-bit version called Wide SCSI-2 were defined.

Another feature of SCSI-2 is command queuing, which enables a device to accept multiple commands and execute them in the order that the device deems to be most efficient. This feature is most beneficial when you are using a multitasking operating system that could be sending several requests on the SCSI bus at the same time.

The X3T9 group approved the SCSI-2 standard as X3.131-1990 in August 1990, but the document was recalled in December 1990 for changes before final ANSI publication. Final approval for the SCSI-2 document was made in January 1994, although it changed little from the original 1990 release.

The SCSI-2 document is now called ANSI X3.131-1994. The official document is available from Global Engineering Documents and the ANSI committee—both are listed in the Vendor List on the DVD. You can also download working drafts of these documents from the T10 Technical Committee home page, as listed previously.

Most companies indicate that their host adapters follow both the ANSI X3.131-1986 (SCSI-1) and the X3.131-1994 (SCSI-2) standards. Note that because virtually all parts of SCSI-1 are supported in SCSI-2, most SCSI-1 devices are also considered SCSI-2 by default.

Many manufacturers advertise that their devices are SCSI-2, but this does not mean they support any of the additional optional features that were incorporated in the SCSI-2 revision. For example, an optional part of the SCSI-2 specification includes a fast synchronous mode that doubles the standard synchronous transfer rate from 5MBps to 10MBps.

This Fast SCSI transfer mode can be combined with 16-bit Wide SCSI for transfer rates of up to 20MBps. An optional 32-bit version was defined in SCSI-2, but component manufacturers have shunned this as too expensive. In essence, 32-bit SCSI was a stillborn specification, as it was withdrawn from the SCSI-3 standard.

Most SCSI implementations are 8-bit standard SCSI or 16-bit Fast/Wide SCSI. Even devices that support none of the Fast or Wide modes can still be considered SCSI-2. SCSI-3 is broken down into a number of standards.

The SCSI Parallel Interface (SPI) standard controls the parallel interconnection between SCSI devices, which is mostly what we are talking about here. So far, several versions of SPI have existed, including SPI, SPI-2, and SPI-3.

Versions through SPI-3 have been published, whereas SPI-4 and SPI-5 are still in draft form. What can be confusing is that several terms can be used to describe the newer SPI standards, as shown in Table below.

SCSI-3 Standard

Also Known As

Speed

Throughput

SPI

Ultra SCSI

Fast-20

20/40MBps

SPI-2

Ultra2 SCSI

Fast-40

40/80MBps

SPI-3

Ultra3 SCSI

Fast-80DT

160MBps

SPI-4

Ultra4 SCSI

Fast-160DT

320MBps

SPI-5

Ultra5 SCSI

Fast-320DT

640MBps

To add to the confusion, SPI-3 or Ultra3 SCSI is also called Ultra160 or Ultra160+, and SPI-4 or Ultra4 SCSI is also called Ultra320 by some companies. The Ultra160 designation refers to any device that includes the first three of the five main features from the Ultra3 SCSI specification.

Ultra160+ refers to any device that supports all five main features of Ultra3 SCSI. Ultra320 includes all the features of Ultra160+, as well as several additional features. SCSI is both forward and backward compatible, meaning one can run faster devices on buses with slower host adapters or vice versa.

In each case, the entire bus runs at the lowest common-denominator speed. Thus, although you can mix and match different speeds of devices on the same bus, you should place fast devices on a separate SCSI adapter (or connector, if you use dual-bus adapters) from slower devices.

In fact, as was stated earlier, virtually any SCSI-1 device can also legitimately be called SCSI-2 (or even SCSI-3) because most of the improvements in the later versions are optional. Of course, you can't take advantage of the faster modes on an older, slower host adapter.

By the same token, you can purchase an Ultra3-capable SCSI host adapter and still run older standard SCSI devices. You can even mix standard 8-bit and wide 16-bit devices on the same bus using cable adapters.