Most home and small-office PCs use an IDE hard drive
and have a PCI
bus for adding components to the computer. But a lot of
computers, particularly high-end workstations and older Apple
Macintoshes, use the Small Computer System Interface
(SCSI) bus to connect components, which may include:
SCSI devices usually connect to a controller
card like this
Basically, SCSI (pronounced "scuzzy") is a fast
communications bus that
allows you to connect multiple devices to your computer. In
this edition of HowStuffWorks,
you'll learn about the structure of SCSI and the various
specifications and types, as well as SCSI IDs and termination.
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, a modified version of SASI that provided a beefier, open
system was ratified by the American National Standards
Institute (ANSI) as SCSI.
There are several benefits of SCSI:
- It's fast -- up to 160 megabytes per second (MBps).
- It's reliable.
- It allows you to put multiple devices on one bus.
- It works on most computer systems.
There are also some potential problems when using SCSI:
- It must be configured for a specific computer.
- It has limited system BIOS
- Its variations (speeds, connectors) can be bewildering.
- There is no common software interface.
Some computers have a built-in SCSI
controller, but most require an SCSI host-adapter
People are often confused by the different types of SCSI.
You'll hear terms such as "Ultra," "Fast" and "Wide" used a
lot, and sometimes in combinations. In the next section,
you'll find out about the SCSI variations.
There are really only three basic
specifications of SCSI:
- SCSI-1: The original specification developed in
- SCSI-2: An update that became an official
standard in 1994, a key component of SCSI-2 was the
inclusion of the Common Command Set (CCS) -- the 18
commands considered an absolute necessity for support of any
SCSI device. You also had the option to double the clock
speed from 5 MHz (million cycles per second) to 10 MHz (Fast
SCSI), double the bus width from 8 bits to 16 bits and
increase the number of devices to 15 (Wide SCSI), or do both
(Fast/Wide SCSI). Finally, SCSI-2 added command
queuing, which means that an SCSI-2 device can store a
series of commands from the host computer and determine
which ones should be given priority.
- SCSI-3: Quickly on the heels of SCSI-2 came
SCSI-3, debuting in 1995. The interesting thing about SCSI-3
is that a series of smaller standards have been built within
its overall scope. Because of this continually evolving
series, SCSI-3 is not considered to be a completely approved
standard. Instead, some of the specifications developed
within it have been officially adopted. These standards are
based on variations of the SCSI Parallel Interface
(SPI), which is the way that SCSI devices communicate with
each other. Most SCSI-3 specifications begin with the term
"Ultra" (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,
with the Fast designation meaning that the clock speed is
double that of the base version, and the Wide designation
meaning that the bus width is double that of the base.
The chart below shows a comparison of the many SCSI
You will notice that the third column shows the number of
devices that can be connected on the SCSI bus. In the next
section, you'll learn more about SCSI devices and their IDs.
There are three components in
any SCSI system:
The controller is the heart of SCSI. It serves as the
interface 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 right into the motherboard.
On the controller is the SCSI BIOS. This is
a small ROM
memory chip that contains the software needed to access
and control the devices on the SCSI bus.
Usually, each device on the SCSI bus has a built-in SCSI
adapter that allows it to interface and communicate with the
SCSI bus. For example, an SCSI hard drive will have a small
circuit board that combines a controller for the drive
mechanism and an adapter for the SCSI bus. Devices with an
adapter built in are called embedded SCSI devices.
Each SCSI device must have a unique identifier (ID).
As you saw in the previous section, an SCSI bus can support
eight or 16 devices, depending on the specification. For an
eight-device bus, the IDs range from zero to 7, and for a
16-device bus, they range from zero to 15. One of the IDs,
typically the highest one, has to be used by the SCSI
controller, which leaves you capable of adding seven or 15
With most SCSI devices, there is a hardware setting to
configure the device ID. Some devices allow you to set the ID
through software, while most Plug and Play
SCSI cards will auto-select an ID based on what's available.
This auto-selection is called SCSI Configured
Automatically (SCAM). It is very important that each
device on an SCSI bus have a unique ID, or you will have
Internal SCSI devices connect to a 50-pin
All of the variations in the SCSI specifications have added
another wrinkle: There are at least seven different SCSI
connectors, some of which may not be compatible with a
particular version of SCSI. The connectors are:
- DB-25 (SCSI-1)
- 50-pin internal ribbon (SCSI-1, SCSI-2, SCSI-3)
- 50-pin Alternative 2 Centronics (SCSI-1)
- 50-pin Alternative 1 high density (SCSI-2)
- 68-pin B-cable high density (SCSI-2)
- 68-pin Alternative 3 (SCSI-3)
- 80-pin Alternative 4 (SCSI-2, SCSI-3)
68-pin Alternative 3 SCSI
50-pin Centronics SCSI
No matter which version of SCSI you are using, or what type
of connector it has, one thing is consistent -- the SCSI bus
has to be terminated.
Termination simply means that
each end of the SCSI bus is closed, using a resistor
circuit. If the bus were left open, electrical signals
sent down the bus could reflect back and interfere with
communication between SCSI devices and the SCSI controller.
Only two terminators are used, one for each end of the SCSI
bus. If there is only one series of devices (internal or
external), then the SCSI controller is one point of
termination and the last device in the series is the other
one. If there are 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 bus
clock speed and have a short distance, less than 3 feet (1 m),
between the devices and the SCSI controller. Active
termination is used for Fast SCSI systems or systems with
devices that are more than 3 ft (1 m) from the SCSI
Some SCSI terminators are built into the SCSI
device, while others may require an external terminator
Another factor in the type of termination is the bus type
itself. SCSI employs three distinct types of bus
signaling. Signal ling is the way that the electrical
impulses are sent across the wires.
- Single-ended (SE) - The most common form of
signaling for PCs, single-ended signaling means that 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
- High-voltage differential (HVD) - The preferred
method of bus signaling 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
- Low-voltage differential (LVD) - A variation on
the HVD signaling method, LVD 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 to LVD 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
SCSI devices inside the
computer (internal) attach to the SCSI controller via a ribbon
cable. The ribbon cable has a single connector at each end and
may have one or more connectors along its length. Each
internal SCSI device has a single SCSI connector.
Internal SCSI devices connect to a ribbon
SCSI devices outside the computer (external) attach to the
SCSI controller using a thick, round cable.
External SCSI devices connect using thick,
You have already read about the different connectors used
on these external cables. The cable itself typically consists
of three layers:
- Inner layer - This is the most protected layer. It
contains the actual data being sent.
- Media layer - The middle layer contains the wires that
send control commands to the device.
- Outer layer - This layer includes the wires that carry
parity information, which ensures that the data is correct.
External devices connect to the SCSI bus in a daisy
chain, which refers to the method of connecting each
device to the next one in line. External SCSI devices
typically have two SCSI connectors -- one is used to connect
to the previous device in the chain, and the other is used to
connect to the next device in the chain.
A good way to think of SCSI is as a tiny local area
network (LAN). The SCSI controller is like the network router, and
each SCSI device is like a computer on the network. The SCSI
adapter built into each device is comparable to the Ethernet
card in a computer. Without the adapter, the device can't
communicate with the rest of the network. And just as the
router in a LAN is used to connect the network to the outside
world, the SCSI controller connects the SCSI network to the
rest of the computer.
For general consumer use, SCSI has not
achieved the same mass appeal as IDE. The
expectation regarding SCSI was that the ability to add a large
number of devices would outweigh the complexity of the
interface. But that was before alternative technologies like
Serial Bus (USB) and FireWire
(IEEE 1394) came into play.
In fact, the only mainstream desktop
computer standardized on SCSI was the Apple Macintosh, and
that was because of a design mistake. The original Mac was a
closed system, which means that there were no expansion slots
or other means to easily add extra components. As the Mac grew
in popularity, users began to clamor for some way to upgrade
their system. Apple decided to add a built-in SCSI controller
with an external SCSI port as a way to enable expansion of the
system. Until recently, virtually every Mac has contained
onboard SCSI. But with the rise of USB and Firewire, Apple has
finally removed SCSI as a standard feature on most of its
Where you commonly see SCSI is on servers and workstation
computers. The main reason for this is RAID.
Redundant array of independent disks (RAID) uses a
series of hard
drives to increase performance, provide fault tolerance or
both. The hard drives are connected together and treated as a
single logical entity. Basically, this means that the computer
sees the series of drives as one big drive, which can be
formatted and partitioned just like a normal drive.
Performance is enhanced because of striping, which
means that more than one hard drive can be writing or reading
information at the same time. The SCSI RAID controller
determines which drive gets which chunk of data and sends the
appropriate data to the appropriate drive. While that drive is
writing the data, the controller sends another chunk of data
to the next drive or reads a chunk of data from another drive.
Simultaneous data transfers allow for faster performance.
Fault tolerance, the ability to maintain data
integrity in the event of a crash or failure, is achieved in a
couple of ways. The first is called mirroring.
Basically, mirroring makes an exact duplicate of the data
stored on one hard drive to a second hard drive. A RAID
controller can be set to automatically send two hard drives
the exact same data. To avoid potential complications, both
drives should be exactly the same size. Mirroring can be an
expensive type of fault tolerance since it requires that you
have twice as much storage space as you have data.
The more popular method of fault tolerance is
parity. Parity requires a minimum of three hard drives,
but will work with several more. What happens is that data is
written sequentially to each drive in the series, except the
last one. The last drive stores a number that represents the
sum of the data on the other drives. For more information on
RAID and fault tolerance, check out this
Digital video is another prime example of the right time to
use SCSI. Because of the demanding storage and speed
requirements of full-motion, uncompressed video, most video
workstations use a SCSI RAID with extremely fast SCSI hard
As you can see, SCSI is probably going to be around for
some time. Whether it's right for you depends on your needs
and applications. Be sure to check out the links on the next
page to learn more about SCSI.