Contents of the ESDISCSI.TXT file
Disk Interfaces for the High End
PC Tech Journal - v7 n2 p76 February 1989
by Peter G. Aitken
A 25-MHz, 80386-based system without the right peripheral interface is just
a fast machine spinning its wheels. Two hard-disk interfaces, ESDI and
SCSI, keep pace with today's high-end machines. You can get ahead of
yourself more quickly in computing than most any field. No sooner do you
upgrade one component in your system--just to keep stride with the
industry--when another appears miserably slow by comparison. So it goes.
When the IBM PC/XT was introduced in 1983, its 10MB 100-millisecond hard
disk was a marvel of technology, with unheard-of storage capacity and
speed. The hard disk connected to the PC's 8-bit bus (which ran at a
"blazing" 4.77 MHz) via the popular ST-506 hard-disk interface developed by
Al Shugart of Seagate Technologies.
Technology has progressed such that ST-506 no longer keeps pace with
high-end systems. Two interface standards have supplanted ST-506: the
enhanced small device interface (ESDI) and the small computer systems
interface (SCSI). Both are considerably faster, and each has
characteristics that recommend it for certain configurations.
During its tenure, ST-506 was more than adequate for the job. In fact, the
ST-506/disk combination transferred data much faster than the computer
could process them. This forced hardware designers to reduce the hard
disk's data-transfer rate by formatting it with an interleave factor of 6,
thereby synchronizing the transfer rate with the host system's processing
speed. The effective transfer rate was approximately 85KB per second
Computer hardware engineers simply have a penchant for making things go
faster. They soon produced faster (and larger) hard disks, with typical
access times of 40 ms, and faster computers--the PC/AT came out of the gate
in 1984 running its 16-bit bus at 6, then 8 MHz. Yet, the ST-506 interface
was still up to the task, achieving data-transfer rates of about 165 KB/s
in an AT, roughly double that in an XT.
Enter the 80386 in 1986 and, not long after, a rush of 20- and 25-MHz
computers, with hard-disk access times in the teens of milliseconds. Now
an ST-506 interface creates a serious data flow bottleneck because its
maximum data-transfer rate is significantly slower than the throughput
capacities of the disk and the computer. Some manufacturers enhance ST-506
performance with faster transfer speeds and run length limited (RLL) data
encoding to increase data density on the disk. Nevertheless, inherent
ST-506 limitations (primarily its slow transfer rate) make enhancing its
performance impossible for today's high-end systems.
Not surprisingly, 1986 also saw the establishment of ESDI and SCSI.
Together, they have almost completely displaced ST-506 as the interface of
choice for network file servers and other high-performance applications.
Most high-end PC systems are available with ESDI controllers as standard
equipment, and many vendors offer both ESDI and SCSI hard-disk systems as
These two interfaces are superior to ST-506 primarily in their high
transfer rates--about an order of magnitude faster. The maximum
data-transfer rate of a hard-disk system is limited by the rate that data
pass the read head, which is a function of two factors: rotation speed and
recording density. All 5.25-inch hard disks rotate at 60 revolutions per
second. ST-506 disks use 512 bytes per sector and 17 sectors per track.
The result is a best-case transfer rate of (60*512*17*8) or 4,177,920 bits
per second. Higher rates can be obtained by increasing either the sectors
per track or the sector size. However, ST-506 is further limited because it
is designed to transmit data at 5 megabits per second. With transmission
rates of 10 megabits per second and higher, ESDI and SCSI can exploit
higher recording densities.
The ESDI specification describes the electrical and physical interface
between a disk controller and an external-storage device, as shown in
figure 1. ESDI covers neither the communications between controller and
host system nor the details of recording data on the external device.
In contrast, SCSI defines a system bus for data transfer between a host
system and several external devices, each with its own controller (see
figure 2). Besides the electrical and physical characteristics of this
bus, the SCSI specification defines a set of commands through which devices
on the bus communicate with each other. Like ESDI, SCSI leaves open the
details on both ends of the connection--how host software communicates with
the SCSI adapter and how the individual controllers implement the commands
they read from the bus.
CONTROLLING WITH ESDI
The ESDI specification merges three narrower specifications: the enhanced
small disk (magnetic) interface, the enhanced small tape interface, and the
enhanced small disk (optical) interface. As an ANSI draft standard, it is
circulating for comment before final approval.
ESDI interfaces the computer's bus to a specific hardware device, which can
include magnetic tape, optical hard disks, printers, and
host-communications adapters, as well as magnetic hard disks (considered
here). Controller circuitry is located on the host adapter, which is either
on a circuit board plugged into an expansion slot or incorporated onto the
system board. One controller board controls as many as seven disk drives.
Physical connections between controller and drives consist of two cables
that carry data and control signals. A 20-conductor data cable is
connected radially, a separate cable going to each drive; a 34-conductor
control cable is daisy-chained from drive to drive. Maximum cable length is
3 meters. Data are transmitted serially over two pairs of differential
signal lines, one pair for each direction.
The controller exchanges control and status information with the disk in
two ways. In the first, the controller activates the appropriate dedicated
control lines: 15 in the control cable (10 sending requests from controller
to drive, 5 from drive to controller), plus 5 in the data cable (1 from
controller to disk, 4 from disk to controller).
In the second, the controller sends command words via the serial command
data line in the control cable. Some commands request status from the
disk, which is transmitted serially back to the controller on the
configuration/status data line. All commands and responses are 16 bits,
plus 1 parity bit. Only 11 commands are available, two of which request a
response from the disk (see table 1). Host software never directly issues
these commands nor sees responses.
Actual data are transmitted serially between controller and drive at the
rate of the read/write clock (currently specified as 10 MHz). Assuming an
average 10 bits per data byte (allowing for error correction and address
data), this produces an effective transfer rate of about 1MB per second
The controller specifies the location of data to be read or written by
physical address consisting of cylinder number, head number, and sector
number. As shown in table 2, the number of bits and signal lines available
to specify the various components of the address allows a maximum
theoretical capacity of one terabyte (1TB--that is, 240 bytes, or 1 million
megabytes). The limitations of the host system, however, can impose
different limits on the device. For example, DOS and OS/2 require a sector
size of 512 bytes, cutting the maximum capacity by a factor of eight, to
The focus of ESDI is quite narrow. It leaves many details on both sides of
the controller-disk interface undefined, most importantly, the software
interface between host and controller. Implementors can choose different
command structures, so that two ESDI controllers are incompatible at the
software level. The device drivers, whether in ROM BIOS or in RAM, must
adapt different devices to an operating system.
For example, the host command structure for the ESDI controller in the IBM
PS/2 Model 70 (for both 60MB and 120MB disks) specifies disk locations in
terms of 32-bit logical sector numbers, rather than cylinder, head, and
sector. The host-controller interface can restructure the drive into
logical dimensions that differ from the physical ones. More specifically,
the 120MB disk on the PS/2 Model 70-121 has 920 cylinders, 8 heads, and 32
sectors per track. DOS, however, reports the disk as having 115 cylinders,
64 heads, and 32 sectors per track. Each logical cylinder, therefore,
contains exactly 220 bytes (1MB), making it easier to specify partition
sizes in cylinders when partitioning the disk with FDISK.
On the other side of the controller, the ESDI specification does not
mandate the actual recording methodology, redundancy for error recovery, or
format of sector address marks. Within the controller itself, the standard
makes no requirement for buffering or error correction. An original
equipment manufacturer (OEM) can provide a design for these aspects of the
disk subsystem. Thus, the range of possible implementations of an ESDI
disk subsystem is quite broad, with a corresponding spread of performance.
The SCSI specification, defined by ANSI standard X3.131-1986, grew out of
the earlier SASI (Shugart Associates System Interface) developed in 1979 to
connect 8-inch Winchester disk drives to microcomputers. It since has been
enhanced to control tape drives, printers, coprocessors, and optical disks.
SCSI is not a device interface, but rather specifies the physical and
electrical characteristics of a bus for interconnecting several
peripherals, a set of commands for controlling them, and a protocol for
arbitrating contention and controlling communications among them. The bus
is a 50-conductor cable that daisy-chains as many as eight devices. The
maximum length between devices is 6 meters if the cable is wired with
single-ended signal pairs (one wire of each pair grounded) or 25 meters
with differential signal pairs (complementary signals on the wires of a
pair). The current SCSI standard specifies an 8-bit data width within this
bus; the proposed SCSI II specification expands this to 32 bits (see the
accompanying sidebar, "SCSI II is Due").
Each device on the bus is an initiator that makes requests of other devices
(for example, a host computer), a target that carries out the request (for
example, a disk drive), or both (for example, a coprocessor that responds
to the CPU and requests services from disk or memory subsystems). An
initiator connects to the bus through a SCSI host adapter, which, like a
device controller, is either plugged into an expansion slot or built onto
the host system board. Each target device consists of a SCSI peripheral
adapter, a device controller, and as many as eight peripherals. One SCSI
bus thus connects a single host to as many as 56 peripherals.
Only two devices can communicate over the SCSI bus at one time. An
initiator must wait for the bus to be free before taking control; if
several initiators request the bus simultaneously, the one with the highest
priority gets it (priorities are fixed at installation time). A
higher-priority device cannot preempt the bus; the priorities matter only
in arbitrating multiple requests when the bus is free. In systems with
only one initiator, the host interface can be configured without this
Once the initiator controls the bus, it establishes communications with a
target device by means of hardware handshake lines, then gives the target
control. Thereafter, the target controls the transfer of all data on the
bus: it requests the commands from the initiator, indicates when it is
ready to send or receive data or send status information, and frees the bus
at the completion of the command. In a system with bus arbitration
enabled, the target can release the bus before the completion of the
command (for example, during a disk seek), then request the bus, as if it
were an initiator, when the time-consuming operation ends.
The default data-transfer protocol on the SCSI bus is asynchronous, in
which the target and initiator exchange a request/acknowledge handshake for
each byte of data transferred. In this mode, the transfer rate is about 1
MB/s. Manufacturers can configure devices to support a synchronous protocol
that sends data bytes at fixed intervals without handshaking; this method
achieves a rate of 3 to 4 MB/s.
A large portion of the SCSI standard describes the command set that the
initiator uses to request services from the target. Table 3 lists the
commands for read/write disk drives. For each type of device, the commands
divide into four types: mandatory, extended, optional, and vendor-unique.
All SCSI implementations must support mandatory commands. The extended
command set supports devices of higher capacity and enables
self-configuring software drivers dynamically to determine the
characteristics of extended-mode devices. Optional commands add
functionality but are not required for conformance to SCSI. The standard
does not specify vendor-unique commands, but manufacturers can define them
The data space of a SCSI device is organized logically as a linear array of
blocks. Data-transfer commands specify a logical block number and the
number of blocks to transfer. The mandatory set of commands allows 21 bits
for the block address (about 2 million blocks) and 8 bits for the block
count; the extended set uses a 32-bit block address and 16 bits for the
block count. The maximum length of a block is 16MB in the mandatory set
and 4GB in the extended, yielding theoretical maximum capacities on the
order of 1012 and 1018 bytes, respectively. The realities of host software
on one end and peripheral construction on the other limit actual
capacities. APPLES AND TENNIS BALLS Comparing SCSI with ESDI is like
comparing apples with tennis balls. SCSI is not a hard-disk controller,
but rather a bus, with a command set, that connects a computer to the
actual hard-disk controller located on the peripheral, which
could--theoretically--be an ESDI controller. The two standards were
designed for quite different purposes.
When selecting a high-performance, hard-disk system, your choice will be
between ESDI and SCSI. Hardware specifications, such as data-transfer
speed, are only part of the comparison. The choice of interface affects
system design in many other ways.
The maximum data transfer rate of an interface is the fastest rate the
interface transfers data between the computer and the hard disk under ideal
conditions--that is, when neither the computer nor the hard disk slows the
system down. In this measure, ESDI and SCSI are, for all practical
purposes, equivalent. Current implementations of both operate at 10 MHz,
or 10 million bits per second (Mbps), which, at 8 bits per byte, translates
to 1.25 MB/s. Not all of these bytes are user data, however (some are error
correction code and address marks), so these speeds trans- late into a
maximum data-transfer rate of just less than 1 MB/s.
Accessing a hard disk involves more than the data transfer itself. The
interface must translate commands from the operating system or application
program into signals that control the hard-disk hardware. With ESDI, this
is a one-step process performed by controller circuitry on the host
SCSI, on the other hand, requires two steps. First, the host adapter
converts the operating system commands to SCSI bus commands. Then, the
circuitry on the hard disk converts the SCSI bus commands to hard-disk
control signals. This SCSI processing overhead gives ESDI the edge in raw
transfer rate; thus, other factors being equal, ESDI takes slightly less
time to read or write a given disk file.
SCSI, however, offers its own benefits. Two advantages result from its
configuration, which places separate controller circuitry directly on each
hard disk (or other peripheral). For one, the developer can select the
best controller design for each drive, rather than relying on a generic
central controller that might not match exactly the characteristics of
different drives. For another, the data lines between controller and drive
are less subject to noise because they are so short.
A more fundamental SCSI advantage is that, for a high-level subsystem, it
has a fair amount of stand-alone intelligence. The command structure
permits fairly complex transfers between SCSI devices on the same bus, once
started, to proceed without the host intervening further. Thus, a hard
disk can be backing up to tape while the computer goes about other
business; or transfer requests can be given some priority other than
arrival time, so that a lengthy transfer could be interrupted to perform a
Another SCSI advantage is that it connects as many as seven targets to a
single SCSI host adapter. The daisy-chain configuration makes cabling
relatively simple. Theoretically, any SCSI device can connect to a SCSI
port; this includes hard disks, tape drives, CD-ROM players, scanners, and
write-once-read-many (WORM) drives. Devoting one precious expansion slot
(are there ever enough?) to a SCSI host adapter is an exceptionally
effective way to maximize the unit's expansion capabilities. If you are a
real peripheral hog, you can put as many as four SCSI host adapters in one
Although the ESDI specification allows for devices other than hard disks,
and for connecting as many as seven devices to one controller, all current
PC implementations are limited to two hard disks (for no particular
On the surface, SCSI seems to be the hard-disk interface of choice for all
systems except single-user configurations in which every iota of hard-disk
speed is more important than expandability. This conclusion is justified if
based solely on the idealized specifications and abilities of each
Developers and integrators know, however, that a functional system is not
constructed out of idealized specifications. The realities are what is
commercially available, how much it costs, which system software it works
with, and so on. In the real world, an intelligent choice of hard-disk
interface is more than simply choosing between ESDI and SCSI on the basis
of design; other factors are involved.
To digress momentarily, the ST-506 interface is relatively simple and has
been around for many years. Standards have evolved, so when you purchase
an ST-506, you know exactly what you are getting. One manufacturer's
ST-506 controller will work with a variety of hard disks--witness the many
Adaptec, Western Digital, and Xebec controllers that run CDC, Miniscribe,
Rodime, and Seagate disks in millions of XTs and ATs. With the new
interfaces, however, a vendor must design an ESDI or SCSI drive integrally
with its interface.
An ESDI or SCSI hard-disk system consists not only of the host adapter and
the hard disk; software drivers are also essential components. The sheer
complexity of ESDI and SCSI makes it tricky for all of this hardware and
software to work together smoothly.
The software drivers must work smoothly with the operating environment. A
mass-storage system that works perfectly well with 3Com might not work with
Banyan because software drivers are not available. For OS/2, BIOS drivers
burned into on-board ROM are useless; a disk system needs protected-mode
drivers implemented either in IBM's ABIOS firmware or entirely in software.
Besides the potential problems with systems software, the question of
compatibility with applications arises, especially disk utilities. No
problem should arise where these utilities limit disk access to methods
officially sanctioned by the operating system or at least the BIOS;
however, programs behave differently. A benchmark that times
track-to-track access could produce unexpected results if it steps by
logical tracks and if the logical track does not correspond to a physical
track. (In the 120MB ESDI disk of the PS/2 Model 70-121, when the software
driver steps by one track, the read/ write heads move across eight physical
tracks, understating this aspect of the disk's performance by a factor of
Various factors give the cost advantage to ESDI. To be specific, three
fundamental aspects of the SCSI design combine to increase its cost over a
comparable ESDI installation. One factor was listed above as a SCSI
advantage: the SCSI intelligence. In the digital world, more intelligence
means more logic elements, and more logic elements mean more chips, more
printed circuits, and so on, all of which add to the cost of a system. The
second factor is a direct result of SCSI being an independent bus rather
than a device-specific interface. This means that each computer-peripheral
link contains two separate interfaces, one between the computer's bus and
the SCSI bus, and one between the SCSI bus and the peripheral controller.
The third factor has to do with internal versus external mounting of
peripherals. ESDI hard disks are, almost without exception, mounted inside
the system unit where they share its case and power supply. SCSI hard
disks can be mounted internally, but external mounting is necessary to take
advantage of the interchangeability of SCSI peripherals (which is, after
all, one of its selling points). An external peripheral must have its own
case and power supply; this adds to the cost.
Planning ahead can impact overall cost effectiveness. For a two-disk
network file server that will be locked in a closet for the next five
years, ESDI interface disks may indeed save money. If, on the other hand,
you are designing networked workstations for a growing firm, spending a
little more on SCSI now can save money down the road when your client adds
scanners and optical drives to each station.
In evaluating either interface, deal with the reality of available hardware
and software and not just with the promise of potential capabilities.
Fully documented ANSI standards exist for both; however (and this is
particularly true for SCSI), the standards are very flexible. Different
implementations can exist, all of which adhere to published standards, but
none of which is completely compatible with the others.
One of SCSI's strongest selling points is the ability to plug any SCSI
peripheral into a SCSI host adapter and be off and running. Thus, not only
can you attach as many as seven target devices to a single SCSI port on
your PC, but also, theoretically, you can move a SCSI hard disk and its
data between computers--and not just from PC to PC, but from PC to
Macintosh, PC to VAX, and so on.
This connection between computers, although true in theory, is not
necessarily so in practice, for two reasons. First, SCSI buses come in two
different flavors--single-ended and differential. Second, the command set
is so loosely defined that any manufacturer can radically redefine it by
implementing a set of unique commands. You cannot assume that a SCSI
peripheral from one vendor will function on a SCSI host adapter from
If you are planning to hang a lot of different peripherals on your SCSI
port, look for a vendor that supplies not only the host adapter, but all
the peripherals you need as well. Purchasing all components from one
vendor minimizes incompatibilities. Price, in this situation, becomes a
secondary consideration. If you do mix hardware from different vendors, be
sure to test for compatibility.
Speed improvements are imminent for both interfaces. SCSI chip sets with
double and quadruple the transfer rate of current hardware are currently in
the prototype stage, as are ESDI controllers that operate at 15 MHz and 24
MHz instead of the current 10 MHz.
Which is better, ESDI or SCSI? A definitive answer is impossible. A look
at what the industry is doing is no help either--it is a mixed bag. Some
manufacturers supply only one type or the other, but most supply both,
indicating that the market has shown no marked preference for one or the
other. Selecting a high-performance, hard-disk interface is not as simple
as deciding between ESDI or SCSI. Developers must determine which specific
mass-storage implementation will work best in an individual operating
environment, including the hardware, the network, the operating system,
plans for future expansion, and so on. No simple task, but then, progress
and simplicity seldom go hand-in-hand.
SCSI II IS DUE
An ANSI committee is currently working on the final draft of the standard
for SCSI II, known officially as X3T9.2/86-109. ANSI intends for this new
standard to remain hardware- and software-compatible with the cur- rent
SCSI standard (SCSI I), while at the same time offering dramatic
improvements in speed and capabilities. One indication of the magnitude of
changes suggested to the current standard is the sheer size of the draft
document--more than 500 pages, compared with 212 for SCSI I.
In SCSI II, major hardware changes are made in the bus width and maximum
data-transfer speed. SCSI II remains compatible with SCSI I's 8-bit data
path, but also offers 16- and 32-bit data paths. Maximum data- transfer
rate is increased to more than 10MB per second, up from 3MB to 4MB per
second, the maximum currently possible.
Another important addition is command queuing, which permits multiple
commands to be sent at one time to a single SCSI bus target. This saves
time because a device can parse a second command while the previous one is
executing. The new standard also contains a SCSI command set specifically
for CD-ROMs. These devices have been difficult to program because, unlike
disk drives, they do not have a consistent data block size. Other
improvements include enhanced automatic configuration capabilities and
improvements in the copy commands (which in SCSI I sometimes operate
improperly when copying between devices with different block sizes).
Many SCSI features that are now specific to particular implementations will
become part of the SCSI II stan- dard. Once the new standard is approved
and implemented, the industry will enjoy not only much better performance
but, perhaps more importantly, a much higher degree of compatibility among
manufacturers. If the present timetable is observed, final approval could
come as early as the summer of 1989. --Peter G. Aitken
Peter G. Aitken, Ph.D., is an assistant professor in the physiology
department at the Duke University Medical Center in Durham, North Carolina,
where he uses IBM PCs extensively in his research. As a freelance
consultant and programmer, he has written and marketed laboratory software.