Unlike the proprietary interfaces mentioned in the previous
section, some interfaces were more widely adopted, and turned into
industry standards. Two interfaces in particular have made this
transition and are at the heart of today's storage industry:
IDE stands for Integrated Drive Electronics. This interface
originated in the late 80s, and uses a 40-pin connector.
Actually, the proper name for this interface is the "AT
Attachment" interface (or ATA), but use of the term "IDE" (which
actually refers to an ATA-compatible mass storage device) is still
used to some extent. However, the remainder of this section uses
the interface's proper name — ATA.
ATA implements a bus topology, with each bus supporting two mass
storage devices. These two devices are known as the master and the slave.
These terms are misleading, as it implies some sort of relationship
between the devices; that is not the case. The selection of which
device is the master and which is the slave is normally selected
through the use of jumper blocks on each device.
A more recent innovation is the introduction of cable select capabilities to ATA. This innovation
requires the use of a special cable, an ATA controller, and mass
storage devices that support cable select (normally through a
"cable select" jumper setting). When properly configured, cable
select eliminates the need to change jumpers when moving devices;
instead, the device's position on the ATA cable denotes whether it
is master or slave.
A variation of this interface illustrates the unique ways in
which technologies can be mixed and also introduces our next
industry-standard interface. ATAPI is a
variation of the ATA interface and stands for AT Attachment Packet
Interface. Used primarily by CD-ROM drives, ATAPI adheres to the
electrical and mechanical aspects of the ATA interface but uses the
communication protocol from the next interface discussed —
Formally known as the Small Computer System Interface, SCSI as
it is known today originated in the early 80s and was declared a
standard in 1986. Like ATA, SCSI makes use of a bus topology.
However, there the similarities end.
Using a bus topology means that every device on the bus must be
uniquely identified somehow. While ATA supports only two different
devices for each bus and gives each one a specific name, SCSI does
this by assigning each device on a SCSI bus a unique numeric
address or SCSI ID. Each device on a SCSI
bus must be configured (usually by jumpers or switches) to respond to its SCSI ID.
Before continuing any further in this discussion, it is
important to note that the SCSI standard does not represent a
single interface, but a family of interfaces. There are several
areas in which SCSI varies:
The original SCSI standard described a bus topology in which
eight lines in the bus were used for data transfer. This meant that
the first SCSI devices could transfer data one byte at a time. In
later years, the standard was expanded to permit implementations
where sixteen lines could be used, doubling the amount of data that
devices could transfer. The original "8-bit" SCSI implementations
were then referred to as narrow SCSI,
while the newer 16-bit implementations were known as wide SCSI.
Originally, the bus speed for SCSI was set to 5MHz, permitting a
5MB/second transfer rate on the original 8-bit SCSI bus. However,
subsequent revisions to the standard doubled that speed to 10MHz,
resulting in 10MB/second for narrow SCSI and 20MB/second for wide
SCSI. As with the bus width, the changes in bus speed received new
names, with the 10MHz bus speed being termed fast. Subsequent enhancements pushed bus speeds to
ultra (20MHz), fast-40 (40MHz), and fast-80. Further
increases in transfer rates lead to several different versions of
the ultra160 bus speed.
By combining these terms, various SCSI configurations can be
concisely named. For example, "ultra-wide SCSI" refers to a 16-bit
SCSI bus running at 20MHz.
The original SCSI standard used single-ended signaling; this is an electrical
configuration where only one conductor is used to pass an
electrical signal. Later implementations also permitted the use of
differential signaling, where two
conductors are used to pass a signal. Differential SCSI (which was
later renamed to high voltage differential
or HVD SCSI) had the benefit of reduced sensitivity to electrical
noise and allowed longer cable lengths, but it never became popular
in the mainstream computer market. A later implementation, known as
low voltage differential (LVD), has
finally broken through to the mainstream and is a requirement for
the higher bus speeds.
The width of a SCSI bus not only dictates the amount of data
that can be transferred with each clock cycle, but it also
determines how many devices can be connected to a bus. Regular SCSI
supports 8 uniquely-addressed devices, while wide SCSI supports 16.
In either case, you must make sure that all devices are set to use
a unique SCSI ID. Two devices sharing a single ID causes problems
that could lead to data corruption.
One other thing to keep in mind is that every device on the bus uses an ID. This includes the SCSI controller. Quite often
system administrators forget this and unwittingly set a device to
use the same SCSI ID as the bus's controller. This also means that,
in practice, only 7 (or 15, for wide SCSI) devices may be present
on a single bus, as each bus must reserve an ID for the
Most SCSI implementations include some means of scanning the
SCSI bus; this is often used to confirm that all the devices are
properly configured. If a bus scan returns the same device for
every single SCSI ID, that device has been incorrectly set to the
same SCSI ID as the SCSI controller. To resolve the problem,
reconfigure the device to use a different (and unique) SCSI ID.
Because of SCSI's bus-oriented architecture, it is necessary to
properly terminate both ends of the bus.
Termination is accomplished by placing a load of the correct
electrical impedance on each conductor comprising the SCSI bus.
Termination is an electrical requirement; without it, the various
signals present on the bus would be reflected off the ends of the
bus, garbling all communication.
Many (but not all) SCSI devices come with internal terminators
that can be enabled or disabled using jumpers or switches. External
terminators are also available.
One last thing to keep in mind about SCSI — it is not just
an interface standard for mass storage devices. Many other devices
(such as scanners, printers, and communications devices) use SCSI.
Although these are much less common than SCSI mass storage devices,
they do exist. However, it is likely that, with the advent of USB
and IEEE-1394 (often called Firewire), these interfaces will be
used more for these types of devices in the future.
The USB and IEEE-1394 interfaces are also starting to make
inroads in the mass storage arena; however, no native USB or
IEEE-1394 mass-storage devices currently exist. Instead, the
present-day offerings are based on ATA or SCSI devices with
external conversion circuitry.
No matter what interface a mass storage device uses, the inner
workings of the device has a bearing on its performance. The
following section explores this important subject.