In my
previous articles in this series, you’ve read about ATA, SATA and SATA-IO (SATA II)
disk drive technologies. Up until very recently, these ATA-based drives were
largely relegated to the desktop and low-end servers. However, with SATA and
SATA-IO, these kinds of devices are starting to make inroads into the
enterprise space, largely dominated by the venerable SCSI (Small Computer
System Interface) standard. SCSI has been around a long time and has made it
through a number of revisions. In this article, I will go over the history of
SCSI and provide details on how this technology works and how it compares to
the various ATA standards.


A disclaimer:

The SCSI
standards world is something of a wreck. It’s a confusing jumble of names,
standards, and non-defined connectors (did you know that none of the SCSI
standards defines what kind of connector should be used?) As such, you can
rarely use the words “always” or “never” when it comes to
SCSI!


For this
article, keep the following points in mind:

  • There
    are only three defined SCSI standards, named SCSI-1, SCSI-2, and SCSI-3.
    The features included in the standard are often optional so manufacturers
    can choose whether or not to implement them.
  • There
    are a whole lot of SCSI interfaces available, including Fast SCSI, Ultra2
    SCSI, and Ultra-320 SCSI, among others. Each of the interfaces is at least
    loosely based on one of the three defined standards.
  • With
    some exceptions, SCSI standards are supposed to be backward compatible,
    but it sometimes takes some work to make this happen.

Tips in your inbox

TechRepublic’s free Storage NetNote newsletter is designed to help you manage the critical data in your enterprise.

Automatically sign up today!

SCSI features

Bus width: In general, each of the SCSI standards performs under one
of two bus widths: 8-bit (narrow/regular) or 16-bit (wide). While older SCSI
implementations provided a choice about the bus width, newer SCSI standards
have largely foregone the narrow option in favor of providing only the wide
version. This is due almost entirely to the fact that new systems simply need
raw throughput and often require support for more devices, which the wide bus
width provides.

Signaling method: The signaling method for SCSI defines exactly how
data is transmitted across the wire. In general, there are three signaling
methods in use with SCSI: SE (Single Ended), HVD (High Voltage Differential),
and LVD (Low Voltage Differential). SE signaling was available starting with
SCSI 1 and allowed for a maximum cable length of 6 meters. Unfortunately for SE
fans, as the SCSI bus speed got faster, the maximum allowable cable length got
shorter and shorter. As of Ultra SCSI, this signaling method has been dropped,
as it is all but useless for today’s high data rates. Like SE, HVD has been
around since the early days. Unlike SE, HVD offers a superior signal and can
continue to use longer cables, even at high data rates. HVD’s major drawbacks
are its serious power requirements, and its need to use two wires for each
signal. Due to these two facts, HVD can be somewhat expensive to implement. In
fact, HVD is not specified for anything beyond Ultra2 SCSI. Enter LVD. LVD
provides a low voltage solution with reasonable cable lengths. New SCSI systems
use LVD. HVD SCSI drives are no longer manufactured.

Command queuing/Tagged command queuing: I mentioned in my last article
that the SATA-IO specification makes possible the ability for Native Command
Queuing, or reordering the commands sent to the disk so that they can be
handled in a more efficient order and result in less disk wear. The SCSI-2
standard introduced this feature to SCSI a long time ago, which is one reason
that SCSI disks have remained the enterprise disk of choice.

Negotiation: This is the method by which SCSI controllers and disks
figure out the others’ maximum speed. This helps to improve backward
compatibility. Newer standards have extended this to include what is called “domain
validation”, which makes sure that the results of the negotiation are
actually achievable

Cyclic Redundancy Check (CRC): An error checking protocol used to
ensure data integrity.

Three SCSI standards

Now, let’s
take a look at the three overall SCSI standards. Take a look at the “Based on”
column in Table
A
. The data in this table represents the defined standards that led to the development of each
listed interface. (Note on table:
An asterisk (*) denotes that these are not hard and fast definitions of the interface and are subject to
change at the whim of a manufacturer. DDR = Double Data Rate.)

Table A

SCSI-3 has
undergone a number of revisions since it was first introduced in 1993. At that
time, the folks developing the standard opted to design SCSI-3 as a collection
of standards rather than as one massive document, thus allowing companies to
pick and choose what to implement. There are too many standards to list in this
article.

Over the
years, the SCSI-3 standard has been extended through the use of documents
called “SCSI Parallel Interface (SPI)”, with SPI1 through SPI4 being
completed and helping to drive SCSI improvements. As an example of what can be
found in these SPI’s:

  • SPI2
    added LVD signaling to the SCSI-3 standard as well as support for a new
    kind of connector.
  • SPI3
    called for the inclusion of a Fast-80 (DDR) data transfer rate by doubling
    the transition clocking on the bus.
  • SPI3
    also specified the Cyclical Redundancy Check, Domain Validation. and more.
  • SPI3
    also removed HVD from the SCSI-3 standard, as well as the specification
    for an early, ill-fated 32-bit bus.

SCSI has
grown over the years, and there is something of a convergence underway between
the ATA and SCSI standards. Enter SAS—Serial Attached SCSI. Like SATA, SAS
takes SCSI from a parallel communications technology to a serial one, but it
does so keeping the “big picture” of SATA in mind. In my next
article, I will provide you with an in-depth look at SAS.