Understanding SCSI


SCSI-1: Early SCSI

The development of the Small Computer Systems Interface (SCSI) was a major step forward in hardware interfaces for "small computers" (as opposed to mainframes and minicomputers). Interfaces prior to SCSI were not intelligent and were designed for specific devices. Thus there was a hard disk interface for a hard drive, a tape drive interface for a tape drive, and so on. With SCSI, a standard interface was defined for all devices so that only a single adapter was required. The first SCSI standard, referred to as SCSI-1, supported up to seven devices per adapter and was approved in 1986.

A key advantage of SCSI over its competitors has been its ability to process multiple overlapped commands. This overlapped I/O support feature, sometimes referred to as multi-tasking support, allows SCSI drives to fully overlap their read and write operations with other drives in the system. This allows different SCSI drives to be processing commands concurrently rather than serially. The data can then be buffered and transferred over the SCSI bus at very high speeds with other data in the system.

Because it was the first SCSI standard, SCSI-1 had some limitations such as not being as "general-purpose" and fast as it needed to be. As a result, the SCSI-2 standard was developed.

SCSI-2: A Much Improved Standard

SCSI-2 included some significant improvements over SCSI-1 including: improved connectors, faster data transfer speed, availability of a wider data bus path, increased reliability via synchronous negotiation, and parity checking. SCSI-1 allowed asynchronous data transfer rates of 1.5 MB/second and synchronous transfer rates to a maximum of 5 MB/second. In order to improve these rates, SCSI-2 doubles the SCSI bus clock rate from 5MHz to 10MHz which increases the SCSI data transfer rate from 5 MB/second to 10 MB/second. This change was called Fast SCSI-2.

Besides doubling the rate at which data can be transferred over the SCSI bus, SCSI-2 also provides the option to double the bandwidth of the SCSI bus via the use of "Wide" SCSI. The width of the bus is its measure of data lines. By doubling the width of the bus from its standard 8 bits to 16 bits, a Wide SCSI bus can support up to 15 devices and transfer twice as much data in the same amount of time. Of course this also means that the configuration of the connectors and cables must change to be able to handle the added bit streams. Combining Fast SCSI-2 with a 16-bit Wide SCSI bus results in a maximum data transfer rate of 20 MB/second.

Two other features of SCSI-2 also enhanced overall performance. The first, called command queuing, offers the ability to rearrange or reorder the execution of I/O commands so that overlapping is optimized and throughput maximized. The second is called Scatter/Gather. When using virtual memory addressing schemes, system memory may appear contiguous to the user but is actually fragmented into many widely scattered physical address locations. Because of this, it is often necessary when accessing a large amount of contiguous data from a peripheral device, to break up this transfer into many different locations in a system memory. Scatter/Gather is a method of providing multiple host addresses for data transfer in one command packet. This greatly increases performance in environments such as Unix, Novell NetWare, Windows NT, Windows 95 and OS/2.

SCSI-3: The Next Generation

The evolution of SCSI has not stood still with the development of SCSI-2. The SCSI-3 specification is in the process of being ratified because many significant advances in technology have been developed since SCSI-2 was adopted. For the first time, the SCSI specification incorporates serial interconnection schemes in addition to SCSI's traditional parallel interconnect.

Although the SCSI-3 standard has not yet been completely ratified, several SCSI-3 technologies are beginning to appear in the market. From the parallel side, "Fast-20 Wide" SCSI, also referred to as "Ultra" SCSI, may be the technology that SCSI users implement initially. This is because Ultra SCSI-3 is backward compatible with SCSI-2 and SCSI-1 systems and peripherals. Ultra SCSI doubles the Fast SCSI bus clock rate from 10MHz to 20MHz and transfers data over a 16-bit Wide SCSI bus to produce SCSI data transfers rates up to 40MB/second.

From the serial interconnect side, SCSI-3 includes three technologies: Serial Storage Architecture (SSA), Fibre Channel and IEEE P1394. These Serial SCSI technologies offer SCSI users faster data transfer rates, more devices per bus, longer cables, and simplified connectors. Unfortunately, serial SCSI is not backward compatible with SCSI-2 or SCSI-1 devices.

Serial SCSI's impressive data transfer rates make them ideal for disk array applications. Therefore, the serial SCSI architects designed these serial interconnects to support true Hot-Swap without the use of special connectors. Hot-Swap support allows the user to remove and insert new devices without powering down the system.

This table highlights the differences of SCSI-3 parallel and serial offerings:

SCSI vs. Enhanced IDE (EIDE)

With the SCSI interface making such great strides in features, performance and user acceptance, the proponents of the IDE have proposed several enhancements to maintain its viability as an acceptable architecture. The resultant specification is called "Enhanced IDE" (EIDE).

IDE was designed as a low-cost, easy to use interface. Although EIDE has broken the original IDE 528 MB limitation, EIDE transfer rates are still limited to between 9 and 16 MB/s and can only support 4 devices. These devices can only be two hard disk drives, a CD-ROM and a tape drive. Conversely, SCSI is designed for optimum performance and flexibility. Wide Fast SCSI-2 subsystems are capable of transferring data at up to 20 MB/s by utilizing an intelligent SCSI adapter. Disk throughput has always been important in high-end, multi-user systems but until recently has not been an issue with single-user PCs. With the availability of the Windows 95 operating system and the popularity of software using the CD-ROM, the task of keeping up with the data requirements of these applications has become more challenging. Faster SCSI drives coupled with bus mastering SCSI adapters have begun to look more attractive to users of EIDE drives.

Other advantages of SCSI over EIDE include its ability to process multiple overlapped commands, support for command queuing and support for scatter/gather data transfers. These features combine to optimize and maximize throughput. Since EIDE is still tied to the old WD1003 (ST506) interface, overlapped I/O and command queuing functions cannot be executed and only single task operations are possible.

The performance disadvantages of EIDE, although not so apparent under DOS, still severely limit the performance of multi-tasking operating systems such as Windows 95, NetWare, Unix, Windows NT and OS/2. These operating systems benefit significantly from SCSI's ability to perform overlapped I/O and command queuing.

Unlike EIDE, SCSI supports devices connected to your computer externally. With EIDE, all devices that you connect must reside inside the computer box. This can present some obvious configuration and capability limitations. SCSI also offers parity-based error checking to maximize the probability of error-free data transmission. Additionally, the choice of EIDE devices is limited currently to hard disk drives and CD-ROMs, while SCSI devices include hard disk drives, CD-ROMs, WORMs, Optical devices, scanners, tape drives, and many others.

In consideration of SCSI's feature and performance advantages over EIDE, it is the view of industry analysts today that EIDE will continue to be dominant on the low-end, price-sensitive DOS-based PCs, while SCSI will be the peripheral interface of choice for all other platforms, particularly those that are sensitive to performance issues, or any multi-user system.