SCSI Unscrewed

The Small Computer System Interface is an architecture developed to control a wide array of devices from hard disks and CD-ROMs to printers and scanners. The complete story of SCSI is so massive, it's simply not possible to present all the details in an article such as this. In an effort to organize this very abridged manual in a reader-efficient manner, it's been broken into two parts based on the questions the reader would like answered. If you want the answer to "How do I connect my SCSI device to my computer?", start with the basics. If you you already have a basic grasp of SCSI and you're more interested in the 'Why?' and 'When?' of a more complex system, skip down to the 'Advanced' section. If you want to know the complete story of SCSI from the block command set to the properties of the cable construction, buy a book case, and start filling it with these.

The Basics

A computer using SCSI (pronounced "scuzzy") must have a few basic things: A SCSI adaptor / host controller, one or more SCSI devices, appropriate cabling, and terminators. These items represent a SCSI "chain" with each device given a reference number called a "SCSI ID". The host controller typically comes in the form of a card inserted into the computers mainboard, and for basic SCSI the adaptor is usually given the SCSI ID of zero. Each device is then given a unique SCSI ID, cabling is run from the host controller (ID 0) to each device in series, and a terminator is connected to the end of the chain. The maximum number of devices allowed depends on the type of SCSI, but most types support at least 8 devices (7 peripherals and the host controller). A terminator is a series of resistors that tell the host adaptor that there are no devices beyond that point, and also prevent signals from reflecting through the cable. Termination is the bane of all who work with SCSI. If you're having trouble with a SCSI chain, the first thing to check is the termination. (terminators are often built right into the ends of internal cables just so the user won't forget)

Figure 1 - A simple SCSI chain
Click on the image to enlarge

The same system works both internally and externally. In fact, many SCSI cards have two SCSI controllers on them so you can have separate buses for your internal and external devices.

Connectors and Cables

External cables are pretty simple, particularly if you're only hooking up one device. All you have to do is determine what type of connector is on the SCSI card, and what type of connector is on the device, and buy a cable that has those end connectors to match. The table below shows what the different styles of connectors look like. The male connectors are on the left, female on the right.

Centronics 50 (CN 50)
Centronics 50 (CN 50) MaleCentronics 50 (CN 50) Female

DB50 MaleDB50 Female

DB 25
DB 25 MaleDB 25 Female

Half-Pitch DB 50 (HPDB 50)
Half-Pitch DB 50 (HPDB 50) MaleHalf-Pitch DB 50 (HPDB 50) Female

Half-Pitch Centronics 50 (HPCN 50)
Half-Pitch Centronics 50 (HPCN 50) male

Half-Pitch DB 68 (HPDB 68) External
Half-Pitch DB 68 (HPDB 68) External maleHalf-Pitch DB 68 (HPDB 68) External female

Very High Density Centronics Interface (.8 SCSI or VHDCI 68)
Very High Density Centronics Interface (.8 SCSI or VHDCI 68) maleVery High Density Centronics Interface (.8 SCSI or VHDCI 68) female

Internal Cables work similarly, but there are several grades of cable. The grades are backward compatible, so as long as you have the connectors right, you can over-buy and be assured your chain will still work. Fortunately, there are only two styles of internal SCSI connectors for consumer devices, so your chances of getting it right are pretty good. The only time you're likely to see the third type of connecter (SCA) is if you're working on a storage array with hot swappable drives.

IDC 50
IDC 50 MaleIDC 50 Female
Half-Pitch DB 68 (HPDB 68) Internal
Half-Pitch DB 68 (HPDB 68) Internal MaleHalf-Pitch DB 68 (HPDB 68) Internal Female
Single Connection Adaptor 80 (SCA 80, HPCN 80)
Single Connection Adaptor 80 MaleSingle Connection Adaptor 80 Female

Choose Your Adventure

The following section assumes you know more jargon than is presented in the Basic section above, but you don't have to be an engineer to understand it. If you feel you've understood everything up to this point without a hitch, keep reading. If your question wasn't answered in this section, check the Frequently Asked Questions at the bottom of the article.

Advanced SCSI

SCSI is an amazingly robust technology. It uses very little processor time, won't overload the system bus, the components it controls can run very fast, and it can control a great quantity of devices. Why, then, do most home and office computers use a competing technology? First, a bit of history...

History Lesson

If you've been in the nerd world for long enough you'll remember when Macintosh computers ran with SCSI controllers, and most PCs - Called IBMs or "Clones" in those days - ran IDE / ATA (Integrated Disk Electronics / ATtAchment Interface) controllers. At the time, nearly every device for Macs connected through the SCSI interface (hard disks, tape drives, WORM drives, scanners, etc.), and IDE was designed just for hard disks. PC CD-ROMs typically came in multimedia kits that included a sound card with an integrated CD-ROM controller, tape drives connected through the floppy controller, and scanners came with simple SCSI cards. Using SCSI, the Macintosh world avoided all these problems and only required one bus to run all its devices. However, SCSI controllers are expensive, and a new IDE technology called ATAPI was coming out to improve on the pervasive IDE standard. ATAPI (ATtAchment Packet Interface) allowed a host of other devices to be controlled through an IDE bus, and eventually pushed SCSI out of the home / office market. For large data systems, SCSI was still the greatest thing since the Commodore 64.

Types of SCSI

