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.
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)
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)|
|Half-Pitch DB 50 (HPDB 50)|
|Half-Pitch Centronics 50 (HPCN 50)|
|Half-Pitch DB 68 (HPDB 68) External|
|Very High Density Centronics Interface (.8 SCSI or VHDCI 68)|
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.
|Half-Pitch DB 68 (HPDB 68) Internal|
|Single Connection Adaptor 80 (SCA 80, HPCN 80)|
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.
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...
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 Type||Clock Speed||Bus Width||Data Throughput|
|Original SCSI||5 MHz||8 Bits||5 MB/s|
|Wide SCSI||5 MHz||16 Bits||10 MB/s|
|Fast SCSI||10 MHz||8 Bits||10 MB/s|
|Fast Wide SCSI||10 MHz||16 Bits||20 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 Type||Clock Speed||Bus Width||Data Throughput|
|Ultra SCSI||20 MHz||8 Bits||20 MB/s|
|Wide Ultra SCSI||20 MHz||16 Bits||40 MB/s|
|Ultra2 SCSI||40 MHz||8 Bits||40 MB/s|
|Wide Ultra2 SCSI||40 MHz||16 Bits||80 MB/s|
|Ultra3 SCSI (Ultra160)||80 MHz||16 Bits||160 MB/s|
|Ultra3 SCSI||160 MHz||16 Bits||360 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
Q: I have a SCSI device that I want to use, but I don't have a
SCSI card in my computer. What can I do?
A: In some cases, you can connect a SCSI controller to your computer through your USB port. This won't be as fast or stable as running through a SCSI card, but should work well for occasional use.
Q: How do I change the SCSI ID of my device?
A: For external devices, there is typically either a set of dip-switches or a push-button control that lets you set the SCSI ID of the device. Internal devices are set with jumpers on the device itself.
Q: What kind of terminator should I use to end my SCSI chain?
Passive, Active, Differential, or LVD?
A: The real answer is in your documentation, but if you don't have it, heres a few hints. Active terminators can be used in place of Passive terminators, so always use active. Differential hardware (sometimes called HVD) is rare and mostly used for large optical or tape storage systems, as opposed to individual hard disks. If you have a drive with SCA connectors on it, it is almost certainly LVD so you'd need LVD terminators.