- 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.
It had its roots in SASI (Shugart Associates Systems Interface)
which was developed by Al Shugart's Shugart Associates in 1979. SASI was
still very limited in terms of ternsfer speed and available command set
when compared to the later SCSI-1 standard.
When Shugart, who was also a pioneer in floppy disk technologie
and later founded Seagate, together with NCR tried to turn SASI into an ANSI
standard in 1981, a comittee was established by ANSI. This body, which turned
into the X3T9.2 technical committee in 1982, changed the name of the interface
to SCSI and worked on several technical aspects of the interface to improve
its performance and the command set. In 1986 ANSI finally aproved SCSI-1
as standard X3.131-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
In 1985, one year before SCSI-1 was finalized, the work on the
SCSI-2 standard started. It was released in 1990 as X3.131-1990, but got withdrawn
again for further changes. It was finally released 4 years later as X3.131-1994.
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, OS/2, Novell NetWare
and Windows NT
- SCSI-3: The "New" Generation
The evolution of SCSI has not stood still with the development
of SCSI-2. The work on the SCSI-3 standard started in 1993 when SCSI-2 was
already 8 years old and still not ratified. While the standards for SCSI-1
and SCSI-2 where released as single documents, SCSI-3 was broken up into many
documents defining different aspects of the standard. This was necessary because
SCSI-3 tried to integrate many new technologies and the already large document
with the SCSI-2 specification would have grown into unmanagable dimensions,
with too many people working on it at the same time. Breaking the document
up into several related sub-documents also allowed the development of the
sub-standards to progress at different speeds as needed and still to retain
a coherent standard.
The SCSI-3 specification is still 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 in the market and some of them have already
seen several generations of SCSI-3 standards, for example SPI (SCSI-3 Parallel
Interface) which has gone from SPI (Ultra) to SPI-4 (Ultra320) and SPI-5
(Ultra640) which is still under development. From the parallel side, "Fast-20
Wide" SCSI, also referred to as "Ultra" SCSI, is 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 new
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.
Later additions to the SCSI-3 architecture are iSCSI which utilizes
ethernet as transport medium and
Inifiniband
which is (was) expected to gradually replace PCI as the interconnect between
processors and 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.
Not all of the technologies that are visible here are under control
of T10.
There is more background information on the FTP server where
the T10 archive
is kept.