This chapter describes the hard disk interface, from the
drives to the cables and controllers that run them. You learn
about the various disk interfaces you can select, and the
shortcomings and strengths of each type.
Interfaces Choices
A variety of hard disk interfaces are available today. As
time has passed, the number of choices has increased, and many
of the older designs are no longer viable in newer systems.
You need to know about all these interfaces, from the oldest
to the newest designs, because you will encounter all of them
whenever upgrading or repairing systems is necessary.
The interfaces have different cabling and configuration
options, and the setup and format of drives will vary as well.
Special problems may arise when you are trying to install more
than one drive of a particular interface type or (especially)
when you are mixing drives of different interface types in one
system.
This section covers the different hard disk drive
interfaces, giving you all the technical information you need
to deal with them in any way--troubleshooting, servicing,
upgrading, and even mixing the different types.
This section also examines the standard controllers and
describes how you can work with these controllers, as well as
replace them with much faster units. Also discussed are the
different types of drive interfaces: ST-506/412, ESDI, IDE,
and SCSI. Choosing the proper interface is important, because
your choice also affects your disk drive purchase and the
ultimate speed of the disk subsystem.
The primary job of the hard disk controller or interface is
to transmit and receive data to and from the drive. The
different interface types limit how fast data can be moved
from the drive to the system and offer different levels of
performance. If you are putting together a system in which
performance is a primary concern, you need to know how these
different interfaces affect performance and what you can
expect from them. Many of the statistics that appear in
technical literature are not indicative of the real
performance figures that you will see in practice. I will
separate the myths presented by some of these over-optimistic
figures from the reality of what you will actually see.
With regard to disk drives, and especially hard disk
drives, the specification on which people seem to focus the
most is the drive's reported average seek time,
the (average) time it takes for the heads to be positioned
from one track to another. Unfortunately, the importance of
this specification often is overstated, especially in relation
to other specifications, such as the data transfer rate.
The transfer rate of data between the drive and the system
is more important than access time, because most drives spend
more time reading and writing information than they do simply
moving the heads around. The speed at which a program or data
file is loaded or read is affected most by the data transfer
rate. Specialized operations such as sorting large files,
which involve a lot of random access to individual records of
the file (and, therefore, many seek operations), are helped
greatly by a faster-seeking disk drive, so seeking performance
is important in these cases. Most normal file load and save
operations, however, are affected most by the rate at which
data can be read and written to and from the drive. The data
transfer rate depends on both the drive and the interface.
Several types of hard disk interfaces have been used in PC
systems over the years:
Of these interfaces, only ST-506/412 and ESDI are what you
could call true disk- controller-to-drive interfaces. SCSI and
IDE are system-level interfaces that usually incorporate a
chipset-based variation of one of the other two types of disk
controller interfaces internally. For example, most SCSI and
IDE drives incorporate the same basic controller circuitry
used in separate ESDI controllers. The SCSI interface adds
another layer of interface that attaches the controller to the
system bus, whereas IDE is a direct bus- attachment
interface.
In data recovery, it helps to know the disk interface you
are working with, because many data-recovery problems involve
drive setup and installation problems. Each interface requires
a slightly different method of installation and drive
configuration. If the installation or configuration is
incorrect or accidentally altered by the system user, it may
prevent access to data on a drive. Accordingly, anyone who
wants to become proficient in data recovery must be an expert
on installing and configuring various types of hard disks and
controllers.
IBM's reliance on industry-standard interfaces such as
those listed here was a boon for everybody in the
IBM-compatible industry. These standards allow a great deal of
cross-system and cross-manufacturer compatibility. The use of
these industry-standard interfaces allows you to pick up a
mail-order catalog, purchase a hard disk for the lowest
possible price, and be assured that it will work with your
system. This Plug-and-Play capability results in affordable
hard disk storage and a variety of options in capacities and
speed.
The ST-506/412 Interface
The ST-506/412 interface was developed by Seagate
Technologies around 1980. The interface originally appeared in
the Seagate ST-506 drive, which was a 5M formatted (or 6M
unformatted) drive in a full-height, 5 1/4-inch form factor.
By today's standards, this drive is a tank! In 1981, Seagate
introduced the ST-412 drive, which added a feature called
buffered seek to the interface. This drive was a 10M
formatted (12M unformatted) drive that also qualifies as a
tank by today's standards. Besides the Seagate ST-412, IBM
also used the Miniscribe 1012 as well the International
Memories, Inc. (IMI) model 5012 drive in the XT. IMI and
Miniscribe are long gone, but Seagate remains as one of the
largest drive manufacturers. Since the original XT, Seagate
has supplied drives for numerous systems made by many
different manufacturers.
Most drive manufacturers that made hard disks for PC
systems adopted the Seagate ST-506/412 standard, a situation
that helped make this interface popular. One important feature
is the interface's Plug-and-Play design. No custom cables or
special modifications are needed for the drives, which means
that virtually any ST-506/412 drive will work with any
ST-506/412 controller. The only real compatibility issue with
this interface is the level of BIOS support provided by the
system.
When introduced to the PC industry by IBM in 1983, ROM BIOS
support for this hard disk interface was provided by a BIOS
chip on the controller. Contrary to what most believed, the PC
and XT motherboard BIOS had no inherent hard disk support.
When the AT system was introduced, IBM placed the ST-506/412
interface support in the motherboard BIOS and eliminated it
from the controller. Since then, any system that is compatible
with the IBM AT (which includes most systems on the market
today) has an enhanced version of the same support in the
motherboard BIOS as well. Because this support was somewhat
limited, especially in the older BIOS versions, many disk
controller manufacturers also placed additional BIOS support
for their controllers directly on the controllers themselves.
In some cases, you would use the controller BIOS and
motherboard BIOS together; in other cases, you would disable
the controller or mother-board BIOS and then use one or the
other. These issues will be discussed more completely later in
this chapter in the section "System Configuration."
The ST-506/412 interface does not quite make the grade in
today's high-performance PC systems. This interface was
designed for a 5M drive, and I have not seen any drives larger
than 152M (Modified Frequency Modulation encoding) or 233M
(Run-Length Limited encoding) available for this type of
interface. Because the capacity, performance, and
expandability of ST-506/412s are so limited, this interface is
obsolete and generally unavailable in new systems. However,
many older systems still use drives that have this interface.
Encoding Schemes and Problems
As indicated in Chapter 14 in the section "Data Encoding
Schemes," encoding schemes are used in communications
for converting digital data bits to various tones for
transmission over a telephone line. For disk drives, the
digital bits are converted, or encoded, in a pattern of
magnetic impulses, or flux transitions (also called
flux reversals), which are written on the disk. These
flux transitions are decoded later when the data is read from
the disk.
A device called an endec (encoder/decoder)
accomplishes the conversion to flux transitions for writing on
the media and the subsequent reconversion back to digital data
during read operations. The function of the endec is very
similar to that of a modem (modulator/demodulator) in that
digital data is converted to an analog waveform, which then is
converted back to digital data. Sometimes, the endec is called
a data separator, because it is designed to separate
data and clocking information from the flux-transition pulse
stream read from the disk.
One of the biggest problems with ST-506/412 was the fact
that this endec resided on the disk controller (rather than
the drive), which resulted in the possibility of corruption of
the analog data signal before it reached the media. This
problem became especially pronounced when the ST-506/412
controllers switched to using RLL endecs to store 50 percent
more data on the drive. With the RLL encoding scheme, the
actual density of magnetic flux transitions on the disk media
remains the same as with MFM encoding, but the timing between
the transitions must be measured much more precisely.
In RLL encoding, the intervals between flux changes
are approximately the same as with MFM, but the actual timing
between them is much more critical. As a result, the
transition cells in which signals must be recognized are much
smaller and more precisely placed than with MFM. RLL encoding
places more stringent demands on the timing of the controller
and drive electronics. With RLL encoding, accurately reading
the timing of the flux changes is paramount. Additionally,
because RLL encodes variable-length groups of bits rather than
single bits, a single error in one flux transition can corrupt
two to four bits of data. For these reasons, an RLL controller
usually has a more sophisticated error-detection and
error-correction routine than an MFM controller.
Most of the cheaper disk drives on the market did not have
data-channel circuits that were designed to be precise enough
to handle RLL encoding without problems. RLL encoding is also
much more susceptible to noise in the read signal, and
conventional oxide media coatings did not have a sufficient
signal-to-noise ratio for reliable RLL encoding. This problem
often was compounded by the fact that many drives of the time
used stepper motor head positioning systems, which are
notoriously inaccurate, that further amplified the
signal-to-noise ratio problem.
At this time, manufacturers are implementing RLL-certifying
drives for use with RLL endec controllers. This stamp of
approval essentially means that the drive has passed tests and
is designed to handle the precise timing requirements that RLL
encoding requires. In some cases, the drive electronics were
upgraded between a manufacturer's MFM and RLL drive versions,
but the drives are essentially the same. In fact, if any
improvements were made in the so-called RLL-certified drives,
the same upgrades usually also were applied to the MFM
version.
The bottom line is that other than improved precision,
there is no real difference between an ST-506/412 drive that
is sold as an MFM model and one that is sold as an RLL model.
If you want to use a drive that originally was sold as an MFM
model with an RLL controller, I suggest that you do so only if
the drive uses a voice coil head actuator and thin-film media.
Virtually any ST-506/412 drive with these qualities is more
than good enough to handle RLL encoding with no problems.
Using MFM encoding, a standard ST-506/412 format specifies
that the drive will contain 17 sectors per track, with each
sector containing 512 bytes of data. A controller that uses an
RLL endec raises the number of sectors per track to 25 or
26.
The real solution to reliability problems with RLL encoding
was to place the endec directly on the drive rather than on
the controller. This method reduces the susceptibility to
noise and interference that can plague an ST-506/412 drive
system running RLL encoding. ESDI, IDE, and SCSI drives all
have the endec (and, often, the entire controller) built into
the drive by default. Because the endec is attached to the
drive without cables and with an extremely short electrical
distance, the propensity for timing- and noise-induced errors
is greatly reduced or eliminated. This situation is analogous
to a local telephone call between the endec and the disk
platters. This local communication makes the ESDI, IDE, and
SCSI interfaces much more reliable than the older ST-506/412
interface; they share none of the reliability problems that
were once associated with RLL encoding over the ST-506/412
interface. Virtually all ESDI, IDE, and SCSI drives use RLL
encoding today with tremendously increased reliability over
even MFM ST-506/412 drives.
Historical Notes The following sections list some
information on the original ST-506/412 controllers used in
the PC environment. These were the controllers that IBM
supplied in the XT and AT systems. At the time of
introduction, these controllers set standards
that--especially in the case of the AT controller--we still
live with today. In fact, the entire IDE interface standard
is based on the controller that IBM designed and used in the
AT. All of the conventions and standards for the hard disk
interfaces that we currently use started with these
controllers.
Original IBM 8-Bit Controllers
The first ST-506/412 controller standard sold for PC
systems was the hard disk controller used in the original
10M IBM XT. This controller actually was made for IBM by
Xebec Corporation and also was sold under the Xebec name as
the Xebec 1210 controller. The Xebec 1210 is an ST-506/412
controller that uses MFM encoding to record data on a drive.
This controller's ROM, produced by IBM, contains an 8K hard
disk BIOS with an internal table that had entries for four
different drives. Each drive was selected by jumpers on the
controller, which actually were soldered in the early IBM
units. If you purchased the controller from Xebec, you
received a slightly different but completely compatible ROM,
and the jumpers were not soldered, so you easily could
select one of the four BIOS table entries. Xebec also
allowed system integrators to copy its ROM to modify the
built-in drive tables for a specific drive.
Later IBM XT systems with a 20M hard disk still used the
Xebec 1210, but it had a new 4K ROM that contained different
drive tables, as well as jumpers like those found on the
versions also sold separately by Xebec. Xebec never sold an
autoconfigure version of this controller, which would have
made integrating different drives easier.
The Xebec 1210 is one of the slowest ST-506/412
controllers ever made, supporting at best a 5:1 interleave
on a stock IBM PC or IBM XT system. If you use the IBM
Advanced Diagnostics program for the IBM PC or IBM XT, the
low-level formatter produces a standard 6:1 interleave,
which results in a paltry 85K/sec data transfer rate. By
changing the interleave to 5:1, you can wring 102K/sec from
this controller--still unbelievably slow by today's
standards.
Xebec also made a Model 1220 that combined a hard disk
and floppy disk controller, was hardware-compatible with the
1210, and works with the IBM or standard Xebec ROM. The
separate floppy controller then could be removed from the
system, and you could save a slot.
I recommend replacing this controller with an
autoconfigure controller whenever you get the chance. Most
other controllers also are significantly faster than the
Xebec.
Original IBM 16-Bit Controllers
For the AT, IBM used two controllers made by Western
Digital (WD): the WD1002-WA2 and the WD1003A-WA2. The WD1003
is an upgraded WD1002 with a much lower chip count. The
WD1003 also was shorter than the WD1002 to fit into the IBM
XT 286.
The WD1002 is used in the IBM AT as a combination hard
disk and floppy disk controller. The WD1002 and the WD1003
are standard ST-506/412 controllers that supply MFM encoding
to the drive. Neither controller contains a ROM BIOS;
instead, BIOS support is built into the motherboard ROM.
Both controllers support a 2:1 interleave, even on a
standard 6MHz IBM AT system. The IBM Advanced Diagnostics
low-level formatter can put down a 2:1 interleave, but the
default is 3:1. Most users of these controllers can realize
a performance gain if they simply reformat to the lower
interleave.
The ESDI Interface
ESDI, or Enhanced Small Device Interface, is
a specialized hard disk interface established as a standard in
1983, primarily by Maxtor Corporation. Maxtor led a consortium
of drive manufacturers to adopt its proposed interface as a
high-performance standard to succeed ST-506/412. ESDI later
was adopted by the ANSI (American National Standards
Institute) organization and published under the ANSI X3T9.2
Committee. The latest version of the ANSI ESDI document is
known as X3.170a-1991. You can obtain this document, and other
ANSI-standard documents, from ANSI itself or from Global
Engineering Documents. These companies are listed in Appendix
A.
Compared with ST-506/412, ESDI has provisions for increased
reliability, such as building the endec into the drive. ESDI
is a very-high-speed interface, capable of a maximum
24Mbit/sec transfer rate. Most drives running ESDI, however,
are limited to a maximum 10 or 15Mbit/sec. Unfortunately,
compatibility problems between different ESDI implementations
combined with pressure from low-cost, high-performance IDE
interface drives have served to make the ESDI interface
obsolete. Few if any new systems today include ESDI drives,
although ESDI became somewhat popular in high-end systems
during the late 1980s.
Enhanced commands enabled some ESDI controllers to read a
drive's capacity parameters directly from the drive, as well
as to control defect mapping, but several manufacturers had
different methods for writing this information on the drive.
When you install an ESDI drive, in some cases the controller
automatically reads the parameter and defect information
directly from the drive. In other cases, however, you still
have to enter this information manually, as with
ST-506/412.
The ESDI's enhanced defect-mapping commands provide a
standard way for the PC system to read a defect map from a
drive, which means that the manufacturer's defect list can be
written to the drive as a file. The defect-list file then can
be read by the controller and low-level format software,
eliminating the need for the installer to type these entries
from the keyboard and enabling the format program to update
the defect list with new entries if it finds new defects
during the low-level format or the surface analysis.
Most ESDI implementations have drives formatted to 32
sectors per track or more (80 or more sectors per track are
possible)--many more sectors per track than the standard
ST-506/412 implementation of 17 to 26. The greater density
results in two or more times the data-transfer rate, with a
1:1 interleave. Almost without exception, ESDI controllers
support a 1:1 interleave, which allows for a transfer rate of
1M/sec or greater.
Because ESDI is much like the ST-506/412 interface, it can
replace that interface without affecting software in the
system. Most ESDI controllers are register-compatible with the
older ST-506/412 controllers, which enables OS/2 and other
non-DOS operating systems to run with few or no problems. The
ROM BIOS interface to ESDI is similar to the ST-506/412
standard, and many low-level disk utilities that run on one
interface will run on the other. To take advantage of ESDI
defect mapping and other special features, however, use a
low-level format and surface-analysis utility designed for
ESDI (such as the ones usually built into the controller ROM
BIOS and called by DEBUG).
During the late 1980s, most high-end systems from major
manufacturers were equipped with ESDI controllers and drives.
More recently, manufacturers have been equipping high-end
systems with SCSI. The SCSI interface allows for much greater
expandability, supports more types of devices than ESDI does,
and offers equal or greater performance. I no longer recommend
installing ESDI drives unless you are upgrading a system that
already has an ESDI controller.
The IDE Interface
Integrated Drive Electronics (IDE) is a generic term
applied to any drive with an integrated (built-in) disk
controller. The IDE interface as we know it is officially
called ATA (AT Attachment), and is an ANSI standard;
however, IDE can roughly apply to any disk drive with a
built-in controller.
The first drives with integrated controllers were
hardcards; today, a variety of drives with integrated
controllers are available. In a drive with IDE, the disk
controller is integrated into the drive, and this combination
drive/controller assembly usually plugs into a bus connector
on the motherboard or bus adapter card. Combining the drive
and controller greatly simplifies installation, because there
are no separate power or signal cables from the controller to
the drive. Also, when the controller and the drive are
assembled as a unit, the number of total components is
reduced, signal paths are shorter, and the electrical
connections are more noise-resistant, resulting in a more
reliable design than is possible when a separate controller,
connected to the drive by cables, is used.
Placing the controller (including endec) on the drive gives
IDE drives an inherent reliability advantage over interfaces
with separate controllers. Reliability is increased because
the data encoding, from digital to analog, is performed
directly on the drive in a tight noise-free environment; the
timing-sensitive analog information does not have to travel
along crude ribbon cables that are likely to pick up noise and
insert propagation delays into the signals. The integrated
configuration allows for increases in the clock rate of the
encoder, as well as the storage density of the drive.
Integrating the controller and drive also frees the
controller and drive engineers from having to adhere to the
strict standards imposed by the earlier interface standards.
Engineers can design what essentially are custom drive and
controller implementations because no other controller would
ever have to be connected to the drive. The resulting drive
and controller combinations can offer higher performance than
earlier stand-alone controller and drive setups. IDE drives
sometimes are called drives with embedded controllers.
The IDE connector on motherboards in many systems is
nothing more than a stripped-down bus slot. In ATA IDE
installations, these connectors normally contain a 40-pin
subset of the 98 pins that would be available in a standard
16-bit ISA bus slot. The pins used are only the signal pins
required by a standard-type XT or AT hard disk controller. For
example, because an AT-style disk controller uses only
interrupt line 14, the mother-board AT IDE connector supplies
only that interrupt line; no other interrupt lines are needed.
The XT IDE motherboard connector supplies interrupt line 5
because that is what an XT controller would use.
NOTE: Many people who use systems with IDE
connectors on the motherboard believe that a hard disk
controller is built into their motherboard, but the
controller really is in the drive. I do not know of any PC
systems that have hard disk controllers built into the
motherboard.
When IDE drives are discussed, the ATA IDE variety usually
is the only kind mentioned because it is so popular. But other
forms of IDE drives exist, based on other buses. For example,
several PS/2 systems came with Micro-Channel (MCA) IDE drives
which plug directly into a Micro-Channel Bus slot (through an
angle adapter or interposer card). An 8-bit ISA form of IDE
also existed but was never very popular. Most IBM-compatible
systems with the ISA or EISA Bus use AT-Bus (16-bit) IDE
drives. The ATA IDE interface is by far the most popular type
of drive interface available.
The primary advantage of IDE drives is cost. Because the
separate controller or host adapter is eliminated and the
cable connections are simplified, IDE drives cost much less
than a standard controller-and-drive combination. These drives
also are more reliable, because the controller is built into
the drive. Therefore, the endec or data separator (the
converter between the digital and analog signals on the drive)
stays close to the media. Because the drive has a short
analog-signal path, it is less susceptible to external noise
and interference.
Another advantage is performance. IDE drives are some of
the highest-performance drives available--but they also are
among the lowest-performance drives. This apparent
contradiction is a result of the fact that all IDE drives are
different. You cannot make a blanket statement about the
performance of IDE drives because each drive is unique. The
high-end models, however, offer performance that is equal or
superior to that of any other type of drive on the market for
a single-user, single-tasking operating system.
IDE Origins
Technically, the first IDE drives were hardcards. Companies
such as the Plus Development division of Quantum took small 3
1/2-inch drives (either ST-506/412 or ESDI) and attached them
directly to a standard controller. The assembly then was
plugged into a bus slot as though it were a normal disk
controller. Unfortunately, the mounting of a heavy, vibrating
hard disk in an expansion slot with nothing but a single screw
to hold it in place left a lot to be desired--not to mention
the possible interference with adjacent cards due to the fact
that many of these units were much thicker than a controller
card alone.
Several companies got the idea that you could redesign the
controller to replace the logic-board assembly on a standard
hard disk and then mount it in a standard drive bay just like
any other drive. Because the built-in controller in these
drives still needed to plug directly into the expansion bus
just like any other controller, a cable was run between the
drive and one of the slots.
These connection problems were solved in different ways.
Compaq was the first to incorporate a special bus adapter in
its system to adapt the 98-pin AT bus edge connector on the
motherboard to a smaller 40-pin header style connector that
the drive would plug into. The 40-pin connectors were all that
were needed, because it was known that a disk controller never
would need more than 40 of the bus lines.
In 1987, IBM developed its own MCA IDE drives and connected
them to the bus through a bus adapter device called an
interposer card. These bus adapters (sometimes called
paddle boards) needed only a few buffer chips and did
not require any real circuitry because the drive-based
controller was designed to plug directly into the bus. The
paddle board nickname came from the fact that they resembled
game paddle or joystick adapters, which do not have much
circuitry on them. Another 8-bit variation of IDE appeared in
8-bit ISA systems such as the PS/2 Model 30. The XT IDE
interface uses a 40-pin connector and cable that is similar
to, but not compatible with, the 16-bit version.
IDE Bus Versions
Three main types of IDE interfaces are available, with the
differences based on three different bus standards:
- AT Attachment (ATA) IDE (16-bit ISA)
- XT IDE (8-bit ISA)
- MCA IDE (16-bit Micro Channel)
NOTE: Many people are confused about 16-
versus 32-bit bus connections and 16- versus 32-bit hard
drive connections. A PCI connection allows for a 32-bit (and
64-bit in the future) bandwidth from the bus to the drive
controller only. In an IDE (or EIDE) drive configuration,
you are still getting only 16-bit bandwidth between the
drive and the controller. This usually does not create a
bottleneck, however, because one or two hard drives cannot
supply the controller enough data to saturate even a 16-bit
channel. Fast Wide SCSI-3 is the only device/controller
combination that gives you 32 bits from the controller to
the drive, primarily because you can hang 15 devices off a
SCSI Wide chain and there is a good chance that many devices
will saturate a 16-bit channel at some time.
The XT and ATA versions have standardized on 40-pin
connectors and cables, but the connectors have slightly
different pinouts, rendering them incompatible with one
another. MCA IDE uses a completely different 72-pin connector
and is designed for MCA bus systems only.
In most cases, you must use the type of IDE drive that
matches your system bus. This situation means that XT IDE
drives work only in XT-class 8-bit ISA slot systems, AT IDE
drives work only in AT-class 16-bit ISA or EISA slot systems,
and MCA IDE drives work only in Micro-Channel systems (such as
the IBM PS/2 Model 50 or higher). A company called Silicon
Valley offers adapter cards for XT systems that will run ATA
IDE drives. Other companies, such as Arco Electronics and
Sigma Data, have IDE adapters for Micro-Channel systems that
allow ATA IDE drives to be used on these systems. (You can
find these vendors in Appendix A.) These adapters are very
useful for XT or PS/2 systems, because there is a very limited
selection of XT or MCA IDE drives, whereas the selection of
ATA drives is virtually unlimited.
In most modern ISA and EISA systems, you will find an ATA
connector on the mother-board. If your motherboard does not
have one of these connectors and you want to attach an AT IDE
drive to your system, you can purchase an adapter card that
changes your 98-pin slot connector to the 40-pin IDE
connector. These adapter cards are nothing more than buffered
cables; they are not really controllers. The controller is
built into the drive. Some of the cards offer additional
features, such as an on-board ROM BIOS or cache memory.
ATA IDE
CDC, Western Digital, and Compaq actually created what
could be called the first ATA type IDE interface drive and
were the first to establish the 40-pin IDE connector pinout.
The first ATA IDE drives were 5 1/4-inch half-height CDC 40M
units (I believe that they had a green activity LED) with
integrated WD controllers sold in the first Compaq 386 systems
in 1986. After that, Compaq helped found a company called
Conner Peripherals to supply Compaq with IDE drives. Conner
originally made drives only for Compaq, but later Compaq sold
much of its ownership of Conner.
Eventually, the 40-pin IDE connector and drive interface
method was placed before one of the ANSI standards committees
which, in conjunction with drive manufacturers, ironed out
some deficiencies, tied up some loose ends, and published what
is known as the CAM ATA (Common Access Method AT
Attachment) interface. The CAM Committee was formed in
October 1988, and the first working document of the ATA
interface was introduced in March 1989. Before the CAM ATA
standard, many companies that followed CDC, such as Conner
Peripherals, made proprietary changes to what had been done by
CDC. As a result, many older ATA drives are very difficult to
integrate into a dual-drive setup that has newer drives.
Some areas of the ATA standard have been left open for
vendor-specific commands and functions. These vendor-specific
commands and functions are the main reason why it is so
difficult to low-level format IDE drives. To work properly,
the formatter that you are using usually must know the
specific vendor-unique commands for rewriting sector headers
and remapping defects. Unfortunately, these and other specific
drive commands differ from OEM to OEM, clouding the "standard"
somewhat.
NOTE: It is important to note that only the
ATA IDE interface has been standardized by the industry. The
XT IDE and MCA IDE never were adopted as industry-wide
standards and never became very popular. These interfaces
are no longer in production, and no new systems of which I
am aware come with these nonstandard IDE interfaces.
The ATA Specification
The ATA specification was introduced in March 1989 as an
ANSI standard. ATA-1 was finally approved in 1994, and ATA-2
(also called Enhanced IDE) was approved in 1995. ATA-3
is currently in the works. You can obtain the current version
of these standards from Global Engineering Documents, which is
listed in Appendix A. The ATA standards have gone a long way
toward eliminating incompatibilities and problems with
interfacing IDE drives to ISA and EISA systems. The ATA
specifications define the signals on the 40-pin connector, the
functions and timings of these signals, cable specifications,
and so on. The following section lists some of the elements
and functions defined by the ATA specification.
Dual-Drive Configurations
Dual-drive ATA installations can be problematic because
each drive has its own controller, and both controllers must
function while being connected to the same bus. There has to
be a way to ensure that only one of the two controllers will
respond to a command at a time.
The ATA standard provides the option of operating on the AT
Bus with two drives in a daisy-chained configuration. The
primary drive (drive 0) is called the master, and the
secondary d drive (drive 1) is the slave. You designate
a drive as being master or slave by setting a jumper or switch
on the drive or by using a special line in the interface
called the Cable Select (CSEL) pin.
When only one drive is installed, the controller responds
to all commands from the system. When two drives (and,
therefore, two controllers) are installed, all commands from
the system are received by both controllers. Each controller
then must be set up to respond only to commands for itself. In
this situation, one controller then must be designated as the
master and the other as the slave. When the system sends a
command for a specific drive, the controller on the other
drive must remain silent while the selected controller and
drive are functioning. Setting the jumper to master or slave
allows discrimination between the two controllers by setting a
special bit (the DRV bit) in the Drive/Head Register of
a command block.
ATA I/O Connector
The ATA interface connector is a 40-pin header-type
connector that should be keyed to prevent the possibility of
installing it upside down. A key is provided by the removal of
pin 20, and the corresponding pin on the cable connector
should be plugged in to prevent a backward installation. The
use of keyed connectors and cables is highly recommended,
because plugging an IDE cable in backward can damage both the
drive and the bus adapter circuits (although I have done it
myself many times with no smoked parts yet!).
Table 15.1 shows the ATA-IDE interface connector pinout.
Table 15.1 ATA Connector
Signal Name |
Pin |
Pin |
Signal Name |
-RESET |
1 |
2 |
GROUND |
Data Bit 7 |
3 |
4 |
Data Bit 8 |
Data Bit 6 |
5 |
6 |
Data Bit 9 |
Data Bit 5 |
7 |
8 |
Data Bit 10 |
Data Bit 4 |
9 |
10 |
Data Bit 11 |
Data Bit 3 |
11 |
12 |
Data Bit 12 |
Data Bit 2 |
13 |
14 |
Data Bit 13 |
Data Bit 1 |
15 |
16 |
Data Bit 14 |
Data Bit 0 |
17 |
18 |
Data Bit 15 |
GROUND |
19 |
20 |
KEY (pin missing) |
DRQ 3 |
21 |
22 |
GROUND |
-IOW |
23 |
24 |
GROUND |
-IOR |
25 |
26 |
GROUND |
I/O CH RDY |
27 |
28 |
SPSYNC:CSEL |
-DACK 3 |
29 |
30 |
GROUND |
IRQ 14 |
31 |
32 |
-IOCS16 |
Address Bit 1 |
33 |
34 |
-PDIAG |
Address Bit 0 |
35 |
36 |
Address Bit 2 |
-CS1FX |
37 |
38 |
-CS3FX |
-DA/SP |
39 |
40 |
GROUND |
+5 Vdc (Logic) |
41 |
42 |
+5 Vdc (Motor) |
GROUND |
43 |
44 |
-TYPE (0=ATA) |
ATA I/O Cable
A 40-conductor ribbon cable is specified to carry signals
between the bus adapter circuits and the drive (controller).
To maximize signal integrity and to eliminate potential timing
and noise problems, the cable should not be longer than 0.46
meters (18 inches).
ATA Signals
This section describes some of the most important signals
in more detail. Pin 20 is used as a key pin for cable
orientation and is not connected through in the interface.
This pin should be missing from any ATA connectors, and the
cable should have the pin-20 hole in the connector plugged off
to prevent the cable from being plugged in backward.
Pin 39 carries the Drive Active/Slave Present (DASP)
signal, which is a dual-purpose, time-multiplexed signal.
During power-on initialization, this signal indicates whether
a slave drive is present on the interface. After that, each
drive asserts the signal to indicate that it is active. Early
drives could not multiplex these functions and required
special jumper settings to work with other drives.
Standardizing this function to allow for compatible dual-drive
installations is one of the features of the ATA standard.
Pin 28 carries the Cable Select or Spindle
Synchronization signal (CSEL or SPSYNC), which is a
dual-purpose conductor; a given installation, however, may use
only one of the two functions. The CSEL function is the most
widely used and is designed to control the designation of a
drive as master (drive 0) or slave (drive 1) without requiring
jumper settings on the drives. If a drive sees the CSEL as
being grounded, the drive is a master; if CSEL is open, the
drive is a slave.
You can install special cabling to ground CSEL selectively.
This installation normally is accomplished through a Y-cable
arrangement, with the IDE bus connector in the middle and each
drive at opposite ends of the cable. One leg of the Y has the
CSEL line connected through, indicating a master drive; the
other leg has the CSEL line open (conductor interrupted or
removed), making the drive at that end the slave.
ATA Commands
One of the best features of the ATA IDE interface is the
enhanced command set. The ATA IDE interface was modeled after
the WD1003 controller that IBM used in the original AT system.
All ATA IDE drives must support the original WD command set
(eight commands), with no exceptions, which is why IDE drives
are so easy to install in systems today. All IBM-compatible
systems have built-in ROM BIOS support for the WD1003, which
means that essentially they support ATA IDE as well.
In addition to supporting all the WD1003 commands, the ATA
specification added numerous other commands to enhance
performance and capabilities. These commands are an optional
part of the ATA interface, but several of them are used in
most drives available today and are very important to the
performance and use of ATA drives in general.
Perhaps the most important is the Identify Drive
command. This command causes the drive to transmit a 512-byte
block of data that provides all details about the drive.
Through this command, any program (including the system BIOS)
can find out exactly what type of drive is connected,
including the drive manufacturer, model number, operating
parameters, and even the serial number of the drive. Many
modern BIOSes use this information to automatically receive
and enter the drive's parameters into CMOS memory, eliminating
the need for the user to enter these parameters manually
during system configuration. This arrangement helps prevent
mistakes that can later lead to data loss when the user no
longer remembers what parameters he or she used during
setup.
The Identify Drive data can tell you many things about your
drive, including the following:
- Number of cylinders in the recommended (default)
translation mode
- Number of heads in the recommended (default) translation
mode
- Number of sectors per track in the recommended (default)
translation mode
- Number of cylinders in the current translation
mode
- Number of heads in the current translation mode
- Number of sectors per track in the current translation
mode
- Manufacturer and model number
- Firmware revision
- Serial number
- Buffer type, indicating sector buffering or caching
capabilities
Several public-domain programs can execute this command to
the drive and report the information on-screen. I use the
IDEINFO or IDEDIAG program. Phone numbers for these
information services appear in Appendix A. I find these
programs especially useful when I am trying to install IDE
drives and need to know the correct parameters for a user-
definable BIOS type. These programs get the information
directly from the drive itself.
You can get a copy of IDEINFO at
http://www.dc.ee/Files/Utils/IDEINFO.ARJ
You can pick up IDEDIAG at
http://www.pcorner.com/tpc/old/24-151.html
Two other very important commands are the Read
Multiple and Write Multiple commands. These
commands permit multiple-sector data transfers and, when
combined with block-mode Programmed I/O (PIO) capabilities in
the system, can result in incredible data-transfer rates many
times faster than single-sector PIO transfers.
TIP: If you want the ultimate in IDE
performance and installation ease, make sure that your
mother-board BIOS and IDE adapter supports ATA-2 or EIDE.
This support allows your BIOS to execute data transfers to
and from the IDE drive several times faster than normal, and
also makes installation and configuration easier because the
BIOS will be able to detect the drive-parameter information
automatically. High-speed PIO and automatic detection of the
drive type are included in the latest versions of most PC
BIOSes.
There are many other enhanced commands, including room for
a given drive manufacturer to implement what are called
vendor-unique commands. These commands often are used
by a particular vendor for features unique to that vendor.
Often, features such as low-level formatting and defect
management are controlled by vendor-unique commands. This is
why low-level format programs can be so specific to a
particular manu-facturer's IDE drives and why many
manufacturers make their own LLF programs available.
ATA IDE Drive Categories
ATA-IDE drives can be divided into three main categories.
These categories separate the drives by function (such as
translation capabilities) and design (which can affect
features such as low-level formatting):
- Non-Intelligent ATA-IDE drives
- Intelligent ATA-IDE drives
- Intelligent Zoned Recording ATA-IDE drives
Non-Intelligent IDE
As I stated earlier, the ATA standard requires that the
built-in controller respond exactly as though it were a
Western Digital WD1003 controller. This controller responds to
a command set of eight commands. Early IDE drives supported
these commands and had few, if any, other options. These early
drives actually were more like regular ST-506/412 or ESDI
controllers bolted directly into the drive than the more
intelligent drives that we consider today to be IDE. These
drives were not considered to be intelligent IDE drives; an
intelligent drive is supposed to have several capabilities
that these early IDE drives lacked. The drives could not
respond to any of the enhanced commands that were specified as
(an optional) part of the ATA IDE specification, including the
Identify Drive command. These drives also did not
support sector translation, in which the physical
parameters could be altered to appear as any set of logical
cylinders, heads, and sectors. Enhanced commands and
sector-translation support are what make an IDE drive an
intelligent IDE drive, and these features were not available
in the early IDE drives.
These drives could be low-level formatted in the same
manner as any normal ST-506/412 or ESDI drive. They were
universally low-level formatted at the factory, with
factory-calculated optimum interleave (usually, 1:1) and head-
and cylinder-skew factors. Also, factory defects were recorded
in a special area on the drive; they no longer were written on
a sticker pasted to the exterior. Unfortunately, this
arrangement means that if you low-level format these drives in
the field, you most likely will alter these settings
(especially the skew factors) from what the factory set as
optimum, as well as wipe out the factory-written defect
table.
Some manufacturers released special low-level format
routines that would reformat the drives while preserving these
settings, but others did not make such programs available.
Because they did not want you to overwrite the defect list or
potentially slow the drive, most manufacturers stated that you
should never low-level format their IDE drives.
This statement started a myth that the drives could somehow
be damaged or rendered inoperable by such a format, which
truly is not the case. One rumor was that the servo
information could be overwritten, which would mean that you
would have to send the drive back to the manufacturer for
re-servoing. This also is not true; the servo information is
protected and cannot be overwritten. The only consequence of
an improper low-level format of these drives is the possible
alteration of the skew factors and the potential loss of the
factory defect maps.
The Disk Manager program by Ontrack is the best
special-purpose format utility to use on these drives for
formatting because it is aware of these types of drives and
often can restore the skew factors and preserve the defect
information. If you are working with a drive that already has
had the defect map overwritten, Disk Manager can perform a
very good surface analysis that will mark off any of these
areas that it finds. Disk Manager allows you to specify the
skew factors and to mark defects at the sector level so that
they will not cause problems later. Other general-purpose
diagnostics that work especially well with IDE drives such as
this include the Microscope program by Micro 2000.
Intelligent IDE
Later IDE drives became known as intelligent IDE
drives. These drives support enhanced ATA commands, such
as the Identify Drive command, and sector-translation
capabilities.
These drives can be configured in two ways: in raw physical
mode or in translation mode. To configure the drive in raw
physical mode, you simply enter the CMOS drive parameters
during setup so that they match the true physical parameters
of the drive. For example, if the drive physically has 800
cylinders, 6 heads, and 50 sectors per track, you enter these
figures during setup. To configure the drive in translation
mode, you simply enter any combination of cylinders, heads,
and sectors that adds up to equal or less than the true number
of sectors on the drive.
In the example I just used, the drive has a total of
240,000 sectors (800x6x50). All I have to do is figure out
another set of parameters that adds up equal to or less than
240,000 sectors. The simplest way to do this is to cut the
number of cylinders in half and double the number of heads.
Thus, the new drive parameters become 400 cylinders, 12 heads,
and 50 sectors per track. This method adds up to 240,000
sectors and enables the drive to work in translation mode.
When these drives are in translation mode, a low-level
format cannot alter the interleave and skew factors, nor can
it overwrite the factory defect-mapping information. A
low-level format program can, however, perform additional
defect mapping or sector sparing while in this mode.
If the drive is in true physical mode, a low-level format
rewrites the sector headers and modifies the head and cylinder
skewing. If performed incorrectly, the format can be repaired
by a proper low-level format program that allows you to set
the correct head and cylinder skew. This task can be
accomplished automatically by the drive manufacturer's
recommended low-level format program (if available) or by
other programs, such as Disk Manager by Ontrack. When you use
Disk Manager, you have to enter the skew values manually;
otherwise, the program uses predetermined defaults. To obtain
the correct skew values, it is best to contact the drive
manufacturer's technical support department. You can calculate
the skew values if the manufacturer cannot provide them.
To protect the skew factors and defect information on
intelligent IDE drives, all you have to do is run them in
translation mode. In translation mode, this information cannot
be overwritten.
Intelligent Zoned Recording IDE
The last and most sophisticated IDE drives combine
intelligence with Zoned Recording. With Zoned
Recording, the drive has a variable number sectors per
track in several zones across the surface of the drive.
Because the PC BIOS can handle only a fixed number of sectors
on all tracks, these drives always must run in translation
mode. Because these drives are always in translation mode, you
cannot alter the factory-set interleave and skew factors or
wipe out the factory defect information.
You still can low-level format these drives, however, and
use such a format to map or spare additional defective sectors
that crop up during the life of the drive. To low-level format
intelligent Zoned Recording drives, you need either a specific
utility from the drive manufacturer or an IDE-aware program,
such Disk Manager by Ontrack or Microscope by Micro 2000.
ATA-2 (Enhanced IDE)
ATA-2 is an extension of the original ATA (IDE)
specification. The most important additions are performance
enhancing features such as fast PIO and DMA modes. ATA-2 also
features improvements in the Identify Drive command
allowing a drive to tell the software exactly what its
characteristics are; this is essential for both Plug and Play
(PnP) and compatibility with future revisions of the
standard.
ATA-2 is often called Enhanced IDE (or EIDE). EIDE is
technically a marketing program from Western Digital. Fast-ATA
and Fast-ATA-2 are similar Seagate-inspired marketing
programs, which are also endorsed by Quantum. As far as the
hard disk and BIOS are concerned, these are all different
terms for basically the same thing.
There are four main areas where ATA-2 and EIDE have
improved the original ATA/IDE interface:
- Increased maximum drive capacity
- Faster data transfer
- Secondary two-device channel
- ATAPI (ATA Program Interface)
The following section describes these improvements.
Increased Drive Capacity
ATA-2/EIDE allows for increased drive capacity over the
original ATA/IDE specification. This is done through an
Enhanced BIOS, which makes it possible to use hard disks
exceeding the 504M barrier. The origin of this limit is the
disk geometry (cylinders, heads, sectors) supported by the
combination of an IDE drive and the BIOS' software interface.
Both IDE and the BIOS are capable of supporting huge disks,
but their combined limitations conspire to restrict the useful
capacity to 504M.
An Enhanced BIOS circumvents this by using a different
geometry when talking to the drive than when talking to the
software. What happens in between is called
translation. For example, if your drive has 2,000
cylinders and 16 heads, a translating BIOS will make programs
think that the drive has 1,000 cylinders and 32 heads.
You can usually tell if your BIOS is enhanced by the
ability to specify more than 1,024 cylinders in the BIOS
setup, although this is not conclusive. If you see
drive-related settings like LBA, ECHS, or
even Large, these are tell-tale signs of a BIOS with
translation support. Most BIOSes with a date of 1994 or later
are enhanced. If your system currently does not have an
Enhanced BIOS, you may be able to get an upgrade.
There are roughly three ways today's BIOSes can handle
translation: Standard CHS addressing, Extended CHS addressing,
and LBA (Logical Block Addressing). They are summarized in the
following table:
BIOS Mode |
Operating System to BIOS |
BIOS to Drive Ports |
Standard CHS |
Logical CHS Parameters |
Logical CHS Parameters |
Extended CHS |
Translated CHS Parameters |
Logical CHS Parameters |
LBA |
Translated CHS Parameters |
LBA Parameters |
In Standard CHS, there is only one possible translation
step internal to the drive. The drive's actual, physical
geometry is completely invisible from the outside with all
zoned recorded ATA drives today. The Cylinders, Heads, and
Sectors printed on the label for use in the BIOS setup are
purely logical geometry, and do not represent the actual
physical parameters. Standard CHS addressing is limited to 16
heads and 1,024 cylinders, which gives the us a limit of
504M.
This is often called "Normal" in the BIOS setup, and causes
the BIOS to behave like an old-fashioned one without
translation. Use this setting if your drive has fewer than
1,024 cylinders or if you want to use the drive with a non-DOS
operating system that doesn't understand translation.
In Extended CHS, a translated logical geometry is used to
communicate between the drive and the BIOS, while a different
translated geometry is used to communicate between the BIOS
and everything else. In other words, there are normally two
translation steps. The drive still translates internally, but
has logical parameters that exceed the 1,024 cylinder
limitation of the standard BIOS. In this case, the drive's
cylinder count is usually divided by 2, and the head count is
multiplied by 2 to get the translated values from those
actually stored in the CMOS Setup. This type of setting breaks
the 504/528M barrier.
This is often called "Large" or "ECHS" in the BIOS setup,
and tells the BIOS to use Extended CHS translation. It uses a
different geometry (cylinders/heads/sectors) when talking to
the drive than when talking to the BIOS. This type of
translation should be used with drives that have more than
1,024 cylinders but that do not support LBA. Note that the
geometry entered in your BIOS setup is the logical geometry,
not the translated one.
LBA is a means of linearly addressing sector's
addresses, beginning at Cylinder 0, Head 0, Sector 1 as LBA 0,
and proceeding on to the last physical sector on the drive.
This is new in ATA-2, but has always been the one and only
addressing mode in SCSI.
With LBA, each sector on the drive is numbered starting
from 0. The number is a 28-bit binary number internally, which
translates to a sector number of from 0 to 268,435,456.
Because each sector represents 512 bytes, this results in a
maximum drive capacity of exactly 128G, or 137 billion bytes.
Unfortunately, the operating system still needs to see a
translated CHS, so the BIOS determines how many sectors there
are, and comes up with Translated CHS to match. The BIOS CHS
limits are 1,024 cylinders, 256 heads, and 63 sectors per
track, which limits total drive capacity to just under 8G.
In other words, this breaks the 528M barrier in essentially
the same way as Extended CHS does. Because it is somewhat
simpler to use a single linear number to address a sector on
the hard disk compared to a CHS type address, this is the
preferred method if the drive supports LBA.
CAUTION: A word of warning with these BIOS
translation settings: If you switch between Standard CHS,
Extended CHS, or LBA, the BIOS may change the (translated)
geometry. The same thing may happen if you transfer a disk
that has been formatted on an old, non-LBA computer to a new
one that uses LBA. This will cause the logical CHS geometry
seen by the operating system to change, and will cause the
date to appear in the wrong locations from where it actually
is! This can cause you to lose access to your data if you
are not careful. I always recommend recording the CMOS Setup
screens associated with the hard disk configuration so that
you can properly match the setup of a drive to the original
settings.
Faster Data Transfer
ATA-2/EIDE defines several high-performance modes for
transferring data to and from the drive. These faster modes
are the main part of the new specifications and were the main
reason they were initially developed. Most of the faster
drives on the market today will support either PIO transfer
Mode 3 or Mode 4, which results in a very fast transfer. The
following section discusses these modes.
The PIO mode determines how fast data is transferred to and
from the drive. In the slowest possible mode--PIO mode 0--the
data cycle time cannot exceed 600 nanoseconds (ns). In a
single cycle, 16 bits are transferred in or out of the drive
making the theoretical transfer rate of PIO Mode 0 (600ns
cycle time) 3.3M/sec. Most of the high-performance ATA-2
(EIDE) drives today support PIO Mode 4, which offers a
16.6M/sec transfer rate.
The following table shows the PIO modes, with their
respective transfer rates:
PIO Mode |
Cycle Time (ns) |
Transfer Rate (M/sec) |
Specification |
0 |
600 |
3.3 |
ATA |
1 |
383 |
5.2 |
ATA |
2 |
240 |
8.3 |
ATA |
3 |
180 |
11.1 |
ATA-2 |
4 |
120 |
16.6 |
ATA-2 |
To run in Mode 3 or 4 requires that the IDE port on the
system be a local bus port. This means that it must operate
through either a VL-Bus or PCI bus connection. Some newer
motherboards with ATA-2/EIDE support have dual IDE connectors
on the motherboard, with only the primary connector running
through the system's PCI local bus. The secondary connector
usually runs through the ISA bus, and therefore supports up to
Mode 2 operation only. Make sure you get clarification of this
before you purchase that new motherboard!
When interrogated with an Identify Drive command,
a hard disk returns, among other things, information about the
PIO and DMA modes it is capable of using. Most enhanced BIOSes
will automatically set the correct mode to match the
capabilities of the drive. If you set a mode faster than the
drive can handle, data corruption will result.
ATA-2 drives also perform Block Mode PIO, which
means that they use the Read/Write Multiple commands
that greatly reduce the number of interrupts sent to host
processor. This lowers the overhead, and the resulting
transfers are even faster.
DMA Transfer Modes
Although it is not used by most operating system or BIOS
software, ATA-2 drives also support Direct Memory Access
transfers. DMA means that the data is transferred directly
between drive and memory without using the CPU as an
intermediary, as opposed to PIO.
There are two distinct types of direct memory access:
DMA and busmastering DMA. Ordinary DMA relies on
the DMA controller on the system's mainboard to perform the
complex task of arbitration, grabbing the system bus and
transferring the data. In the case of busmastering DMA, all
this is done by logic on the interface card itself. Of course,
this adds considerably to the complexity and the price of a
busmastering interface.
Unfortunately, the DMA controller on ISA systems is ancient
and slow, and out of the question for use with a modern hard
disk. Today, proper software support for DMA is still
rare.
ATAPI (ATA Packet Interface)
ATAPI is a standard designed for devices such as
CD-ROMs and tape drives that plug into an ordinary ATA (IDE)
connector. The principal advantage of ATAPI hardware is that
it's cheap and works on your current adapter. For CD-ROMs, it
has a somewhat lower CPU usage compared to proprietary
adapters, but there's no performance gain otherwise. For tape
drives, ATAPI has potential for superior performance and
reliability compared to the popular "floppy" tape devices.
While ATAPI CD-ROMs use the hard disk interface, this does
not mean that they look like an ordinary hard disk; to the
contrary, from a software point of view they are a completely
different kind of animal. They actually most closely resemble
a SCSI device.
CAUTION: Intelligent caching controllers that
are not ATAPI-aware will not work with these devices. This
means that, at present, you cannot boot from an ATAPI CD-ROM
and you still must load a driver to use it under DOS or
Windows. Windows 95/NT has native ATAPI support, and the
first ATAPI-aware BIOS that will even allow booting from an
ATAPI CD-ROM are now available.
IDE Drive Configuration
IDE drives can be both simple and troublesome to configure.
Single-drive installations usually are very simple, with few
if any special jumper settings to worry about. Multiple-drive
configurations, however, can be a problem. Jumpers have to be
set on both drives; the names, locations, and even functions
of these jumpers can vary from drive to drive.
Because the CAM ATA IDE specification was ironed out only
after many companies were already making and selling drives,
many older IDE drives have problems in dual-drive
installations, especially when the drives are from different
manufacturers. In some cases, two particular drives may not
function together at all. Fortunately, most of the newer
drives follow the CAM ATA specification, which clears up this
problem. Drives that follow the specification have no problems
in dual-drive installations.
Cable Configuration
The cable connection to IDE drives usually is very simple.
There is a single 40-pin cable that normally has three
pin-header style connectors on it. One of the connectors plugs
into the IDE interface connector; the other two plug into the
primary and secondary drives. The cable normally runs from the
IDE connector to both drives in a daisy-chain arrangement. On
one end, this cable plugs into the IDE interface connector,
which is located on the motherboard in many systems but also
may be located on an IDE interface adapter card. The cable
then connects to the secondary (D) and primary (C) drives in
succession, with the primary drive usually (but not always)
being at the end of the cable opposite the IDE interface
connector.
There are no terminating resistors to set with IDE drives;
instead, a distributed termination circuit is built into all
IDE drives. The last drive on the cable need not be the
primary drive, so you actually may find the primary or
secondary drive at either connector. Jumpers on the drives
themselves normally control whether a drive responds as
primary or secondary.
CAUTION: You may see a different arrangement
of cable connections in some IDE installations. In some
installations, the middle connector is plugged into the
motherboard, and the primary and secondary drives are at
opposite ends of the cable in a Y arrangement. If you see
this arrangement, be careful; in some of these Y-cable
installations, the cable, rather than jumpers on the drives,
actually controls which drive is primary and which is
secondary.
Controlling master/slave selection via the cable rather
than jumpers on the drive is performed via a special signal on
the IDE interface called CSEL, which is on pin 28 of the
interface. If the CSEL line is connected through from the
drive to the IDE interface connector, the drive automatically
is designated as primary. If the CSEL line is open between a
drive and the IDE interface connector, that drive
automatically is designated as secondary.
In the Y-cable approach, the IDE interface connector is in
the middle of the cable, and a separate length of cable goes
to each drive. Study this type of cable closely. If one of the
ends of the Y has line 28 open (usually a hole in the cable
through that wire), only the secondary drive can be plugged
into that connector. HP Vectra PC systems use exactly this
type of IDE cable arrangement. This type of setup eliminates
the need to set jumpers on the IDE drives to configure them
for primary or secondary operation, but the setup can be
troublesome if you do not know about it.
IDE Drive Jumper Settings
Configuring IDE drives can be simple, as is the case with
most single-drive installations, or troublesome, especially
where it comes to mixing two drives from different
manufacturers on a single cable. Most IDE drives come in three
configurations:
- Single-drive (master)
- Master (dual-drive)
- Slave (dual-drive)
Because each IDE drive has its own controller, you must
specifically tell one drive to be the master and the other to
be the slave. There's no functional difference between the
two, except that the drive that's specified as the slave will
assert the DASP signal after a system reset that informs the
master that a slave drive is present in the system. The master
drive then pays attention to the Drive Select line, which it
otherwise ignores. Telling a drive that it's the slave also
usually causes it to delay its spinup for several seconds to
allow the master to get going and thus to lessen the load on
the system's power supply.
Until the ATA IDE specification, no common implementation
for drive configuration was in use. Some drive companies even
used different master/slave methods for different models of
drives. Because of these incompatibilities, some drives work
together only in a specific master/slave or slave/master
order. This situation affects mostly older IDE drives that
were introduced before the ATA specification.
Most drives that fully follow the ATA specification now
need only one jumper (Master/Slave) for configuration. A few
also need a Slave Present jumper as well. Table 15.2 shows the
jumper settings required by most ATA IDE drives.
Table 15.2 Jumper Settings for Most ATA
IDE-Compatible Drives
Jumper Name |
Single-Drive |
Dual-Drive Master |
Dual-Drive Slave |
Master (M/S) |
On |
On |
Off |
Slave Present (SP) |
Off |
On |
Off |
The Master jumper indicates that the drive is a master or a
slave. Some drives also require a Slave Present jumper, which
is used only in a dual-drive setup and then installed only on
the master drive, which is somewhat confusing. This jumper
tells the master that a slave drive is attached. With many ATA
IDE drives, the Master jumper is optional and may be left off.
Installing this jumper doesn't hurt in these cases and may
eliminate confusion, so I recommend that you install the
jumpers listed here.
Conner Peripherals Drives
Because they were introduced before the ATA IDE
specification was formalized, Conner Peripherals drives often
are different in configuration from many other-brand drives.
When you mix and match IDE hard drives from different
manufacturers, the drives are not always fully compatible.
Table 15.3 shows the jumper settings that are correct for most
Conner IDE drive installations.
Table 15.3 Jumper Settings for Conner
Peripherals IDE Drives
Jumper Name |
Single Drive |
Dual-Drive Master |
Dual-Drive Slave |
Master or Slave (C/D) |
On |
On |
Off |
Drive Slave Present (DSP) |
Off |
On |
Off |
Host Slave Present (HSP) |
Off |
Off |
On |
Drive Active (ACT) |
On |
On |
Off |
The C/D jumper is used to determine whether the drive is a
master (drive C) or a slave (drive D). The drive is configured
as master when this jumper is on. The DSP jumper indicates
that a slave drive is present. The HSP jumper causes the drive
to send the Slave Present signal to the master drive. The ACT
jumper enables the master drive to signal when it is
active.
Some Conner drives are not set up to support the
industry-standard CAM ATA interface by default. The problems
show up when you attempt to connect another manufacturer's
drive to some Conner drives in either a master or slave role.
Fortunately, you can correct many of these situations by
changing the configuration of the drive.
You can make this change in two ways. One way is to use a
special program to semi-permanently change the mode of the
drive. A special file available on the Conner BBS, called
FEATURE.COM, contains a program that displays the current
ISA/ATACAM setting and allows the setting to be changed. The
change actually is stored in a feature byte in the firmware of
the drive, and after this byte is changed, most other
manufacturers' drives will work with the Conner drives. The
program also can be used to reset the feature byte to its
original configuration, which is best when you are connecting
to other Conner drives.
The second method for changing this configuration is
available on some Conner drives. These drives also have a
special jumper called ATA/ISA. This jumper almost always
should be installed in the ATA position to provide
compatibility with the ATA standard. If you are using only
Conner drives, you can leave this jumper in ISA mode if you
want. Some Conner drives have a separate jumper (E1) that can
delay startup of the drive to minimize the load on the power
supply. This jumper should be enabled on any drive that is
configured as a slave. Most other drives automatically delay
startup of the slave drive for a few seconds.
Most Conner drives also have a special 12-pin connector
that is used to drive an optional LED (pin 1, LED +5v; and pin
2, ground), as well as to connect to special factory equipment
for low-level formatting and configuration. A company called
TCE (see Appendix A) sells a device called The Conner,
which connects to this port and permits full factory-level
initialization, formatting, and testing of Conner drives. I
consider this piece of gear to be essential to anybody who
services or supports a large number of Conner Peripherals
drives. Notice that Compaq uses Conner drives in most of its
systems.
For more information on any specific Conner drive, you can
use the company's FAXBack system (see the vendor list in
Appendix A) at (800) 4CONNER. Through this system, you can get
drive information and jumper settings that are specific to
Conner drives.
XT-Bus (8-Bit) IDE
Many systems with XT ISA bus architecture used XT IDE hard
drives. The IDE interface in these systems usually is built
into the motherboard. The IBM PS/2 Model 25, 25-286, 30, and
30-286 systems used an 8-bit XT IDE interface. These 8-bit XT
IDE drives are difficult to find; few manufacturers other than
IBM, Western Digital, and Seagate made them; none of these
drives were available in capacities beyond 40M.
Because the ATA IDE interface is a 16-bit design, it could
not be used in 8-bit (XT type) systems, so some of the drive
manufacturers standardized on an XT-Bus (8-bit) IDE interface
for XT class systems. These drives were never very popular,
and were usually only available in capacities from 20M to 40M.
Table 15.4 shows the industry standard 8-bit IDE connector
pinout.
Table 15.4 XT-Bus IDE Connector
Signal Name |
Pin |
Pin |
Signal Name |
-RESET |
1 |
2 |
GROUND |
Data Bit 7 |
3 |
4 |
GROUND |
Data Bit 6 |
5 |
6 |
GROUND |
Data Bit 5 |
7 |
8 |
GROUND |
Data Bit 4 |
9 |
10 |
GROUND |
Data Bit 3 |
11 |
12 |
GROUND |
Data Bit 2 |
13 |
14 |
GROUND |
Data Bit 1 |
15 |
16 |
GROUND |
Data Bit 0 |
17 |
18 |
GROUND |
GROUND |
19 |
20 |
KEY (pin missing) |
AEN |
21 |
22 |
GROUND |
-IOW |
23 |
24 |
GROUND |
-IOR |
25 |
26 |
GROUND |
-DACK 3 |
27 |
28 |
GROUND |
DRQ 3 |
29 |
30 |
GROUND |
IRQ 5 |
31 |
32 |
GROUND |
Address Bit 1 |
33 |
34 |
GROUND |
Address Bit 0 |
35 |
36 |
GROUND |
-CS1FX |
37 |
38 |
GROUND |
-Drive Active |
39 |
40 |
GROUND |
Notice that IBM used a custom version of the XT-Bus IDE
interface in the PS/2 Model 25 and Model 30 systems. The
pinout for the custom IBM XT-Bus IDE connector is shown in
Table 15.5.
Table 15.5 IBM Unique XT-Bus (PS/2 Model 25 and
30) IDE Connector
Signal Name |
Pin |
Pin |
Signal Name |
-RESET |
1 |
2 |
-Disk Installed |
Data Bit 0 |
3 |
4 |
GROUND |
Data Bit 1 |
5 |
6 |
GROUND |
Data Bit 2 |
7 |
8 |
GROUND |
Data Bit 3 |
9 |
10 |
GROUND |
Data Bit 4 |
11 |
12 |
GROUND |
Data Bit 5 |
13 |
14 |
GROUND |
Data Bit 6 |
15 |
16 |
GROUND |
Data Bit 7 |
17 |
18 |
GROUND |
-IOR |
19 |
20 |
GROUND |
-IOW |
21 |
22 |
GROUND |
-CS1FX |
23 |
24 |
GROUND |
Address Bit 0 |
25 |
26 |
GROUND |
Address Bit 1 |
27 |
28 |
GROUND |
Address Bit 2 |
29 |
30 |
+5v DC |
RESERVED |
31 |
32 |
+5 Vdc |
-DACK 3 |
33 |
34 |
GROUND |
DRQ 3 |
35 |
36 |
GROUND |
IRQ 5 |
37 |
38 |
GROUND |
I/O CH RDY |
39 |
40 |
+12 Vdc |
Spare |
41 |
42 |
+12 Vdc |
Spare |
39 |
44 |
+12 Vdc |
The newer PS/1, PS/Valuepoint, and PS/2 systems with 16-bit
ISA architecture use ATA IDE drives. Because nearly all hard
disk manufacturers make a multitude of drives with the ATA IDE
interface, these systems are easy to upgrade or repair. ATA
IDE drives are available in capacities up to and beyond 1G.
MCA IDE
The IBM PS/2 Models 50 and higher come with Micro-Channel
Architecture (MCA) bus slots. Although most of these systems
now use SCSI drives, for some time IBM used a type of MCA IDE
drive in these systems. MCA IDE is a form of IDE interface,
but it is designed for the MCA bus and is not compatible with
the more industry-standard ATA IDE interface. Few companies
other than IBM and Western Digital make replacement MCA IDE
drives for these systems. I recommend replacing these drives
with ATA IDE drives, using adapters from Arco Electronics or
Sigma Data, or switching to SCSI drives instead. The IBM MCA
IDE drives are expensive for the limited capacity that they
offer.
The pinout of the MCA IDE connector is shown in Table 15.6.
Table 15.6 MCA IDE Connector
Signal Name |
Pin |
Pin |
Signal Name |
-CD SETUP |
A1 |
B1 |
Address Bit 15 |
Address Bit 13 |
A2 |
B2 |
Address Bit 14 |
GROUND |
A3 |
B3 |
GROUND |
Address Bit 11 |
A4 |
B4 |
OSC (14.3 MHz) |
Address Bit 10 |
A5 |
B5 |
GROUND |
Address Bit 9 |
A6 |
B6 |
Address Bit 12 |
+5 Vdc |
A7 |
B7 |
-CMD |
Address Bit 8 |
A8 |
B8 |
-CD SFDBK |
Address Bit 7 |
A9 |
B9 |
GROUND |
Address Bit 6 |
A10 |
B10 |
Data Bit 1 |
+5 Vdc |
A11 |
B11 |
Data Bit 3 |
Address Bit 5 |
A12 |
B12 |
Data Bit 4 |
Address Bit 4 |
A13 |
B13 |
GROUND |
Address Bit 3 |
A14 |
B14 |
CHRESET |
+5 Vdc |
A15 |
B15 |
Data Bit 8 |
Address Bit 2 |
A16 |
B16 |
Data Bit 9 |
Address Bit 1 |
A17 |
B17 |
GROUND |
Address Bit 0 |
A18 |
B18 |
Data Bit 12 |
+12 Vdc |
A19 |
B19 |
Data Bit 14 |
-ADL |
A20 |
B20 |
Data Bit 15 |
-PREEMPT |
A21 |
B21 |
GROUND |
-BURST |
A22 |
B22 |
Data Bit 0 |
+5 Vdc |
A23 |
B23 |
Data Bit 2 |
ARB 0 |
A24 |
B24 |
Data Bit 5 |
ARB 1 |
A25 |
B25 |
GROUND |
ARB 2 |
A26 |
B26 |
Data Bit 6 |
+12 Vdc |
A27 |
B27 |
Data Bit 7 |
ARB 3 |
A28 |
B28 |
Data Bit 10 |
+ARB/-GRANT |
A29 |
B29 |
GROUND |
-TC |
A30 |
B30 |
Data Bit 11 |
+5 Vdc |
A31 |
B31 |
Data Bit 13 |
-S0 |
A32 |
B32 |
-SBHE |
-S1 |
A33 |
B33 |
GROUND |
+M/-IO |
A34 |
B34 |
-CD DS 16 |
GROUND |
A35 |
B35 |
-IRQ 14 |
CD CHRDY |
A36 |
B36 |
GROUND |
Introduction to SCSI
SCSI (pronounced "scuzzy") stands for Small
Computer System Interface. This interface has its roots in
SASI, the Shugart Associates System Interface.
SCSI is not a disk interface, but a systems-level interface.
SCSI is not a type of controller, but a bus that supports as
many as eight devices. One of these devices, the host adapter,
functions as the gateway between the SCSI bus and the PC
system bus. The SCSI bus itself does not talk directly with
devices such as hard disks; instead, it talks to the
controller that is built into the drive.
A single SCSI bus can support as many as eight physical
units, usually called SCSI IDs. One of these units is
the adapter card in your PC; the other seven can be other
peripherals. You could have hard disks, tape drives, CD-ROM
drives, a graphics scanner, or other devices (up to seven
total) attached to a single SCSI host adapter. Most systems
support up to four host adapters, each with seven devices, for
a total 28 devices! Some of the newer SCSI implementations
allow for 15 devices on each bus.
When you purchase a SCSI hard disk, you usually are
purchasing the drive, controller, and SCSI adapter in one
circuit. This type of drive usually is called an embedded
SCSI drive; the SCSI interface is built into the drive.
Most SCSI hard drives actually are IDE drives with SCSI bus
adapter circuits added. You do not need to know what type of
controller is inside the SCSI drive, because your system
cannot talk directly to the controller as though it were
plugged into the system bus, like a standard controller.
Instead, communications go through the SCSI host adapter
installed in the system bus. You can access the drive only
with the SCSI protocols.
Apple originally rallied around SCSI as being an
inexpensive way out of the bind in which it put itself with
the Macintosh. When the engineers at Apple realized the
problem in making the Macintosh a closed system (with no
slots), they decided that the easiest way to gain
expandability was to build a SCSI port into the system, which
is how external peripherals can be added to the slotless Macs.
Because PC systems always have been expandable, the push
toward SCSI has not been as urgent. With eight bus slots
supporting different devices and controllers in IBM and
IBM-compatible systems, it seemed as though SCSI was not
needed.
SCSI now is becoming popular in the IBM-based computer
world because of the great expandability that it offers and
the number of devices that are available with built-in SCSI.
One block that stalled acceptance of SCSI in the PC
marketplace was the lack of a real standard; the SCSI standard
was designed primarily by a committee. No single manufacturer
has led the way, at least in the IBM arena; each company has
its own interpretation of how SCSI should be implemented,
particularly at the host-adapter level.
SCSI is a standard, in much the same way that RS-232 is a
standard. The SCSI standard (like the RS-232 standard),
however, defines only the hardware connections, not the driver
specifications required to communicate with the devices.
Software ties the SCSI subsystem into your PC, but
unfortunately, most of the driver programs work only for a
specific device and a specific host adapter. For example, a
graphics scanner comes with its own SCSI host adapter to
connect to the system; a CD-ROM drive comes with another
(different) SCSI host adapter and driver software that works
only with that SCSI adapter. On a system with those two SCSI
adapters, you would need a third SCSI host adapter to run SCSI
hard disk drives, because the host adapters supplied by the
scanner and CD-ROM companies do not include a built-in,
self-booting BIOS that supports hard disk drives.
SCSI has become something of a mess in the IBM world
because of the lack of a host-adapter standard, a software
interface standard, and standard ROM BIOS support for hard
disk drives attached to the SCSI bus. Fortunately, some simple
recommendations can keep you from living this compatibility
nightmare!
In the beginning, SCSI lacked the capability to run hard
disks off the SCSI bus. To boot from these drives and use a
variety of operating systems was a problem that resulted from
the lack of an interface standard. The standard IBM XT and AT
ROM BIOS software was designed to talk to ST-506/412 hard disk
controllers. The software easily was modified to work with
ESDI because ESDI controllers are similar to ST-506/412
controllers at the register level. (This similarity at the
register level enabled manufacturers to easily design
self-booting, ROM-BIOS-supported ESDI drives.) The same can be
said of IDE, which completely emulates the WD1003 ST-506/412
controller interface and works perfectly with the existing
BIOS as well. SCSI is so different from these other standard
disk interfaces that a new set of ROM BIOS routines are
necessary to support the system so that it can self-boot. The
newer IBM PS/2 systems that come with SCSI drives have this
support built into the motherboard BIOS or as an extension
BIOS on the SCSI host adapter.
Companies such as Adaptec and Future Domain have produced
SCSI cards with built-in ROM BIOS support for several years,
but these BIOS routines were limited to running the drives
only under DOS. The BIOS would not run in the AT-protected
mode, and other operating systems included drivers for only
the standard ST-506/412 and ESDI controllers. Thus, running
SCSI was impossible under many non-DOS operating systems. This
situation has changed significantly, however; IBM now supports
many third-party SCSI host adapters in OS/2, especially those
from Adaptec and Future Domain. For compatibility reasons, I
usually recommend using SCSI adapters from these two
companies, or any other adapters that are fully
hardware-compatible with the Adapted and Future Domain
adapters.
Because of the lead taken by Apple in developing systems
software (operating systems and ROM) support for SCSI,
peripherals connect to Apple systems in fairly standard ways.
Until recently, this kind of standard-setting leadership was
lacking for SCSI in the IBM world. This situation changed on
March 20, 1990, when IBM introduced several "standard" SCSI
adapters and peripherals for the IBM PS/2 systems, with
complete ROM BIOS and full operating-system support.
IBM has standardized on SCSI for nearly all its high-end
systems. In these systems, a SCSI host adapter card is in one
of the slots, or the system has a SCSI host adapter built into
the motherboard. This arrangement is similar in appearance to
the IDE interface, because a single cable runs from the
motherboard to the SCSI drive, but SCSI supports as many as
seven devices (some of which may not be hard disks), whereas
IDE supports only four devices (two per controller), which
must be either a hard disk, IDE-type CD-ROM drive, or a tape
drive, or the new IDE Zip drive. PS/2 systems with SCSI drives
are easy to upgrade, because virtually any third-party SCSI
drive will plug in and function.
The example set by IBM is causing other manufacturers to
supply systems with either SCSI host adapters or SCSI
interfaces integrated into the motherboards. As SCSI becomes
more and more popular in the PC world, SCSI peripheral
integration will be easier due to better operating-system and
device-driver support.
ANSI SCSI Standards
The SCSI standard defines the physical and electrical
parameters of a parallel I/O bus used to connect computers and
peripheral devices in daisy-chain fashion. The standard
supports devices such as disk drives, tape drives, and CD-ROM
drives. The original SCSI standard (ANSI X3.131-1986) was
approved in 1986, SCSI-2 was approved in January 1994, and a
new revision called SCSI-3 is being developed.
The SCSI interface is defined as a standard by ANSI. The X3
Task Group operates as an ASC (Accredited Standards Committee)
under ANSI to develop Information Processing System standards.
X3T9 is the I/O Interfaces group, and X3T9.2 specifically is
in charge of low-level interfaces such as SCSI and ATA-IDE
(among others). The original SCSI-1 standard was published by
the X3T9 ANSI group in 1986, and is officially published by
ANSI as X3.131-1986.
One problem with the original SCSI-1 document was that many
of the commands and features were optional, and there was
little or no guarantee that a particular peripheral would
support the expected commands. This problem caused the
industry as a whole to define a set of 18 basic SCSI commands
called the Common Command Set (CCS), which would become
the minimum set of commands supported by all peripherals. CCS
became the basis for what is now the SCSI-2 specification.
In addition to formal support for CCS, SCSI-2 provided
additional definitions for commands to access CD-ROM drives
(and their sound capabilities), tape drives, removable drives,
optical drives, and several other peripherals. In addition, an
optional higher speed called Fast SCSI-2 and a 16-bit version
called Wide SCSI-2 were defined. Another feature of SCSI-2 is
command queuing, which enables a device to accept
multiple commands and execute them in the order that the
device deems to be most efficient. This feature is most
beneficial when you are using a multitasking operating system
that could be sending several requests on the SCSI bus at the
same time.
The X3T9 group approved the SCSI-2 standard as X3.131-1990
in August 1990, but the document was recalled in December 1990
for changes before final ANSI publication. Final approval for
the SCSI-2 document was finally made in January 1994, although
it has changed little from the original 1990 release. The
SCSI-2 document is now called ANSI X3.131-1994. The official
document is available from Global Engineering Documents or the
ANSI committee, which are listed in Appendix A. You can also
download working drafts of these documents from the NCR SCSI
BBS, found in the vendor list under "NCR
Microelectronics."
Most companies indicate that their host adapters follow
both the ANSI X3.131-1986 (SCSI-1) as well as the x3.131-1994
(SCSI-2) standards. Note that because virtually all parts of
SCSI-1 are supported in SCSI-2, virtually any SCSI-1 device is
also considered SCSI-2 by default. Many manufacturers
advertise that their devices are SCSI-2, but this does not
mean that they support any of the additional optional features
that were incorporated in the SCSI-2 revision.
For example, an optional part of the SCSI-2 specification
includes a fast synchronous mode that doubles the standard
synchronous transfer rate from 5M/sec to 10M/sec. This Fast
SCSI transfer mode can be combined with 16-bit Wide SCSI for
transfer rates of up to 20M/sec. There was an optional 32-bit
version defined in SCSI-2, but component manufacturers have
shunned this as too expensive. In essence, 32-bit SCSI was a
stillborn specification. Most SCSI implementations are 8-bit
standard SCSI or Fast/Wide SCSI. Even devices which support
none of the Fast or Wide modes can still be considered
SCSI-2.
The SCSI-3 standard is still being defined and is still a
long way off from being approved. However, portions of this
specification, although not final, are being sold in products
today. One of these developments is the new Fast-20 mode,
which is also called Ultra-SCSI. This essentially is
quad-speed SCSI, and will run 20M/sec on an 8-bit standard
SCSI bus, and 40M/sec on Wide (16-bit) SCSI.
Table 15.7 shows the maximum transfer rates for the SCSI
bus at various speeds and widths, as well as the cable type
required for the specific transfer widths.
Table 15.7 SCSI Data-Transfer Rates
Bus Width |
Standard SCSI |
Fast SCSI |
Fast-20 (Ultra) SCSI |
Cable Type |
8-bit |
5M/sec |
10M/sec |
20M/sec |
A (50-pin) |
16-bit (Wide) |
10M/sec |
20M/sec |
40M/sec |
P (68-pin) |
NOTE: The A cable is the standard 50-pin SCSI
cable, whereas the P cable is a 68-pin cable designed for
16-bit. Maximum cable length is 6m (about 20 feet) for
standard speed SCSI, and only 3m (about 10 feet) for Fast or
Fast-20 (Ultra) SCSI. Pinouts for these cable connections
are listed in this chapter in Tables 15.13 through 15.21.
So-called SCSI-1 adapters have no problems with SCSI-2
peripherals. In fact, as was stated earlier, virtually any
SCSI-1 device can also legitimately be called SCSI-2 (or even
SCSI-3). You can't take advantage of Fast, Fast-20, or Wide
transfer capabilities, but the extra commands defined in
SCSI-2 can be sent by means of a SCSI-1 controller. In other
words, nothing is different between SCSI-1 and SCSI-2
compliant hardware. For example, I am running a Seagate
Barracuda 4G Fast SCSI-2 drive with my standard IBM SCSI-1
host adapter, and it runs fine. Most adapters are similar in
that they actually are SCSI-2 compatible, even if they
advertise only SCSI-1 support.
Because the SCSI-2 standard was not actually approved
before January 1994, any devices that claimed to be SCSI-2
before that time were not officially in compliance with the
standard. This is really not a problem, however, because the
SCSI-2 document had not changed appreciably since it was
nearly approved in 1990. The same thing is currently happening
with advertisers listing devices as "SCSI-3." The SCSI-3
specification is not yet approved, although certain areas are
being worked out.
SCSI Hard Disk Evolution and Construction
SCSI is not a disk interface, but a bus that supports SCSI
bus interface adapters connected to disk and other device
controllers. The first SCSI drives for PCs simply were
standard ST-506/412 or ESDI drives with a separate SCSI bus
interface adapter (sometimes called a bridge
controller) that converted the ST-506/412 or ESDI
interfaces to SCSI. This interface originally was in the form
of a secondary logic board, and the entire assembly often was
mounted in an external case.
The next step was to build the SCSI bus interface
"converter" board directly into the drive's own logic board.
Today, we call these drives embedded SCSI drives,
because the SCSI interface is built in.
At that point, there was no need to conform to the absolute
specifications of ST-506/412 or ESDI on the internal disk
interface, because the only other device that the interface
ever would have to talk to was built in as well. Thus, the
disk-interface and controller-chipset manufacturers began to
develop more customized chipsets that were based on the
ST-506/412 or ESDI chipsets already available but offered more
features and higher performance. Today, if you look at a
typical SCSI drive, you often can identify the chip or chipset
that serves as the disk controller on the drive as being
exactly the same kind that would be used on an ST-506/412 or
ESDI controller or as some evolutionary customized variation
thereof.
Consider some examples. An ATA IDE drive must fully emulate
the system-level disk-controller interface introduced with the
Western Digital WD1003 controller series that IBM used in the
AT. These drives must act as though they have a built-in
ST-506/412 or ESDI controller; in fact, they actually do. Most
of these built-in controllers have more capabilities than the
original WD1003 series (usually in the form of additional
commands), but they must at least respond to all the original
commands that were used with the WD1003.
If you follow the hard drive market, you usually will see
that drive manufacturers offer most of their newer drives in
both ATA-IDE and SCSI versions. In other words, if a
manufacturer makes a particular 500M IDE drive, you invariably
will see that the company also makes a SCSI model with the
same capacity and specifications, which uses the same HDA
(Head Disk Assembly) and even looks the same as the IDE
version. If you study these virtually identical drives, the
only major difference you will find is the additional chip on
the logic board of the SCSI version, called a SCSI Bus
Adapter Chip (SBIC).
Figures 15.1 and 15.2 show the logic-block diagrams of the
WD-AP4200 (a 200M ATA-IDE drive) and WD-SP4200 (a 200M SCSI
drive), respectively. These drives use the same HDA; they
differ only in their logic boards, and even the logic boards
are the same except for the addition of an SBIC on the SCSI
drive's logic board.
Notice that even the circuit designs of these two drives
are almost identical. Both drives use an LSI (Large Scale
Integrated circuit) chip called the WD42C22 Disk Controller
and Buffer manager chip. In the ATA drive, this chip is
connected through a DMA control chip directly to the AT bus.
In the SCSI version, a WD33C93 SCSI bus interface controller
chip is added to interface the disk-controller logic to the
SCSI bus. In fact, the logic diagrams of these two drives
differ only in the fact that the SCSI version has a complete
subset of the ATA drive, with the SCSI bus interface
controller logic added. This essentially is a very condensed
version of the separate drive and bridge controller setups
that were used in the early days of PC SCSI!
FIG.
15.1 WD-AP4200 200M ATA-IDE drive
logic-board block diagram.
FIG.
15.2 WD-SP4200 200M SCSI drive
logic-board block diagram.
To top off this example, study the following logic diagram
for the WD 1006V-MM1, which is an ST-506/412 controller (see
Figure 15.3).
You can clearly see that the main LSI chip on board is the
same WD42C22 disk controller chip used in the IDE and SCSI
drives. Here is what the technical reference literature says
about that chip:
FIG.
15.3 Western Digital WD1006V-MM1
ST-506/412 Disk Controller block diagram.
The WD42C22 integrates a high-performance, low-cost
Winchester controller's architecture. The WD42C22 integrates
the central elements of a Winchester controller subsystem
such as the host interface, buffer manager, disk formatter/
controller, encoder/decoder, CRC/ECC (Cyclic Redundancy
Check/Error Correc-tion Code) generator/checker, and drive
interface into a single 84-pin PQFP (Plastic Quad Flat Pack)
device.
The virtually identical design of ATA-IDE and SCSI drives
is not unique to Western Digital. Most drive manufacturers
design their ATA-IDE and SCSI drives the same way, often using
these very same WD chips as well as disk controller and SCSI
bus interface chips from other manufacturers. You now should
be able to understand that most SCSI drives simply are
"regular" ATA-IDE drives with SCSI bus logic added. This fact
will come up again later in this chapter in the section "SCSI
versus IDE," which discusses performance and other issues
differentiating these interfaces.
For another example, I have several IBM 320M and 400M
embedded SCSI-2 hard disks; each of these drives has on-board
a WD-10C00 Programmable Disk Controller in the form of a
68-pin PLCC (Plastic Leaded Chip Carrier) chip. The technical
literature states:
This chip supports ST412, ESDI, SMD, and Optical
interfaces. It has 27Mbit/sec maximum transfer rate and an
internal, fully programmable 48- or 32-bit ECC, 16-bit
CRC-CCITT or external user defined ECC polynomial, fully
programmable sector sizes, and 1.25 micron low power CMOS
design.
In addition, these particular embedded SCSI drives include
the 33C93 SCSI Bus Interface Controller chip, which also is
used in the other SCSI drive that I mentioned. Again, there is
a distinctly separate disk controller, and the SCSI interface
is added on.
So again, most embedded SCSI drives have a built-in disk
controller (usually based on previous ST-506/412 or ESDI
designs) and additional logic to interface that controller to
the SCSI bus (a built-in bridge controller, if you like). Now
think about this from a performance standpoint. If virtually
all SCSI drives really are ATA-IDE drives with a SCSI Bus
Interface Controller chip added, what conclusions can you
draw?
First, no drive can perform sustained data transfers faster
than the data can actually be read from the disk platters. In
other words, the HDA limits performance to whatever it is
capable of achieving. Drives can transmit data in short bursts
at very high speeds, because they often have built-in cache or
read-ahead buffers that store data. Many of the newer
high-performance SCSI and ATA-IDE drives have 1M or more of
cache memory on-board! No matter how big or intelligent the
cache is, however, sustained data transfer still will be
limited by the HDA.
Data from the HDA must pass through the disk controller
circuits, which, as you have seen, are virtually identical
between similar SCSI and ATA-IDE drives. In the ATA-IDE drive,
this data then is presented directly to the system bus. In the
SCSI drive, however, the data must pass through a SCSI Bus
Interface adapter on the drive, travel through the SCSI bus
itself, and then pass through another SCSI Bus Interface
controller in the SCSI host adapter card in your system. The
longer route that a SCSI transfer must take makes this type of
transfer slower than the much more direct ATA-IDE
transfer.
The conventional wisdom has been that SCSI always is much
faster than IDE; unfortunately, this wisdom usually is wrong!
This incorrect conclusion was derived by looking at the raw
SCSI and ISA bus performance capabilities. An 8-bit Fast
SCSI-2 bus can transfer data at 10M/sec, whereas the 16-bit
ISA bus used directly by IDE drives can transfer data at rates
ranging from 2M to 8M/sec. Based on these raw transfer rates,
SCSI seems to be faster, but the raw transfer rate of the bus
is not the limiting factor. Instead, the actual HDA and
disk-controller circuitry place the limits on performance.
Another point to remember is that unless you are using a PCI,
VL-Bus, EISA, or 32-bit MCA SCSI adapter, the SCSI
data-transfer speeds will be limited by the host bus
performance as well as by the drive performance.
However, modern operating systems are multitasking, and
SCSI devices (with all their additional controller circuitry)
function independent of each other, unlike IDE. Therefore,
data can be read and written to any of the SCSI devices
simultaneously. This allows for smoother multitasking
and increased overall data throughput. The most advanced
operating systems like Windows NT even allow drive striping. A
strip drive set is two or more drives that appear to
the user as one drive. Data is split between the drives
equally, again increasing overall throughput.
For more on stripe sets in Windows NT, search for
http://www.microsoft.com/kb/articles/q113/9/33.htm
Single-Ended or Differential SCSI
"Normal" SCSI also is called single-ended SCSI. For
each signal that needs to be sent across the bus, a wire
exists to carry it. With differential SCSI, for each signal
that needs to be sent across the bus, a pair of wires exists
to carry it. The first in this pair carries the same type of
signal that the single-ended SCSI carries. The second in this
pair, however, carries the logical inversion of the signal.
The receiving device takes the difference of the pair (hence
the name differential), which makes it less susceptible
to noise and allows for greater cable length. Because of this,
differential SCSI can be used with cable lengths up to 25m,
whereas single-ended SCSI is good only for 6m with standard
asynchronous or synchronous transfers or for only 3m for Fast
SCSI.
You cannot mix single-ended and differential devices on a
single SCSI bus; the result would be catastrophic. (That is to
say, you probably will see smoke!) Notice that the cables and
connectors are the same, so it's entirely possible to make
this mistake. This usually is not a problem, however, because
very few differential SCSI implementations exist. Especially
with SCSI in the PC environment, single-ended is about all you
will ever see. If, however, you to come upon a peripheral that
you believe might be differential, there are a few ways to
tell. One way is to look for a special symbol on the unit; the
industry has adopted different universal symbols for
single-ended and differential SCSI. Figure 15.4 shows these
symbols.
FIG.
15.4 Single-ended and differential
SCSI universal symbols.
If you do not see such symbols, you can tell whether you
have a differential device by using an ohmmeter to check the
resistance between pins 21 and 22 on the device connector. On
a single-ended system, the pins should be tied together and
also tied to the ground. On a differential device, the pins
should be open or have significant resistance between them.
Again, this generally should not be a problem, because
virtually all devices used in the PC environment are
single-ended.
SCSI-1 and SCSI-2
The SCSI-2 specification essentially is an improved version
of SCSI-1 with some parts of the specification tightened and
with several new features and options added. Normally, SCSI-1
and SCSI-2 devices are compatible, but SCSI-1 devices ignore
the additional features in SCSI-2.
Some of the changes in SCSI-2 are very minor. For example,
SCSI-1 allowed SCSI Bus parity to be optional, whereas parity
must be implemented in SCSI-2. Another requirement is that
initiator devices, such as host adapters, provide terminator
power to the interface; most devices already did so.
SCSI-2 also has several optional features:
- Fast SCSI
- Wide SCSI
- Command queuing
- High-density cable connectors
- Improved Active (Alternative 2) termination
These features are not required; they are optional under
the SCSI-2 specification. If you connect a standard SCSI host
adapter to a Fast SCSI drive, for example, the interface will
work, but only at standard SCSI speeds.
SCSI-3
SCSI-3 is a term used to describe a set of standards
currently being developed. Simply put, it is the next
generation of documents a product conforms to. See the section
"New Commands" later in this chapter.
Fast and Fast-Wide SCSI
Fast SCSI refers to high-speed synchronous transfer
capability. Fast SCSI achieves a 10M/sec transfer rate on the
standard 8-bit SCSI cabling. When combined with a 16-bit Wide
SCSI interface, this configuration results in data-transfer
rates of 20M/sec (called Fast/Wide).
Fast-20 (Ultra) SCSI
Fast-20 or Ultra SCSI refers to high-speed
synchronous transfer capability that is twice as fast as
Fast-SCSI. This has been introduced in the Draft (unfinished)
SCSI-3 specification and has already been adopted by the
marketplace, especially for high-speed hard disks. Ultra SCSI
achieves a 20M/sec transfer rate on the standard 8-bit SCSI
cabling. When combined with a 16-bit Wide SCSI interface, this
configuration results in data-transfer rates of 40M/sec
(called Ultra/Wide).
Fast-40 SCSI
Fast-40 SCSI is a future revision of SCSI-3 (mentioned
earlier in the chapter) capable of achieving a 40M/sec
transfer rate.
Wide SCSI
Wide SCSI allows for parallel data transfer at a bus
width of 16 bits. The wider connection requires a new cable
design. The standard 50-conductor 8-bit cable is called the
A cable. SCSI-2 originally defined a special
68-conductor B cable that was supposed to be used in
conjunction with the A cable for wide transfers, but the
industry ignored this specification in favor of a newer
68-conductor P cable that was introduced as part of the SCSI-3
specification. The P cable superseded the A and B cable
combination because the P cable can be used alone (without the
A cable) for 16-bit Wide SCSI.
A 32-bit Wide SCSI version was originally defined on paper
as a part of the SCSI-2 specification, but has not found
popularity and probably never will in the PC environment.
Theoretically, 32-bit SCSI implementations would require two
cables: a 68-conductor P cable and a 68-conductor Q cable.
Fiber Channel SCSI
Fiber Channel SCSI is a specification for a serial
interface using a fiber channel physical and protocol
characteristic, with a SCSI command set. It can achieve
100M/sec over either fiber or coaxial cable.
Termination
The single-ended SCSI bus depends on very tight termination
tolerances to function reliably. Unfortunately, the original
132-ohm passive termination defined in the SCSI-1 document was
not designed for use at the higher synchronous speeds now
possible. These passive terminators can cause signal
reflections resulting in errors when transfer rates increase
or when more devices are added to the bus. SCSI-2 defines an
active (voltage-regulated) terminator that lowers termination
impedance to 110 ohms and improves system integrity.
Command Queuing
In SCSI-1, an initiator device, such as a host adapter, was
limited to sending one command per device. In SCSI-2, the host
adapter can send as many as 256 commands to a single device,
which will store and process those commands internally before
responding on the SCSI bus. The target device even can
resequence the commands to allow for the most efficient
execution or performance possible. This feature is especially
useful in multitasking environments, such as OS/2 and Windows
NT, that can take advantage of this feature.
New Commands
SCSI-2 took the Common Command Set that was being used
throughout the industry and made it an official part of the
standard. The CCS was designed mainly for disk drives and did
not include specific commands designed for other types of
devices. In SCSI-2, many of the old commands are reworked, and
several new commands have been added. New command sets have
been added for CD-ROMs, optical drives, scanners,
communications devices, and media changers (jukeboxes).
SCSI-3
Even though the SCSI-2 specification has only recently been
approved (although it has remained stable for some time), the
SCSI-3 specification is already being developed. SCSI-3 will
have everything that SCSI-2 has and definitely will add new
commands, features, and implementations. For example, SCSI-3
will provide support for up to 32 devices on the bus instead
of only eight.
One of the most exciting things about SCSI-3 is the
proposed Serial SCSI, a scheme that may use only a
six-conductor cable and that will be able to transfer data at
up to 100M/sec! The switch to serial instead of parallel is
designed to control the delay, noise, and termination problems
that have plagued SCSI-2, as well as to simplify the cable
connection. Serial SCSI will be capable of transferring more
data over six wires than 32-bit Fast Wide SCSI-2 can over 128
wires! The intention is that Serial SCSI be implemented on the
motherboard of future systems, giving them incredible
expansion and performance capabilities.
Although Serial SCSI may not make the older host adapters
and cables obsolete overnight, it does make future cabling
possibilities even more of a puzzle. Serial SCSI offers the
possibility of longer cable lengths, less electromagnetic
interference, and easier connections on laptops, notebooks,
and docking stations. Expect SCSI-3 to offer almost pain-free
installations with automatic PnP SCSI ID setup and termination
schemes.
In any practical sense, SCSI-3 is still some ways away from
being approved. Because the standard exists in draft documents
before being officially approved, if the portions of the
standard become stable, we may very well see products claiming
SCSI-3 compatibility well before the standard truly exists.
Because SCSI-3 actually incorporates all of what is in SCSI-2,
technically anybody can call any SCSI-1 or SCSI-2 device a
SCSI-3 device as well. Beware of product hype along these
lines. Some of the new SCSI-3 features will likely be
incompatible with previous SCSI implementations, and may take
a while to appear on the market.
SCSI Cables and Connectors
The SCSI standards are very specific when it comes to
cables and connectors. The most common connectors specified in
this standard are the 50-position unshielded pin header
connector for internal SCSI connections and the 50-position
shielded Centronics latch-style connectors for external
connections. The shielded Centronics style connector also is
called Alternative 2 in the official specification.
Passive or Active termination (Active is preferred) is
specified for both single-ended and differential buses. The
50-conductor bus configuration is defined in the SCSI-2
standard as the A-cabled.
The SCSI-2 revision added a high-density, 50-position,
D-shell connector option for the A-cable connectors. This
connector now is called Alternative 1. The Alternative
2 Centronics latch-style connector remains unchanged from
SCSI-1. A 68-conductor B-cable specification was added to the
SCSI-2 standard to provide for 16- and 32-bit data transfers;
the connector, however, had to be used in parallel with an A
cable. The industry did not widely accept the B cable option,
which has been dropped from the SCSI-3 standard.
To replace the ill-fated B cable, a new 68-conductor P
cable was developed as part of the SCSI-3 specification.
Shielded and unshielded high-density D-shell connectors are
specified for both the A cable and P cable. The shielded
high-density connectors use a squeeze-to-release latch rather
than the wire latch used on the Centronics-style connectors.
Active termination for single-ended buses is specified,
providing a high level of signal integrity.
SCSI Cable and Connector Pinouts
The following section details the pinouts of the various
SCSI cables and connectors. There are two electrically
different versions of SCSI, single-ended and
differential. These two versions are electrically
incompatible, and must not be interconnected or damage will
result. Fortunately, there are very few differential SCSI
applications available in the PC industry, so you will rarely
(if ever) encounter it. Within each electrical type
(single-ended or differential), there are basically three SCSI
cable types:
- A Cable (Standard SCSI)
- P Cable (16- and 32-bit Wide SCSI)
- Q Cable (32-bit Wide SCSI)
The A cable is used in most SCSI-1 and SCSI-2
installations, and is the most common cable you will
encounter. SCSI-2 Wide (16-bit) applications use a P cable
instead, which completely replaces the A cable. You can
intermix standard and Wide SCSI devices on a single SCSI bus
by interconnecting A and P cables with special adapters.
32-bit wide SCSI-3 applications use both the P and Q cables in
parallel to each 32-bit device. Today there are virtually no
PC applications for 32-bit Wide SCSI-3, and because of the
two- cable requirement, it is not likely to catch on.
The A cables can have Pin Header (Internal) type connectors
or External Shielded connectors, each with a different pinout.
The P and Q cables feature the same connector pinout on either
Internal or External cable connections.
Single-Ended SCSI Cables and Connectors
The single-ended electrical interface is the most popular
type for PC systems. Tables 15.8 and 15.9 show all the
possible single-ended cable and connector pinouts. The A cable
is available in both internal unshielded as well as external
shielded configurations. A hyphen preceding a signal name
indicates the signal is Active Low. The RESERVED lines have
continuity from one end of the SCSI bus to the other. In an A
cable bus, the RESERVED lines should be left open in SCSI
devices (but may be connected to ground), and are connected to
ground in the bus terminator assemblies. In the P and Q
cables, the RESERVED lines are left open in SCSI devices as
well as in the bus terminator assemblies.
Table 15.8 A Cable (Single-Ended) Internal
Unshielded Header Connector
Signal Name |
Pin |
Pin |
Signal Name |
GROUND |
1 |
2 |
-DB(0) |
GROUND |
3 |
4 |
-DB(1) |
GROUND |
5 |
6 |
-DB(2) |
GROUND |
7 |
8 |
-DB(3) |
GROUND |
9 |
10 |
-DB(4) |
GROUND |
11 |
12 |
-DB(5) |
GROUND |
13 |
14 |
-DB(6) |
GROUND |
15 |
16 |
-DB(7) |
GROUND |
17 |
18 |
-DB(Parity) |
GROUND |
19 |
20 |
GROUND |
GROUND |
21 |
22 |
GROUND |
RESERVED |
23 |
24 |
RESERVED |
Open |
25 |
26 |
TERMPWR |
RESERVED |
27 |
28 |
RESERVED |
GROUND |
29 |
30 |
GROUND |
GROUND |
31 |
32 |
-ATN |
GROUND |
33 |
34 |
GROUND |
GROUND |
35 |
36 |
-BSY |
GROUND |
37 |
38 |
-ACK |
GROUND |
39 |
40 |
-RST |
GROUND |
41 |
42 |
-MSG |
GROUND |
43 |
44 |
-SEL |
GROUND |
45 |
46 |
-C/D |
GROUND |
47 |
48 |
-REQ |
GROUND |
49 |
50 |
-I/O |
Table 15.9 A-Cable (Single-Ended) External
Shielded Connector
Signal Name |
Pin |
Pin |
Signal Name |
GROUND |
1 |
26 |
-DB(0) |
GROUND |
2 |
27 |
-DB(1) |
GROUND |
3 |
28 |
-DB(2) |
GROUND |
4 |
29 |
-DB(3) |
GROUND |
5 |
30 |
-DB(4) |
GROUND |
6 |
31 |
-DB(5) |
GROUND |
7 |
32 |
-DB(6) |
GROUND |
8 |
33 |
-DB(7) |
GROUND |
9 |
34 |
-DB(Parity) |
GROUND |
10 |
35 |
GROUND |
GROUND |
11 |
36 |
GROUND |
RESERVED |
12 |
37 |
RESERVED |
Open |
13 |
38 |
TERMPWR |
RESERVED |
14 |
39 |
RESERVED |
GROUND |
15 |
40 |
GROUND |
GROUND |
16 |
41 |
-ATN |
GROUND |
17 |
42 |
GROUND |
GROUND |
18 |
43 |
-BSY |
GROUND |
19 |
44 |
-ACK |
GROUND |
20 |
45 |
-RST |
GROUND |
21 |
46 |
-MSG |
GROUND |
22 |
47 |
-SEL |
GROUND |
23 |
48 |
-C/D |
GROUND |
24 |
49 |
-REQ |
GROUND |
25 |
50 |
-I/O |
IBM has standardized on the SCSI interface for virtually
all PS/2 systems introduced since 1990. These systems use a
Micro-Channel SCSI adapter or have the SCSI Host Adapter built
into the motherboard. In either case, IBM's SCSI interface
uses a special 60-pin mini-Centronics type external shielded
connector that is unique in the industry. A special IBM cable
is required to adapt this connector to the standard 50-pin
Centronics style connector used on most external SCSI devices.
The pinout of the IBM 60-pin mini-Centronics style External
Shielded connector is shown Table 15.10. Notice that although
the pin arrangement is unique, the pin number to signal
designations correspond with the standard unshielded internal
pin header type of SCSI connector.
Table 15.10 IBM PS/2 SCSI External Shielded
60-Pin Connector
Signal Name |
Pin |
Pin |
Signal Name |
GROUND |
1 |
60 |
Not Connected |
-DB(0) |
2 |
59 |
Not Connected |
GROUND |
3 |
58 |
Not Connected |
-DB(1) |
4 |
57 |
Not Connected |
GROUND |
5 |
56 |
Not Connected |
-DB(2) |
6 |
55 |
Not Connected |
GROUND |
7 |
54 |
Not Connected |
-DB(3) |
8 |
53 |
Not Connected |
GROUND |
9 |
52 |
Not Connected |
-DB(4) |
10 |
51 |
GROUND |
GROUND |
11 |
50 |
-I/O |
-DB(5) |
12 |
49 |
GROUND |
GROUND |
13 |
48 |
-REQ |
-DB(6) |
14 |
47 |
GROUND |
GROUND |
15 |
46 |
-C/D |
-DB(7) |
16 |
45 |
GROUND |
GROUND |
17 |
44 |
-SEL |
-DB(Parity) |
18 |
43 |
GROUND |
GROUND |
19 |
42 |
-MSG |
GROUND |
20 |
41 |
GROUND |
GROUND |
21 |
40 |
-RST |
GROUND |
22 |
39 |
GROUND |
RESERVED |
23 |
38 |
-ACK |
RESERVED |
24 |
37 |
GROUND |
Open |
25 |
36 |
-BSY |
TERMPWR |
26 |
35 |
GROUND |
RESERVED |
27 |
34 |
GROUND |
RESERVED |
28 |
33 |
GROUND |
GROUND |
29 |
32 |
-ATN |
GROUND |
30 |
31 |
GROUND |
The P cable (single-ended) and connectors are used in
16-bit wide SCSI-2 applications (see Table 15.11 for the
pinout).
Table 15.11 P Cable (Single-Ended) Internal or
External Shielded Connector
Signal Name |
Pin |
Pin |
Signal Name |
GROUND |
1 |
35 |
-DB(12) |
GROUND |
2 |
36 |
-DB(13) |
GROUND |
3 |
37 |
-DB(14) |
GROUND |
4 |
38 |
-DB(15) |
GROUND |
5 |
39 |
-DB(Parity 1) |
GROUND |
6 |
40 |
-DB(0) |
GROUND |
7 |
41 |
-DB(1) |
GROUND |
8 |
42 |
-DB(2) |
GROUND |
9 |
43 |
-DB(3) |
GROUND |
10 |
44 |
-DB(4) |
GROUND |
11 |
45 |
-DB(5) |
GROUND |
12 |
46 |
-DB(6) |
GROUND |
13 |
47 |
-DB(7) |
GROUND |
14 |
48 |
-DB(Parity 0) |
GROUND |
15 |
49 |
GROUND |
GROUND |
16 |
50 |
GROUND |
TERMPWR |
17 |
51 |
TERMPWR |
TERMPWR |
18 |
52 |
TERMPWR |
RESERVED |
19 |
53 |
RESERVED |
GROUND |
20 |
54 |
GROUND |
GROUND |
21 |
55 |
-ATN |
GROUND |
22 |
56 |
GROUND |
GROUND |
23 |
57 |
-BSY |
GROUND |
24 |
58 |
-ACK |
GROUND |
25 |
59 |
-RST |
GROUND |
26 |
60 |
-MSG |
GROUND |
27 |
61 |
-SEL |
GROUND |
28 |
62 |
-C/D |
GROUND |
29 |
63 |
-REQ |
GROUND |
30 |
64 |
-I/O |
GROUND |
31 |
65 |
-DB(8) |
GROUND |
32 |
66 |
-DB(9) |
GROUND |
33 |
67 |
-DB(10) |
GROUND |
34 |
68 |
-DB(11) |
The Q Cable (single-ended) and connector is defined only
for 32-bit SCSI implementations, which also require a P cable
as well (see Table 15.12 for the pinout). 32-bit SCSI
applications are rare to virtually nonexistent.
Table 15.12 Q Cable (Single-Ended) Internal or
External Shielded Connector
Signal Name |
Pin |
Pin |
Signal Name |
GROUND |
1 |
35 |
-DB(28) |
GROUND |
2 |
36 |
-DB(29) |
GROUND |
3 |
37 |
-DB(30) |
GROUND |
4 |
38 |
-DB(31) |
GROUND |
5 |
39 |
-DB(Parity 3) |
GROUND |
6 |
40 |
-DB(16) |
GROUND |
7 |
41 |
-DB(17) |
GROUND |
8 |
42 |
-DB(18) |
GROUND |
9 |
43 |
-DB(19) |
GROUND |
10 |
44 |
-DB(20) |
GROUND |
11 |
45 |
-DB(21) |
GROUND |
12 |
46 |
-DB(22) |
GROUND |
13 |
47 |
-DB(23) |
GROUND |
14 |
48 |
-DB(Parity 2) |
GROUND |
15 |
49 |
GROUND |
GROUND |
16 |
50 |
GROUND |
TERMPWRQ |
17 |
51 |
TERMPWRQ |
TERMPWRQ |
18 |
52 |
TERMPWRQ |
RESERVED |
19 |
53 |
RESERVED |
GROUND |
20 |
54 |
GROUND |
GROUND |
21 |
55 |
TERMINATED |
GROUND |
22 |
56 |
GROUND |
GROUND |
23 |
57 |
TERMINATED |
GROUND |
24 |
58 |
-ACKQ |
GROUND |
25 |
59 |
TERMINATED |
GROUND |
26 |
60 |
TERMINATED |
GROUND |
27 |
61 |
TERMINATED |
GROUND |
28 |
62 |
TERMINATED |
GROUND |
29 |
63 |
-REQQ |
GROUND |
30 |
64 |
TERMINATED |
GROUND |
31 |
65 |
-DB(24) |
GROUND |
32 |
66 |
-DB(25) |
GROUND |
33 |
67 |
-DB(26) |
GROUND |
34 |
68 |
-DB(27) |
Differential SCSI Signals
Differential SCSI is not normally used in a PC environment,
but is very popular with minicomputer installations due to the
very long bus lengths that are allowed. Although not popular
in PC systems, the interface connector specifications are show
here for reference.
The A cable (differential) connector is available in both
internal unshielded form as well as an external shielded form.
Table 15.13 shows the pinout for the Internal cable, while
Table 15.14 shows the pinout for the External cable.
Table 15.13 A Cable (Differential) Internal
Unshielded Header Connector
Signal Name |
Pin |
Pin |
Signal Name |
-RESET |
1 |
2 |
-Disk Installed |
GROUND |
1 |
2 |
GROUND |
+DB(0) |
3 |
4 |
-DB(0) |
+DB(1) |
5 |
6 |
-DB(1) |
+DB(2) |
7 |
8 |
-DB(2) |
+DB(3) |
9 |
10 |
-DB(3) |
+DB(4) |
11 |
12 |
-DB(4) |
+DB(5) |
13 |
14 |
-DB(5) |
+DB(6) |
15 |
16 |
-DB(6) |
+DB(7) |
17 |
18 |
-DB(7) |
+DB(Parity) |
19 |
20 |
-DP(Parity) |
DIFFSENS |
21 |
22 |
GROUND |
RESERVED |
23 |
24 |
RESERVED |
TERMPWR |
25 |
26 |
TERMPWR |
RESERVED |
27 |
28 |
RESERVED |
+ATN |
29 |
30 |
-ATN |
GROUND |
31 |
32 |
GROUND |
+BSY |
33 |
34 |
-BSY |
+ACK |
35 |
36 |
-ACK |
+RST |
37 |
38 |
-RST |
+MSG |
39 |
40 |
-MSG |
+SEL |
41 |
42 |
-SEL |
+C/D |
43 |
44 |
-C/D |
+REQ |
45 |
46 |
-REQ |
+I/O |
47 |
48 |
-I/O |
GROUND |
49 |
50 |
GROUND |
Table 15.14 A Cable (Differential) External
Shielded Connector
Signal Name |
Pin |
Pin |
Signal Name |
GROUND |
1 |
26 |
GROUND |
+DB(0) |
2 |
27 |
-DB(0) |
+DB(1) |
3 |
28 |
-DB(1) |
+DB(2) |
4 |
29 |
-DB(2) |
+DB(3) |
5 |
30 |
-DB(3) |
+DB(4) |
6 |
31 |
-DB(4) |
+DB(5) |
7 |
32 |
-DB(5) |
+DB(6) |
8 |
33 |
-DB(6) |
+DB(7) |
9 |
34 |
-DB(7) |
+DB(Parity) |
10 |
35 |
-DP(Parity) |
DIFFSENS |
11 |
36 |
GROUND |
RESERVED |
12 |
37 |
RESERVED |
TERMPWR |
13 |
38 |
TERMPWR |
RESERVED |
14 |
39 |
RESERVED |
+ATN |
15 |
40 |
-ATN |
GROUND |
16 |
41 |
GROUND |
+BSY |
17 |
42 |
-BSY |
+ACK |
18 |
43 |
-ACK |
+RST |
18 |
44 |
-RST |
+MSG |
20 |
45 |
-MSG |
+SEL |
21 |
46 |
-SEL |
+C/D |
22 |
47 |
-C/D |
+REQ |
23 |
48 |
-REQ |
+I/O |
24 |
49 |
-I/O |
GROUND |
25 |
50 |
GROUND |
The P cable (differential) and connector is used for 16-bit
wide SCSI connections. Table 15.15 has the pinouts for the P
cable (differential).
Table 15.15 P Cable (Differential) Internal or
External Shielded Connector
Signal Name |
Pin |
Pin |
Signal Name |
+DB(12) |
1 |
35 |
-DB(12) |
+DB(13) |
2 |
36 |
-DB(13) |
+DB(14) |
3 |
37 |
-DB(14) |
+DB(15) |
4 |
38 |
-DB(15) |
+DB(Parity 1) |
5 |
39 |
-DB(Parity 1) |
GROUND |
6 |
40 |
GROUND |
+DB(0) |
7 |
41 |
-DB(0) |
+DB(1) |
8 |
42 |
-DB(1) |
+DB(2) |
9 |
43 |
-DB(2) |
+DB(3) |
10 |
44 |
-DP(3) |
+DB(4) |
11 |
45 |
-DB(4) |
+DB(5) |
12 |
46 |
-DB(5) |
+DB(6) |
13 |
47 |
-DB(6) |
+DB(7) |
14 |
48 |
-DB(7) |
+DB(Parity 0) |
15 |
49 |
-DB(Parity 0) |
DIFFSENS |
16 |
50 |
GROUND |
TERMPWR |
17 |
51 |
TERMPWR |
TERMPWR |
18 |
52 |
TERMPWR |
RESERVED |
19 |
53 |
RESERVED |
+ATN |
20 |
54 |
-ATN |
GROUND |
21 |
55 |
GROUND |
+BSY |
22 |
56 |
-BSY |
+ACK |
23 |
57 |
-ACK |
+RST |
24 |
58 |
-RST |
+MSG |
25 |
59 |
-MSG |
+SEL |
26 |
60 |
-SEL |
+C/D |
27 |
61 |
-C/D |
+REQ |
28 |
62 |
-REQ |
+I/O |
29 |
63 |
-I/O |
GROUND |
30 |
64 |
GROUND |
+DB(8) |
31 |
65 |
-DB(8) |
+DB(9) |
32 |
66 |
-DB(9) |
+DB(10) |
33 |
67 |
-DB(10) |
+DB(11) |
34 |
68 |
-DB(11) |
The Q cable (differential) and connector is used only with
the proposed 32-bit wide SCSI implementations (which have not
been implemented by the marketplace as of yet), and in that
case would also require a 16-bit wide P cable. Table 15.16
shows the Q cable (differential) pinout.
Table 15.16 Q Cable (Differential) Internal or
External Shielded Connector
Signal Name |
Pin |
Pin |
Signal Name |
-RESET |
1 |
2 |
-Disk Installed |
+DB(28) |
1 |
35 |
-DB(28) |
+DB(29) |
2 |
36 |
-DB(29) |
+DB(30) |
3 |
37 |
-DB(30) |
+DB(31) |
4 |
38 |
-DB(31) |
+DB(Parity 3) |
5 |
39 |
-DB(Parity 3) |
GROUND |
6 |
40 |
GROUND |
+DB(16) |
7 |
41 |
-DB(16) |
+DB(17) |
8 |
42 |
-DB(17) |
+DB(18) |
9 |
43 |
-DB(18) |
+DB(19) |
10 |
44 |
-DP(19) |
+DB(20) |
11 |
45 |
-DB(20) |
+DB(21) |
12 |
46 |
-DB(21) |
+DB(22) |
13 |
47 |
-DB(22) |
+DB(23) |
14 |
48 |
-DB(23) |
+DB(Parity 2) |
15 |
49 |
-DB(Parity 2) |
DIFFSENS |
16 |
50 |
GROUND |
TERMPWRQ |
17 |
51 |
TERMPWRQ |
TERMPWRQ |
18 |
52 |
TERMPWRQ |
RESERVED |
19 |
53 |
RESERVED |
TERMINATED |
20 |
54 |
TERMINATED |
GROUND |
21 |
55 |
GROUND |
TERMINATED |
22 |
56 |
TERMINATED |
+ACKQ |
23 |
57 |
-ACKQ |
TERMINATED |
24 |
58 |
TERMINATED |
TERMINATED |
25 |
59 |
TERMINATED |
TERMINATED |
26 |
60 |
TERMINATED |
TERMINATED |
27 |
61 |
TERMINATED |
+REQQ |
28 |
62 |
-REQQ |
TERMINATED |
29 |
63 |
TERMINATED |
GROUND |
30 |
64 |
GROUND |
+DB(24) |
31 |
65 |
-DB(24) |
+DB(25) |
32 |
66 |
-DB(25) |
+DB(26) |
33 |
67 |
-DB(26) |
+DB(27) |
34 |
68 |
-DB(27) |
Termination
All buses need to be electrically terminated at each end;
the SCSI bus is no exception. Improper termination still is
one of the most common problems in SCSI installations. Three
types of terminators typically are available for the SCSI bus:
- Passive
- Active (also called Alternative 2)
- Forced Perfect Termination (FPT): FPT-3, FPT-18, and
FPT-27
Typical passive terminators (a network of resistors) allow
signal fluctuations in relation to the terminator power signal
on the bus. Usually, passive terminating resistors suffice
over short distances, such as 2 or 3 feet, but for longer
distances, active termination is a real advantage. Active
termination is required with Fast SCSI.
An active terminator actually has one or more voltage
regulators to produce the termination voltage, rather than
resistor voltage dividers. This arrangement helps ensure that
the SCSI signals always are terminated to the correct voltage
level. Active terminators will usually have some sort of LED
indicating the termination activity. The SCSI-2 specification
recommends active termination on both ends of the bus and
requires active termination whenever Fast or Wide SCSI devices
are used. Most high-performance host adapters have an
"auto-termination" feature so if it is the end of a chain, it
will terminate itself.
A variation on active termination is available: Forced
Perfect Termination. Forced Perfect Termination is an
even better form of active termination, in which diode clamps
are added to eliminate signal overshoot and undershoot. The
trick is that instead of clamping to +5 and Ground, these
terminators clamp to the output of two regulated voltages.
This arrangement enables the clamping diodes to eliminate
signal overshoot and undershoot, especially at higher
signaling speeds and over longer distances.
FPT terminators are available in several versions. FPT-3
and FPT-18 versions are available for 8-bit standard SCSI,
while the FPT-27 is available for 16-bit (Wide) SCSI. The
FPT-3 version forces perfect the three most highly active SCSI
signals on the 8-bit SCSI bus, while the FPT-18 forces perfect
all the SCSI signals on the 8-bit bus except grounds. FPT-27
also forces perfect all of the 16-bit Wide SCSI signals except
grounds.
NOTE: Several companies make high-quality
terminators for the SCSI bus, including Aeronics and the
Data Mate division of Methode. Both of these companies make
a variety of terminators, but Aeronics is well-noted for
some unique FPT versions that are especially suited to
problem configurations that require longer cable runs or
higher signal integrity. One of the best investments that
you can make in any SCSI installation is in high-quality
cables and terminators.
SCSI Drive Configuration
SCSI drives are not too difficult to configure, especially
compared with IDE drives. The SCSI standard controls the way
that the drives must be set up. You need to set two or three
items when you configure an SCSI drive:
- SCSI ID setting (0-7)
- Terminating resistors
The SCSI ID setting is very simple. Up to eight SCSI
devices can be used on a single SCSI bus, and each device must
have a unique SCSI ID address. The host adapter takes one
address, so the rest are free for up to seven SCSI
peripherals. Most SCSI host adapters are factory-set to ID 7,
which is the highest-priority ID. All other devices must have
unique IDs that do not conflict with one another. Some host
adapters boot only from a hard disk set to a specific ID. In
my system, for example, the IBM SCSI host adapter requires the
boot drive to be set to ID 6. Newer IBM host adapters and
systems enable you to boot from a hard disk at any SCSI ID.
Older Adaptec host adapters required the boot hard disk to be
ID 0; newer ones can boot from any ID.
Setting the ID usually involves changing jumpers on the
drive itself. If the drive is installed in an external
chassis, the chassis may have an ID selector switch that is
accessible at the rear. This selector makes ID selection a
simple matter of pressing a button or rotating a wheel until
the desired ID number appears. If no external selector is
present, you must open the external device chassis and set the
ID via the jumpers on the drive.
Three jumpers are required to set the SCSI ID; the
particular ID selected actually is derived from the binary
representation of the jumpers themselves. For example, setting
all three ID jumpers off results in a binary number of 000b,
which translates to an ID of 0. A binary setting of 001b
equals ID 1, 010b equals 2, 011b equals 3, and so on. (Notice
that as I list these values, I append a lowercase b to
indicate binary numbers.)
Unfortunately, the jumpers can appear either forward or
backward on the drive, depending on how the manufacturer set
them up. To keep things simple, I have recorded all the
different ID jumper settings in the following tables. Table
15.17 shows the settings for drives that order the jumpers
with the Most Significant Bit (MSB) to the left; Table 15.18
shows the settings for drives that have the jumpers ordered so
that the MSB is to the right.
Table 15.17 SCSI ID Jumper Settings with the
Most Significant Bit to the Left
SCSI |
ID |
Jumper |
Settings |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
2 |
0 |
1 |
0 |
3 |
0 |
1 |
1 |
4 |
1 |
0 |
0 |
5 |
1 |
0 |
1 |
6 |
1 |
1 |
0 |
7 |
1 |
1 |
1 |
1 = Jumper On, 0 = Jumper Off
Table 15.18 SCSI ID Jumper Settings with the
Most Significant Bit to the Right
SCSI |
ID |
Jumper |
Settings |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
2 |
0 |
1 |
0 |
3 |
1 |
1 |
0 |
4 |
0 |
0 |
1 |
5 |
1 |
0 |
1 |
6 |
0 |
1 |
1 |
7 |
1 |
1 |
1 |
1 = Jumper On, 0 = Jumper Off
SCSI termination is very simple. Termination is required at
both ends of the bus; there are no exceptions. If the host
adapter is at one end of the bus, it must have termination
enabled. If the host adapter is in the middle of the bus, and
if both internal and external bus links are present, the host
adapter must have its termination disabled, and the devices at
each end of the bus must have terminators installed. Several
types of terminators are available, differing both in quality
and in appearance. Active terminators are the minimum
recommended, and Forced Perfect Terminators (FPT) are
considered the best available. For more information on the
different types, see the previous section on terminators.
The rules are simple: Use the best terminators possible,
and make sure that only the ends of the SCSI bus are
terminated. The majority of problems that I see with SCSI
installations are the result of improper termination. Some
devices have built-in termination resistors that are enabled
or disabled through a jumper or by being physically removed.
Other devices do not have built-in terminating resistors;
these devices instead rely on external terminator modules for
termination.
When installing an external SCSI device, you will usually
find the device in a storage enclosure with both input and
output SCSI connectors, so that you can use the device in a
daisy chain. If the enclosure is at the end of the SCSI bus,
an external terminator module most likely will have to be
plugged into the second (outgoing) SCSI port to provide proper
termination at that end of the bus (see Figure 15.5).
FIG.
15.5 External SCSI device
terminator.
External terminator modules are available in a variety of
connector configurations, including pass-through designs,
which are needed if only one port is available. Pass-through
terminators also are commonly used in internal installations
in which the device does not have built-in terminating
resistors. Many hard drives use pass-through terminators for
internal installations to save space on the logic-board
assembly (see Figure 15.6).
The pass-through models are required when a device is at
the end of the bus and only one SCSI connector is
available.
FIG.
15.6 Internal pin-header
connector pass-through SCSI terminator.
TIP: Remember to stick with high-quality
active or Forced Perfect terminators at each end of the bus,
and you will eliminate most common termination problems.
Other configuration items on a SCSI drive can be set via
jumpers. Following are several of the most common additional
settings that you will find:
- Start on Command (delayed start)
- SCSI Parity
- Terminator Power
- Synchronous Negotiation
These configuration items are described in the following
sections.
Start On Command (Delayed Start)
If you have multiple drives installed in a system, it is
wise to set them up so that all the drives do not start to
spin immediately when the system is powered on. A hard disk
drive can consume three or four times more power during the
first few seconds after power-on than during normal operation.
The motor requires this additional power to get the platters
spinning quickly. If several drives are drawing all this power
at the same time, the power supply may be overloaded, which
can cause the system to hang or to have intermittent startup
problems.
Nearly all SCSI drives provide a way to delay drive
spinning so that this problem does not occur. When most SCSI
host adapters initialize the SCSI bus, they send out a command
called Start Unit to each of the ID addresses in
succession. By setting a jumper on the hard disk, you can
prevent the disk from spinning until it receives the Start
Unit command from the host adapter. Because the host
adapter sends this command to all the ID addresses in
succession, from the highest-priority address (ID 7) to the
lowest (ID 0), the higher-priority drives can be made to start
first, with each lower-priority drive spinning up
sequentially. Because some host adapters do not send the
Start Unit command, some drives may simply delay
spinup for a fixed number of seconds rather than wait for a
command that never will arrive.
If drives are installed in external chassis with separate
power supplies, you need not implement the delayed-start
function. This function is best applied to internal drives
that must be run from the same power supply that runs the
system. For internal installations, I recommend setting Start
on Command (delayed start) even if you have only one SCSI
drive; this setting will ease the load on the power supply by
spinning the drive up after the rest of the system has full
power. This method is especially good for portable systems and
other systems in which the power supply is limited.
SCSI Parity
SCSI Parity is a limited form of error checking that helps
ensure that all data transfers are reliable. Virtually all
host adapters support SCSI parity checking, so this option
should be enabled on every device. The only reason why it
exists as an option is that some older host adapters do not
work with SCSI parity, so the parity must be turned off.
Terminator Power
The terminators at each end of the SCSI bus require power
from at least one device on the bus. In most cases, the host
adapter supplies this terminator power; in some cases,
however, it does not. For example, parallel-port SCSI host
adapters typically do not supply terminator power. It is not a
problem if more than one device supplies terminator power
because each source is diode-protected. For simplicity's sake,
many will configure all devices to supply terminator power. If
no device supplies terminator power, the bus will not be
terminated correctly and will not function properly.
SCSI Synchronous Negotiation
The SCSI bus can run in two modes: asynchronous (the
default) and synchronous. The bus actually switches
modes during transfers through a protocol called
synchronous negotiation. Before data is transferred
across the SCSI bus, the sending device (called the
initiator) and the receiving device (called the
target) negotiate how the transfer will take place. If
both devices support synchronous transfers, they will discover
this fact through the negotiation, and the transfer will take
place at the faster synchronous rate.
Unfortunately, some older devices do not respond to a
request for synchronous transfer and can actually be disabled
when such a request is made. For this reason, both host
adapters and devices that support synchronous negotiation
often have a jumper that can be used to disable this
negotiation so that it can work with older devices. By
default, all devices today should support synchronous
negotiation, and this function should be enabled.
Plug and Play (PnP) SCSI
Plug and Play SCSI was originally released in April 1994.
This specification allows SCSI device manufacturers to build
PnP peripherals that will automatically configure when used
with a PnP operating system. This will allow you to easily
connect or reconfigure external peripherals, such as hard disk
drives, backup tapes, and CD-ROMs.
To connect SCSI peripherals to the host PC, the
specification requires a PnP SCSI host adapter such as PnP ISA
or PCI. PnP add-in cards enable a PnP operating system to
automatically configure software device drivers and system
resources for the host bus interface.
The PnP SCSI specification version 1.0 includes these
technical highlights:
- A single cable-connector configuration
- Automatic termination of the SCSI bus
- SCAM (SCSI Configured AutoMatically) automatic ID
assignment
- Full backward compatibility of PnP SCSI devices with the
installed base of SCSI systems.
This should go a long way in making SCSI easier to use for
the normal user.
Each SCSI peripheral that you add to your SCSI bus (other
than hard disk drives) requires an external driver to make the
device work. Hard disks are the exception; driver support for
them normally is provided as part of the SCSI host adapter
BIOS. These external drivers are specific not only to a
particular device, but also to the host adapter.
Recently, two types of standard host adapter interface
drivers have become popular, greatly reducing this problem. By
having a standard host adapter driver to write to, peripheral
makers can more quickly create new drivers that support their
devices and then talk to the universal host adapter driver.
This arrangement eliminates dependence on one particular type
of host adapter. These primary or universal drivers link the
host adapter and the operating system.
The Advanced SCSI Programming Interface (ASPI)
currently is the most popular universal driver, with most
peripheral makers writing their drivers to talk to ASPI. The A
in ASPI used to stand for Adaptec, the company that introduced
it, but other SCSI device vendors have licensed the right to
use ASPI with their products. DOS does not support ASPI
directly, but it does when the ASPI driver is loaded. Windows
95, Windows NT, and OS/2 2.1 and later versions provide
automatic ASPI support for several SCSI host adapters.
Future Domain and NCR have created another interface driver
called the Common Access Method (CAM). CAM is an
ANSI-approved protocol that enables a single driver to control
several host adapters. In addition to ASPI, OS/2 2.1 and later
versions currently offer support for CAM. Future Domain also
provides a CAM-to-ASPI converter in the utilities that go with
its host adapters.
SCSI Configuration Tips
When you are installing a chain of devices on a single SCSI
bus, the installation can get complicated very quickly. Here
are some tips for getting your setup to function quickly and
efficiently:
- Start by adding one device at a time. Rather than
plug numerous peripherals into a single SCSI card and then
try to configure them at the same time, start by installing
the host adapter and a single hard disk. Then you can
continue installing devices one at a time, checking to make
sure that everything works before moving on.
- Keep good documentation. When you add a SCSI
peripheral, write down the SCSI ID address as well as any
other switch and jumper settings, such as SCSI Parity,
Terminator Power, and Delayed and/or Remote Start. For the
host adapter, record the BIOS addresses, Interrupt, DMA
channel, and I/O Port addresses used by the adapter, as well
as any other jumper or configuration settings (such as
termination) that might be important to know later.
- Use proper termination. Each end of the bus must
be terminated, preferably with active or Forced Perfect
(FPT) terminators. If you are using any Fast SCSI-2 device,
you must use active terminators rather than the cheaper
passive types. Even with standard (slow) SCSI devices,
active termination is highly recommended. If you have only
internal or external devices on the bus, the host adapter
and last device on the chain should be terminated. If you
have external and internal devices on the chain, you
generally will terminate the first and last of these devices
but not the SCSI host adapter itself (which is in the middle
of the bus).
- Use high-quality shielded SCSI cables. Make sure
that your cable connectors match your devices. Use
high-quality shielded cables, and observe the SCSI
bus-length limitations. Use cables designed for SCSI use
and, if possible, stick to the same brand of cable
throughout a single SCSI bus. Different brands of cables
have different impedance values; this situation sometimes
causes problems, especially in long or high-speed SCSI
implementations.
Following these simple tips will help minimize problems and
leave you with a trouble-free SCSI installation.
IDE versus SCSI
When you compare the performance and capabilities of IDE
and SCSI interfaced drives, you need to consider several
factors. These two types of drives are the most popular drives
used in PC systems today, and a single manufacturer may make
identical drives in both interfaces. Deciding which drive type
is best for your system is a difficult decision that depends
on many factors.
In most cases, you will find that an IDE drive outperforms
an equivalent SCSI drive at a given task or benchmark, and
that IDE drives usually cost less than SCSI drives, thus
offering better value. In some cases, however, SCSI drives
have significant performance and value advantages over IDE
drives.
Performance
ATA IDE drives currently are used in most PC configurations
on the market today, because the cost of an IDE-drive
implementation is low and the performance capabilities are
high. In comparing any given IDE and SCSI drive for
performance, you have to look at the capabilities of the HDAs
that are involved.
To minimize the variables in this type of comparison, it is
easiest to compare IDE and SCSI drives from the same
manufacturer that also use the identical HDA. You will find
that in most cases, a drive manufacturer makes a given drive
available in both IDE and SCSI forms. For example, Seagate
makes the ST-3600A (ATA-IDE) and ST-3600N (Fast SCSI-2)
drives, both of which use identical HDAs and which differ only
in the logic board. The IDE version has a logic board with a
built-in disk controller and a direct AT Bus interface. The
SCSI version has the same built-in disk controller and bus
interface circuits, and also an SBIC chip. The SBIC chip is a
SCSI adapter that places the drive on the SCSI bus. What you
will find, in essence, is that virtually all SCSI drives
actually are IDE drives with the SBIC chip added.
The HDAs in these example drives are capable of
transferring data at a sustained rate of 2.38M to 4M/sec.
Because the SCSI version always has the additional overhead of
the SCSI bus to go through, in almost all cases the directly
attached IDE version performs faster.
SCSI versus IDE: Advantages and
Limitations
IDE drives have much less command overhead for a given
sector transfer than do SCSI drives. In addition to the
drive-to-controller command overhead that both IDE and SCSI
must perform, a SCSI transfer involves negotiating for the
SCSI bus; selecting the target drive; requesting data;
terminating the transfer over the bus; and finally converting
the logical data addresses to the required cylinder, head, and
sector addresses. This arrangement gives IDE an advantage in
sequential transfers handled by a single-tasking operating
system. In a multitasking system that can take advantage of
the extra intelligence of the SCSI bus, SCSI can have the
performance advantage.
SCSI drives offer significant architectural advantages over
IDE and other drives. Because each SCSI drive has its own
embedded disk controller that can function independently from
the system CPU, the computer can issue simultaneous commands
to every drive in the system. Each drive can store these
commands in a queue and then perform the commands
simultaneously with other drives in the system. The data could
be fully buffered on the drive and transferred at high speeds
over the shared SCSI bus when a time slot was available.
Although IDE drives also have their own controllers, they
do not operate simultaneously, and command queuing is not
supported. In effect, the dual controllers in a dual-drive IDE
installation work one at a time so as not to step on each
other.
Although SCSI drives require an additional-cost host
adapter card, more and more PCs require tape-backup, CD-ROM,
or optical-drive support and thus must still be configured
with a SCSI host bus adapter. This means that the incremental
cost of supporting SCSI drives is virtually nil, because the
SCSI host bus adapter is shared with other devices, such as
tape and optical drives. In addition, all major operating
systems today include software support for a wide range of
SCSI devices.
What are the limitations of IDE?
- IDE does not support overlapped, multitasked
I/O.
- IDE does not support command queuing.
- IDE does not support bus mastering.
As you can see, SCSI has some advantages over IDE,
especially where expansion is concerned, and also with regard
to support for multitasking operating systems. Unfortunately,
it also costs more to implement.
Recommended Aftermarket Controllers
and Host Adapters
Many companies manufacture disk controllers for IBM and
IBM-compatible systems. Many newer systems include IDE drives,
which have built-in controllers and offer a high level of
performance at a low cost. Other systems are using SCSI drives
because of the inherent flexibility of the SCSI bus in
supporting many drives and other peripherals.
I recommend IDE drives for most standard installations
because the connections are simple and the drives are
inexpensive for the power. For higher-end systems, or for
systems in which upgradability and flexibility are most
important, I recommend SCSI drives.
Recommended SCSI Host Adapters
For SCSI host adapters, I normally recommend Adaptec. Their
adapters work well and come with the necessary formatting and
operating software. Windows 95, Windows NT, and OS/2 have
built-in support for Adaptec SCSI adapters. This support is a
consideration in many cases, because it frees you from having
to deal with additional drivers.
Standard or Fast SCSI is adequately supported by the ISA
bus, but if you are going to install a Fast-Wide SCSI bus, or
especially an Ultra-Wide bus, then you should consider some
form of local bus SCSI adapter, normally PCI. This is because
the ISA bus supports a maximum transfer speed of about 8M/sec,
while a Fast-Wide SCSI bus runs up to 20M/sec, and an
Ultra-Wide SCSI bus runs up to a blazing 40M/sec! In most
cases, a local bus SCSI adapter would be a PCI bus version,
which is supported in most current PC systems.
One example of a popular SCSI adapter for the PCI bus is
the Adaptec AHA-2940AU (see Figure 15.7) and 2940UW. The
2940AU is an Ultra-SCSI adapter and the 2940UW is Ultra-Wide.
These adapters are most notable for their ease of installation
and use. Virtually all functions on the card can be configured
and set through software. No more digging through manuals or
looking for Interrupt, DMA, I/O Port, and other jumper
settings--everything is controlled by software and saved in a
flash memory module on the card. Following are some of the
features of this card:
- Complete configuration utility built into the adapter's
ROM
- Software-configurable IRQ, ROM addresses, DMA, I/O Port
addresses, SCSI Parity, SCSI ID, and other settings
- Software-selectable termination (no resistors to pull
out!)
- Enhanced BIOS support for up to eight 7.88G
drives
- No drivers required for more than two hard disks
- Drive spinup on a per-drive basis available
- Boots from any SCSI ID
FIG.
15.7 An Adaptec AHA-2940AU SCSI
host adapter.
More recently, Adaptec has released full PnP versions of
their SCSI adapters. These adapters will be automatically
configured in any PC that supports the PnP specification, or
they can be configured manually through supplied software in
non-PnP systems. The PnP SCSI adapters are highly recommended
because they can be configured without opening up the PC! All
functions are set by software, and there are no jumpers or
switches to attend to. Most peripheral manufacturers write
drivers for Adaptec's cards first, so you will not have many
compatibility or driver-support problems with any Adaptec
card.
Disk Hardware and Software
Limitations
By studying the capabilities of the different disk
interfaces as well as the ROM BIOS and operating systems, it
is possible to determine the limits on disk storage. The
following section details the limits under the different
interfaces and operating systems.
Disk Interface Capacity
Limitations
Different disk interfaces have different limitations on the
theoretical maximum drive capacities that they may support.
These limitations are due to variations in the way that each
interface operates at the hardware level. It is important to
note that even though a particular interface may permit access
to a given amount of disk real estate, the BIOS and DOS
usually are much more limiting and end up being the true
limits for system disk capacity.
ST-506/412, ESDI, and IDE
To determine the capacity limits for the ST-506/412, ESDI,
or IDE interface, you first need to determine the limits on
the maximum number of cylinders, heads, and sectors per track.
To do so, look at the size of the registers that hold this
data in the controller. All these interfaces have the same
controller register specifications, so the capacity limits
calculated here apply to all of them. As you will see, the
interface capacity limits are quite high. The drive parameter
limits are as follows:
Cylinders (16 bits) = 65,536
Heads (4 bits) = 16
Sectors (8 bits) = 256
This calculates to a maximum theoretical drive size of:
65,536 cylinders x 16 heads x 256 sectors x 512 bytes =
137,438,953,472 bytes (128G)
Unfortunately, the maximum capacity--128G--is limited by
the BIOS. There are two different BIOS types with regards to
disk size limitations. The standard BIOS built into most
systems is limited to 1,024 cylinders, 16 heads, and 63
sectors per track. If the BIOS is an enhanced version, it will
be limited to 1,024 cylinders, 256 heads, and 63 sectors per
track. Combining the BIOS and interface limits results in the
following maximum capacities (assuming 512-byte sectors):
Limit with Standard BIOS: 1,024 cylinders x 16
heads x 63 sectors = 528,482,304 bytes (504M)
Limit with Enhanced BIOS: 1,024 cylinders x 256
heads x 63 sectors = 8,455,716,864 bytes
(7.88G)
If you do not have enhanced BIOS support on your
motherboard, you could add an IDE bus adapter that has an
on-board enhanced BIOS. To get around such BIOS problems, some
IDE drive implementations greater than 528 million bytes split
the drive to act as two physical units. In this case, the
drive would appear on the IDE bus connector as being both
master and slave, and could be used only as two 504M
maximum-size drives.
ATA-2 has defined LBA support for EIDE. This is a Logical
Block Address mode where each sector on the drive is numbered
from 0 to x. The limitations are that x is a
28-bit number that has a maximum value of 268,435,456. Using
512-byte sectors, this brings the maximum drive capacity to
137,438,953,472. That is coincidentally the same as the IDE
internal limit has always been. The LBA is translated by the
ATA-2/EIDE enhanced BIOS to the extended Cylinder, Head, and
Sector (CHS) parameters which allow a maximum of 1,024
cylinders, 256 heads, and 63 sectors, respectively.
SCSI
According to the SCSI specification, drives are not
addressed by cylinders, heads, and sectors but instead by what
is called a Logical Block Address (LBA). This is a sector
number in which all the sectors on the drive are numbered
sequentially from start to finish. The LBA is specified by a
32-bit number and with 512-byte sectors, results in the
following limitation:
4,294,967,296 LBAs (sectors) x 512 bytes =
2,199,023,255,552 bytes (2,048G or 2T)
As you can see, SCSI drive capacity limits are extremely
high. However, because the SCSI drive must appear to the BIOS
as being a given number of cylinders, heads, and sectors per
track, the BIOS limits SCSI capacity. Virtually all SCSI
adapters have an enhanced BIOS that supports a maximum drive
capacity as follows (assuming 512-byte sectors):
SCSI with Enhanced BIOS: 1,024 cylinders x 256
heads x 63 sectors = 8,455,716,864 bytes (7.88G)
TIP: If you do not have enhanced BIOS support
in your SCSI adapter or motherboard, in some cases you can
load an external driver for your adapter to provide this
support.
Most systems support up to four SCSI host adapters, each
with up to seven hard disk drives, for a total 28 physically
installed drives.
ROM BIOS Capacity Limitations
In addition to the capacity limit of 504M, the standard ROM
BIOS is limited to supporting only two hard disk drives. The
enhanced BIOS is limited to 128 drives maximum. Most SCSI and
IDE adapters get around the two-drive standard BIOS limits by
incorporating an enhanced BIOS on board that takes over the
disk interface. Some of the newer adapter on-board BIOS
versions support booting from CD-ROM drives as well.
Operating System Capacity
Limitations
IBM and Microsoft officially say that DOS 5 and later
versions will support up to eight physical hard disks. IBM
says that OS/2 1.30.1 and later versions (including 2.x)
support up to 24 physical hard disks, and because OS/2
includes DOS, that implies that DOS under OS/2 would support
24 physical drives as well. OS/2 HPFS (High Performance File
System) also supports a maximum partition size of 8G and a
maximum single-file size of 2G, whereas DOS and OS/2 FAT
partitions have a maximum size of 2G and a maximum single-file
size of 2G. As you have seen, BIOS limitations currently limit
the maximum physical hard disk size to about 7.88G (or about
8.46 million bytes).
|