A computer is full of busses -- highways that take information and power from one place to another. For example, when you plug an MP3 player or digital camera into your computer, you're probably using a universal serial bus (USB) port. Your USB port is good at carrying the data and electricity required for small electronic devices that do things like create and store pictures and music files. But that bus isn't big enough to support a whole computer, a server or lots of devices simultaneously.
For that, you'd need something more like SCSI. SCSI originally stood for Small Computer System Interface, but it's really outgrown the "small" designation. It's a fast bus that can connect lots of devices to a computer at the same time, including hard drives, scanners, CD-ROM/RW drives, printers and tape drives. Other technologies, like serial-ATA (SATA), have largely replaced it in new systems, but SCSI is still in use. This article will review SCSI basics and give you lots of information on SCSI types and specifications.
SCSI is based on an older, proprietary bus interface called Shugart Associates System Interface (SASI). SASI was originally developed in 1981 by Shugart Associates in conjunction with NCR Corporation. In 1986, the American National Standards Institute (ANSI) ratified SCSI (pronounced "scuzzy"), a modified version of SASI. SCSI uses a controller to send and receive data and power to SCSI-enabled devices, like hard drives and printers.
SCSI has several benefits. It's fairly fast, up to 320 megabytes per second (MBps). It's been around for more than 20 years and it's been thoroughly tested, so it has a reputation for being reliable. Like Serial ATA and FireWire, it lets you put multiple items on one bus. SCSI also works with most computer systems.
However, SCSI also has some potential problems. It has limited system BIOS support, and it has to be configured for each computer. There's also no common SCSI software interface. Finally, all the different SCSI types have different speeds, bus widths and connectors, which can be confusing. When you know the meaning behind "Fast," "Ultra" and "Wide," though, it's pretty easy to understand. We'll look at these SCSI types next.
SCSI has three basic specifications:
- SCSI-1: The original specification developed in 1986, SCSI-1 is now obsolete. It featured a bus width of 8 bits and clock speed of 5 MHz.
- SCSI-2: Adopted in 1994, this specification included the Common Command Set (CCS) -- 18 commands considered an absolute necessity for support of any SCSI device. It also had the option to double the clock speed to 10 MHz (Fast), double the bus width from to 16 bits and increase the number of devices to 15 (Wide), or do both (Fast/Wide). SCSI-2 also added command queuing, allowing devices to store and prioritize commands from the host computer.
- SCSI-3: This specification debuted in 1995 and included a series of smaller standards within its overall scope. A set of standards involving the SCSI Parallel Interface (SPI), which is the way that SCSI devices communicate with each other, has continued to evolve within SCSI-3. Most SCSI-3 specifications begin with the term Ultra, such as Ultra for SPI variations, Ultra2 for SPI-2 variations and Ultra3 for SPI-3 variations. The Fast and Wide designations work just like their SCSI-2 counterparts. SCSI-3 is the standard currently in use.
Different combinations of doubled bus speed, doubled clock speed and SCSI-3 specifications have led to lots of SCSI variations. The chart on this page compares several of them. Many of the slower ones are no longer in use -- we've included them for comparison.
In addition to the increased bus speed, Ultra320 SCSI uses packeted data transfer, increasing its efficiency. Ultra2 was also the last type to have a "narrow," or 8-bit, bus width.
All of these SCSI types are parallel -- bits of data move through the bus simultaneously rather than one at a time. The newest type of SCSI, called Serial Attached SCSI (SAS), uses SCSI commands but transmits data serially. SAS uses a point-to-point serial connection to move data at 3.0 gigabits per second, and each SAS port can support up to 128 devices or expanders.
All the different SCSI varieties use controllers and cables to interface with devices. We'll look at this process next.
Controllers, Devices and Cables
A SCSI controller coordinates between all of the other devices on the SCSI bus and the computer. Also called a host adapter, the controller can be a card that you plug into an available slot or it can be built into the motherboard. The SCSI BIOS is also on the controller. This is a small ROM or Flash memory chip that contains the software needed to access and control the devices on the bus.
Each SCSI device must have a unique identifier (ID) in order for it to work properly. For example, if the bus can support sixteen devices, their IDs, specified through a hardware or software setting, range from zero to 15. The SCSI controller itself must use one of the IDs, typically the highest one, leaving room for 15 other devices on the bus.
Internal devices connect to a SCSI controller with a ribbon cable. External SCSI devices attach to the controller in a daisy chain using a thick, round cable. (Serial Attached SCSI devices use SATA cables.) In a daisy chain, each device connects to the next one in line. For this reason, external SCSI devices typically have two SCSI connectors -- one to connect to the previous device in the chain, and the other to connect to the next device.
The cable itself typically consists of three layers:
- Inner layer: The most protected layer, this contains the actual data being sent.
- Media layer: Contains the wires that send control commands to the device.
- Outer layer: Includes wires that carry parity information, which ensures that the data is correct.
Different SCSI variations use different connectors, which are often incompatible with one another. These connectors usually use 50, 68 or 80 pins. SAS uses smaller, SATA-compatible connectors.
Once all of the devices on the bus are installed and have their own IDs, each end of the bus must be closed. We'll look at how to do this next.
If the SCSI bus were left open, electrical signals sent down the bus could reflect back and interfere with communication between devices and the SCSI controller. The solution is to terminate the bus, closing each end with a resistor circuit. If the bus supports both internal and external devices, then the last device on each series must be terminated.
Types of SCSI termination can be grouped into two main categories: passive and active. Passive termination is typically used for SCSI systems that run at the standard clock speed and have a distance of less than 3 feet (1 m) from the devices to the controller. Active termination is used for Fast SCSI systems or systems with devices that are more than 3 feet (1 m) from the SCSI controller.
SCSI also employs three distinct types of bus signaling, which also affect termination. Signaling is the way that the electrical impulses are sent across the wires.
- Single-ended (SE): The controller generates the signal and pushes it out to all devices on the bus over a single data line. Each device acts as a ground. Consequently, the signal quickly begins to degrade, which limits SE SCSI to a maximum of about 10 ft (3 m). SE signaling is common in PCs.
- High-voltage differential (HVD): Often used for servers, HVD uses a tandem approach to signaling, with a data high line and a data low line. Each device on the SCSI bus has a signal transceiver. When the controller communicates with the device, devices along the bus receive the signal and retransmit it until it reaches the target device. This allows for much greater distances between the controller and the device, up to 80 ft (25 m).
- Low-voltage differential (LVD): LVD is a variation on HVD and works in much the same way. The big difference is that the transceivers are smaller and built into the SCSI adapter of each device. This makes LVD SCSI devices more affordable and allows LVD to use less electricity to communicate. The downside is that the maximum distance is half of HVD -- 40 ft (12 m).
Both HVD and LVD normally use passive terminators, even though the distance between devices and the controller can be much greater than 3 ft (1 m). This is because the transceivers ensure that the signal is strong from one end of the bus to the other.
For more information on SCSI and other busses, check out the links on the following page.
More Great Links
- IDE vs. SCSI http://www.pcmech.com/show/harddrive/79/
- Adaptec: Let's Talk about SCSI http://www.adaptec.com/worldwide/product/markeditorial.html?cat= %2FTechnology%2FSCSI&prodkey=talk_about_scsi&type=Technology
- Ultra320 SCSI: Frequently Asked Questions http://www.scsita.org/aboutscsi/ultra320/faq.html
- Serial Attached SCSI FAQ http://www.seagate.com/products/interface/sas/faq.html
- SCSI http://www.javvin.com/protocolSCSI.html