As data processing speeds increase, so do the demands for faster data transfer. The original SCSI spec was an 8-bit parallel bus with a 5 MHz clock, which translates to about 5 MBytes / Sec. This means that you can transfer 8 bits at a time, 5 million times a second. To increase the speed of data transfer, you can increase the width of the bus, increase the clock speed, or both. Devices with these adaptations became known as SCSI-II (2).

SCSI TypeClock SpeedBus WidthData Throughput
Original SCSI5 MHz8 Bits5 MB/s
Wide SCSI5 MHz16 Bits10 MB/s
Fast SCSI10 MHz8 Bits10 MB/s
Fast Wide SCSI10 MHz16 Bits20 MB/s

High Voltage Differential (HVD) was also folded into the SCSI-2 standard to increase the length of a SCSI bus. This uses a separate pin on the cable to ensure accurate transfer. Differential signaling increases the SCSI length limit to an amazing 25 Meters.

Ultra SCSI uses the SCSI-III standard. This basically resets the bar for the SCSI-II variations. Just like SCSI-II, throughput is increased by widening the bus (Wide Ultra SCSI), increasing the clock (Ultra2 SCSI), or both (Wide Ultra2 SCSI). Ultra3 SCSI is simply a further doubling of the clock rate to increase throughput, but is still a SCSI-III device, not a new form of SCSI.

SCSI TypeClock SpeedBus WidthData Throughput
Ultra SCSI20 MHz8 Bits20 MB/s
Wide Ultra SCSI20 MHz16 Bits40 MB/s
Ultra2 SCSI40 MHz8 Bits40 MB/s
Wide Ultra2 SCSI40 MHz16 Bits80 MB/s
Ultra3 SCSI (Ultra160)80 MHz16 Bits160 MB/s
Ultra3 SCSI160 MHz16 Bits360 MB/s

The Speed of SCSI

Why is SCSI so fast? People often dismiss the reason that SCSI is fast, and simply assume that it's faster than whatever technology their currently using. The beauty of the SCSI architecture is its underlying protocol, the SCSI Block Commands (SBC). This is a set of signals that all SCSI devices must be able to understand (the embellishments on this protocol such as Fibre Channel and the IEEE-1394 bus are outside the scope of this article). This system allows a SCSI device to stream data from one device to another with a single command. For example, if you tell a SCSI CD ROM to play a music CD, the SCSI host controller will send an SBC signal to the CD-ROM requesting that it send data to a SCSI device - in this case, the host controller. The CD ROM will then stream data to the host controller, which passes the data on to the system bus (PCI, ISA, NuBUS, etc.). The CD ROM will continue to stream data until it reaches the end of the CD, or another signal is sent from the host controller telling the CD ROM to stop. The CD ROM could just as easily been told to send it's data to a hard disk, bypassing the controller and system bus entirely and saving a lot of bandwidth. In contrast, an ATAPI CD ROM must be asked for every packet of data it sends, and it can only send data to the ATAPI controller. These requests add up to a lot of data being needlessly transmitted on the bus. SCSI's passive control system allows for the devices to be much more autonomous, and faster in many cases.

Cables and Connectors

As we mentioned in the basic section above, there are three predominate types of internal SCSI connectors. IDC 50 (Internal Data Connector, 50 pins), HPDB 68 (Half-Pitch Data Bus, 68 pins), and SCA (Single Connection Adaptor). IDC 50 connectors are typically female on a cable, and male on a device (hard disk, controller card, etc.). HPDB 68 connectors are male on the cables, and female on the device. IDC 50 is used for original SCSI, and some SCSI II variations. HPDB68 is typically used for the SCSI III variations - Ultra SCSI, Ultra2 SCSI, Ultra3 SCSI 160, Ultra3 SCSI 320. These connectors can be converted between each other, but a SCSI chain only runs as fast as its slowest device, so adding an IDC 50 (SCSI I/II) device to a SCSI chain with HPDB 68 connectors (SCSI III), will make all devices on the chain run at SCSI I/II speeds.

SCA connectors (Single Connection Adaptor connectors) are a whole separate beast. They have an 80 pin connection that contains both the pins for SCSI data transfer and the pins to power the device. They're quite useful in high-availability systems where you might want to replace a damaged hard disk while the system is still running. SCA drives are usually enclosed in special trays for mounting the disk. Of course, there are adapters which convert SCA to the more common SCSI connectors.

The Chain Gang

The speed of your SCSI chain does not necessarily reflect the speed of your devices. The fastest that most modern drives can pump out data is 40 Mbps. Why, then, would you need to have a bus that can transfer 320Mbps? An Ultra320 bus can support up to 16 devices. You would have to pull data off of eight of them at full speed to max out the bus. For those of you that were counting, that's over 213 T-1 lines. Stick that in your Denial of Service attack!

To SCSI, and Beyond

There are forms of SCSI newer than the Ultra3 system. They're in a league of their own and don't really belong here, but one thing should be said. SCSI is not just some distant creature only to be tackled when you're out of options. In fact, if you have an IEEE-1394 (A.K.A. FireWire, I-Link) controller in your computer, then you're using SCSI right now. IEEE-1394 uses a subset of the SCSI-III specification to control devices, and IEEE-1394 hubs are actually simplified SCSI host adaptors.

So, it's come full circle. SCSI started out as a great new way for consumers to control all their devices, got labled as a server-only system because of it's features, and now comes standard on every computer and digital video camera on the market.

Frequently Asked Questions