Work on the next version of the SCSI standard, called SCSI-3 of course, began
in 1993. At the time, a large number of different technologies, command sets and features
were being considered for SCSI. At the time SCSI-3 work started, the SCSI-2 standard was
eight years old and had not yet been formally released; SCSI-2 was also a much
bigger document than SCSI-1 had been. Considering how much more technology was vying for
inclusion in SCSI-3, and how many different parties would have been involved in defining
it, trying to do everything in one large document as had been done with SCSI-1 and SCSI-2
would have been a bad idea. The standard would have been much too long, would have
required too many people to work on it, and development of hardware would have been held
up during discussions of the standard. Standards that take too long to develop, or that
are too cumbersome, get ignored by impatient companies that start developing their own
proprietary extensions. If this happens, it causes a lot of confusion in the industry.
Recognizing the potential for problems here, the decision was made to make SCSI-3 not
one huge standards document, but rather a collection of different, but related standards.
Splitting up SCSI into these different sub-documents has allowed for a "divide and
conquer" strategy that enables multiple standards to be worked on at once by
different groups. In addition, it lets popular technologies advance at a faster rate than
ones where changes are needed less frequently. Keeping all the standards together under
one "banner" helps to ensure that the commands and other common attributes used
between technologies remain synchronized.
Unfortunately, SCSI-3 tries to bite off a lot; some would say, more than it can chew.
Within this umbrella standard are over a dozen other standards that define command sets,
protocols and signaling methods related to SCSI and "SCSI-like" interfaces such
as IEEE-1394 and Fibre
Channel. Each of these documents has its own standards name and is revised
independently of the others. For example, the most implemented form of SCSI, that which
was formerly known as just "SCSI" in the earlier standards, became the SCSI-3
Parallel Interface (SPI) under SCSI-3. There are now several versions of
SPI, each defining new features and transfer speeds for conventional, parallel SCSI
devices. (In some cases, other organizations are involved in maintaining the documents,
such as the T11 technical committee for Fibre
Channel.) The large number of different technologies that all fall under the name
"SCSI-3" has caused many people to be confused by that term. And since all of
these constituent standards documents are constantly changing, it's unclear when (or even
if) the overall "SCSI-3" standard will be formally approved!
In this section I discuss SCSI-3 in a fair bit of detail. I start by describing the
basic architecture of the standard, and then describe very briefly the various standards
that make up SCSI-3. I then focus most of my attention on several revisions of the SPI
parallel specification, because these are the standards used by PC SCSI hard disks and
other devices.
Note: As this section
will amply demonstrate, saying that a device is "SCSI-3" or "SCSI-3
compatible" can mean anything--which of course is the same as saying it means
nothing. Two devices labeled "SCSI-3" may not even use the same physical
interface or commands! If you ever see a device advertised in this manner, be sure to get
clarification on what is meant: specific details on the interface type and signaling
method.
Note: It seems that
the standards committee is trying to drop the "-3" designation from all of the
SCSI-3 standards documents. The stated reason is that each standard is revised, it gets
its own "dash number" extension. For example, the second SPI parallel
specification is SCSI-3 Parallel Interface - 2. Some people thought the
"-3" in "SCSI-3" would be confused with the dash number at the end of
the document name, so they are dropping it and just calling SCSI-3 "SCSI" within
these documents. Frankly, I wish they wouldn't do this--every time folks in the computer
industry rename documents to "avoid confusion", they create more. 
Next: SCSI-3 Architecture