X
Business

Get the nitty gritty about SCSI

Get up to speed on SCSI standards. Scott Lowe provides details on how this technology works and how it compares to the various ATA standards.
Written by ZDNet Staff, Contributor

Up until very recently, 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.

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 previous 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.)

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.

Editorial standards