Chapter 11A – Overview of Disks and Disk Drives
This
chapter presents an overview of one member of a class of devices that might be
called
“permanent, secondary storage”. There
are a number of features that the devices in this class
have in common.
1. Unlike
all common technologies for main computer memory, these devices are
non–volatile; they do not
require constant power to retain their contents.
2. These
devices tend to have larger capacities than most main computer memories.
3. With
one exception, the mechanisms used to store data are magnetic in nature.
As
always, there are exceptions to the above statements. A large IBM z/10 mainframe might be
configured with 384 GB of main memory, while a smaller USB “stick drive” might
contain
only 16 GB, but these are extreme examples.
In
discussing external storage we mention, only in passing, two other technologies
that once
were quite important: punch paper cards and punch paper tape. Those readers interested in
these are referred to the discussion of computer history found in chapter 1 of
this text.
Sequential
Access and Direct Access
External
data storage devices come in two varieties: sequential access, and direct
access.
Magnetic tape is the standard example of a medium that is accessed sequentially. In order to
read a record in the middle of the tape, the read/write heads must be moved
over all of the
records that precede the target record.
Direct access devices, such as disks,
allow for direct access to a desired record without moving
the read/write heads over a large number of unrelated records. Unlike true random access
devices, the time to access a record on a direct access device does depend
somewhat on its
address on the device.
Aside
from the average speed of access, one of the more important differences between
disks and
magnetic tape is the fact that a record on a disk can be updated in place; the
data can be read,
changed, and written back to the same place on the disk. For a number of reasons, this was never
considered feasible for magnetic tapes.
In order to update records on a magnetic tape, each
record is read into the computer, possibly changed, and then written out to a
new tape. This
process, called “old master, new master”,
in reference to its use in updating master copies
of data files, continues to be important in the business community.
The class of
direct access data storage devices includes three primary examples: the disk,
the
magnetic drum, and the late–comer, the USB “stick drive”. While the magnetic drum is now
obsolete, it competed well with the disk in the 1960’s, and had a similar
control interface to the
CPU. As a result of this similarity, IBM
coined the term “DASD” (pronounced “dahz – dee”)
for the two Direct Access Storage Devices.
At present
(Summer 2011) there are two main examples of direct access data storage
devices: the
magnetic disk and the USB “stick drive”.
The latter is a solid–state memory device, sharing
many characteristics of the main memory discussed earlier. The reason that it is considered a
disk is that it is accessed over a USB bus in the same manner as an external
disk drive. The stick
drive is organized with a directory and file structure identical to those used
on earlier disk drives.
It acts like a disk, so it is called a disk.
Is
It Memory or an I/O Device?
There are two
ways of viewing a DASD, either as an extension of memory or as an
Input / Output device. Both views are
equally valid; the one to use depends on the feature
that is to be discussed. As a part of a
memory system, the disk plays a key role in virtual
memory. However, it is accessed as an
I/O device, and its interfacing must be discussed in
those terms. This textbook will discuss
disk drives a number of times.
Early
History of the Disk and Disk Drive
As noted earlier
in this textbook, data storage reached a crisis stage in the early 1950’s,
when the amount of physical floor space required to house the punched cards
holding the
data became excessive. The only option
was to develop new technology. IBM
addressed
the problem and delivered three new technologies: magnetic tape, the magnetic
drum, and
the magnetic disk. Each of these were
smaller and much faster to access than paper cards.
The first
magnetic tape drive was the IBM 729, released in 1952. While the dominant form
of secondary data storage for quite some time, magnetic tape drives are not
much used any
more. For that reason, we shall not
discuss magnetic tapes in any more detail.
The first
magnetic drum memory was the ERA 110, built for the U.S. Navy by Engineering
Research Associates of Minneapolis, MN.
The ERA 110 could store 1 million bits of
information, approximately 125 kilobytes.
One of the test engineers present at the first
sea trials of this device communicated the following to the author of this
textbook.
“The device spun at a high rate
in order to allow fast access to the data.
At first, the
trials were a success. When the ship
turned rapidly, the gyroscope effect took hold
and ripped the drive out of its mountings.”
Magnetic drum
memory was announced by IBM in 1953, and first shipped in 1954. While
the drum memory seemed to be a viable competitor for the magnetic disk, its
high cost and
low data density limited its use. The
only significant use by IBM for the drum memory was
as the main memory for the IBM 650, a first–generation computer announced in
July 1953
and last manufactured in 1962.
The RAMAC
The origin of
the magnetic disk drive was a research project started in 1952 by a group from
IBM in San Jose, CA. One of its main
goals was to develop a better technology for data
storage. Magnetic drums were considered,
but the choice was finally made to use a flat
platter design, as first reported by Jacob Rainbow of the National Bureau of
Standards (now
known as NIST) in 1952. The disk was
correctly assessed as having a bright future.
The first
commercial disk drive, called the RAMAC (Random–Access Method of
Accounting Control) 305 was demonstrated on September 13, 1956. The unit comprised
fifty aluminum disks of 24 inch diameter, coated on both sides with a magnetic
oxide
material that was a variant of the paint used on the Golden Gate Bridge.
The RAMAC 305
took up the better part of a room and could store all of 5MB of data -- the
equivalent of 64,000 punch cards or 2,000 pages of text with 2,500 characters
per page. The
drive system had an input/output data rate of roughly 10 kilobytes per second. It sold for
about $200,000 -- or you could lease it for about $3,200 a month. At that time, a good new
car from General Motors sold for about $2,000.
Here is an early picture of the RAMAC, taken from
the IBM archives. It is
physically a large unit.
Figure: The Disks of the RAMAC 305
Later disk designs would all have at least one read/write
head for each recording surface, or
a pair of such heads for each
platter. The problem to be solved before
this innovation took
hold was how to suspend the heads
over the recording surface. The RAMAC
took a very
early approach, suggested probably
by the music “Juke Boxes” of the time.
It has one set
of two read/write heads that served
the entire drive.
Figure:
The RAMAC Read/Write Heads
The
IBM 1301
The RAMAC 305
was the precursor to the IBM 1301 disk storage unit. When released in
1961, the 1301 was the first storage system that used "flying heads"
on actuator arms to read
and write data to its 50 24-inch magnetic platters. The 1301's head and
actuator arm
assembly looked something like a bread-slicing machine turned on its side
because
each drive platter had its own read/write head.
The 1301 had 13
times the capacity of the RAMAC, and its platters rotated at 1,800 rpm --
compared with a spindle speed of 100 rpm for the RAMAC -- allowing heads to
access the
data more quickly.
Only two years after
creating the 1301, IBM built the first removable hard drive, the 1311.
The drive system, which shrunk storage technology from the size of a
refrigerator to the size
of a washing machine, had six 14-inch platters and contained a removable disk
pack that had
a maximum capacity of 2.6MB of data. The 1311 remained in use through the
mid-1970s.
The concept of
integrating the disks and the head arm assembly as a sealed unit was
introduced by IBM with the “Winchester Drive” in 1973. Formally named the IBM 3340,
this drive had two spindles, each of 30 MB capacity; hence “30/30
Winchester”. Though a
project name, the term “Winchester” has been applied to the design
concept. Almost all
modern disk drives use the “Winchester design”.
While earlier designs provided for
removable disks, these allowed the disk to become dirty when exposed to the
outside air. In
the Winchester design, the entire assembly can be removed, thus keeping the
disks in a more
protected environment. With this higher
quality operating environment, the read/write heads
could be positioned closer to the disk platters, allowing for higher recording
densities.
The relationship
between head flying height and track density can be seen in the rough
figure below. Each head will react to
tracks within a specific angular dimension; think of a
search light. The closer the head to the
recording surface, the smaller the spot containing
elements to which the head will react.
The head must not be able to react to more than one
data track at a time, hence its height dictates the minimum track spacing.
More Developments
In 1979, Al Shugart, who had helped develop the RAMAC with IBM,
launched Seagate
Technology Corp., which became the largest disk drive manufacturer in the
world. Soon
thereafter, the innovation floodgates opened. The "small form-factor"
hard drive was
invented in 1980 by Seagate. That five–inch
ST506 drive held the same capacity as the
RAMAC (5MB). From this point on, the
mass market associated with the newly arrived
PC (Personal Computer) movement guaranteed rapid evolution of the hard disk
drive.
History of Disk Costs
Here is a walk
through history [R030]. From the days of $10,000/MB to 2004 (from 2004 to
2009 the cost/GB has literally gone down to negligible levels), take a
look:
YEAR |
MANUFACTURER |
COST/GB |
1956 |
IBM |
$10,00,000 |
1980 |
North Star |
$193,000 |
1981 |
Morrow Designs |
$138,000 |
1982 |
Xebec |
$260,000 |
1983 |
Davong |
$119,000 |
1984 |
Pegasus (Great Lakes) |
$80,000 |
1985 |
First Class Peripherals |
$71,000 |
1987 |
Iomega |
$45,000 |
1988 |
IBM |
$16,000 |
1989 |
Western Digital |
$36,000 |
1990 |
First Class Peripherals |
$12,000 |
1991 |
WD |
$9,000 |
1992 |
Iomega |
$7,000 |
1994 |
Iomega |
$2000 |
1995 |
Seagate |
$850 |
1996 |
Maxtor |
$259 |
1997 |
Maxtor |
$93 |
1998 |
Quantum |
$43 |
1999 |
Fujitsu IDE |
$16 |
2000 |
Maxtor 7200rpm UDMA/66 |
$9.58 |
2001 |
Maxtor 5400 rpm IDE |
$4.57 |
2002 |
Western Digital 7200 rpm |
$2.68 |
2003 |
Maxtor 7200 rpm IDE |
$1.39 |
2004 |
Western Digital Caviar SE 7200rpm |
$1.15 |
More
recently disk prices have dropped even more.
In November 2007, the author of this
textbook purchased an external USB
500 GB disk drive for about $500.00 (or $0.50 per
gigabyte). On July 7, 2011, the web site for Office
Depot had the following prices:
a 500 GB USB external drive for $69.99 and a 1 TB USB external drive for
$119.99.
These prices are about five to seven cents per gigabyte.
We now
look at internal disk drives supporting the SATA standard. Also on July 7, 2011,
these prices were found. The WD Caviar Blue 500 GB drive with a 16 MB
buffer will sell
for $38.00 and the 3 TB WD Caviar
Green with a 64 MB buffer will sell for $140.
Do the math. This is very inexpensive.
How long
shall we have to wait for the first 1 petabyte drive?
Structure of a Large Disk Drive
The typical large–capacity (and physically small) disk drive
has a number of glass platters
with magnetic coating. These spin at a high rate varying between
3,600 rpm (60/second)
and 15,000 rpm (250/second), with
7,200 rpm (120/second) being average. This
drawing
shows a disk with three platters and
six surfaces. In general, a disk drive
with N platters will
have 2·N surfaces, the top and bottom of
each platter.
On early disk drives, before the introduction of sealed
drives, the top and bottom surfaces
would not be used because they would
become dirty when the disk pack was removed.
The
introduction of the Winchester
design, with its sealed disks, changed that for the better.
More
on Disk Drive Structure
Each surface is divided into a number of concentric tracks. Each track has a number of
sectors. This figure shows an older style layout, in
which all tracks had the same number of
sectors. In such a design, the time for a sector to
move under the read/write head does not
depend on the track location,
simplifying the drive control logic.
A sector usually contains 512 bytes of data, along with a
header and trailer part. Modern
designs have moved towards larger
sizes for sectors (say, 4,096) bytes, but the traditional
design has considerable history.
Modern
disk designs have divided the surface into a number of zones. This design is often
called ZBR (Zoned Bit Recording). Within each
zone, the sector count per track is
constant. However, the zones near the outer rim of the
disk have more sectors than the inner
zones. This increases the linear density of the
sectors for the outer zones, keeping that
density nearer that found in the
innermost zone, and making better use of the disk area.
Here is a picture of a disk surface
with color added to highlight the five zones.
Note that the
number of sectors per track
increases as we move from the inner zone to the outer zone.
Figure:
Disk Surface with Five Zones
One downside to the ZBR strategy is that the complexity of
the disk–side controller must be
increased. In the older strategy, which might be called
one–zone, the sectors moved under
the read/write heads at the same
rate, without regard to track number. In
the above design,
the rate is constant within each zone,
but the controller must allow for five distinct rates.
Given the ability to fabricate
complex electronics, this is deemed a fair trade–off.
The
Disk Surface
The standard definition of a hard
disk drive is quite simple.
“The
recording medium for hard disk drives is basically a very thin layer of
magnetically hard material on a
rigid substrate.” [R031]
Up to the mid 1990’s, aluminum was used exclusively for the
substrate. Recently, glass has
attracted interest for a substrate,
mostly for its ability to be polished to a very fine surface
finish. Remember that the design goal is to reduce
the flying height of the read/write heads,
and that requires a smoother surface
over which to fly.
Since the earliest designs, each recording surface of a disk
has been divided into concentric
circles, called tracks. Optical disks, such as CDs and DVDs, as well
as vinyl records, have a
single spiral track on each
recording surface. According to Jacob [R008]
“The
major reasons for this are partly historical … In the early days of disk
drives, when open–loop mechanical
systems were used to position the head,
using concentric tracks seemed a
natural choice. Today, the closed–loop
embedded servo system … makes spiral
track formatting feasible. Nonetheless
concentric tracks are a
well–understood and well–used technology and seem
easier to implement than spiral
tracks.”
Timing
of a Disk Transfer
Disks are electromechanical devices. The time for a data transfer has a number of
components, including time to decode
the command, time to move the read/write heads to
the proper location on the disk,
time to transfer the data to the on–disk data buffers, and time
to transfer the data across the
interface to the host–side interface.
Here, we consider two of
the more important disk timings:
seek time and rotational latency.
The idea of seek time
reflects the fact that, in order to access a disk track for either a read or
write operation, the heads must be
moved to the track. This is a mechanical
action, as the
read/write heads are physical
devices. Some early designs seem to have
avoided this
problem by having one read/write
head per track. This is not an option
for modern drives,
which have thousands of tracks per
surface.
There are two seek times typically quoted for a disk.
Track–to–track: the time to move the heads to the
next track over
Average: the average time to move
the heads to any track.
The rotational delay is due to the fact that the disk is spinning
at a fixed high speed. It takes
a certain time for a specific sector
to rotate under the read/write heads. Suppose
a disk
rotating at 12,000 RPM. That is 200 revolutions per second. Each sector moves under the
read/write heads 200 times a second,
once every 0.005 second or every 5 milliseconds. The
rotational
latency, or average rotational delay, is
one half of the time for a complete
revolution of the disk. Here it would be 2.50 milliseconds.
Rotational latency is a major component of the time to
access data on a disk. For that
reason, methods to minimize the
rotational latency of a disk are under active investigation.
One way would be to speed up the
rotation of the disk. Unfortunately, this
leads to stress on
the physical platters that become
unacceptable. This is seen in a design
choice for the 5¼
floppy drives, which were spun at a
leisurely 360 rpm. The reason for this
rate is that a
significantly higher rate would cause
the disks to be torn apart by centrifugal forces.
Another method to reduce rotational latency would be to add
a second actuator with its own
set of read write heads to the disk
drive. This would be positioned opposite
the first set.
Figure: Two
Views of Dual Actuators
Such a design would immediately halve the rotational
latency, as the average time for a
sector to move under one of the
read/write heads would be one quarter of a revolution. For a
12,000 rpm disk, the rotational
delay would be cut from 2.50 to 1.25 milliseconds. Put
another way, the reduction is from
2, 500, 000 nanoseconds to 1, 250, 000 nanoseconds.
However, the addition of a second
set of heads raises the price by about 35%, not acceptable
in the highly competitive modern
market. Conner Peripherals introduced
such a product in
1994, but it was not popular. The design has never been attempted since.
Tracks and Cylinders
The idea of a cylinder is an artifact of the mechanical
nature of the actuators used to move
the read/write heads on a modern
disk. It is faster to read sectors from
the same track than it
is to move to another track, even
one close by. We now consider the fact
that standard disk
drives with concentric tracks and
multiple recording surfaces have the same number of
tracks and track geometry on each of
the surfaces.
When the actuator is functioning properly, as it almost
always is, each read/write head is
over (or near to) the same numbered
track on its disk. This leads to the
idea of a cylinder as
the set of tracks that can be read
without significant repositioning of the read/write heads. In
early disk designs, with wider
tracks, there would be no positioning required to move from
surface to surface on a
cylinder. All that would be required was
an electronic switching of
the active head, a matter of
nanoseconds and not milliseconds.
We close this
part of the chapter with some related questions. How many bytes of data can
be read from a disk before the read/write heads must be moved? What is the maximum data
transfer rate from a multi–platter disk?
How long can this rate be sustained?
Disk Capacity
The first
question is how to calculate the capacity of a disk. Here are a number of
equivalent ways, assuming the standard 512 bytes per sector.
Disk Capacity = (number of surfaces)·(bytes per
surface)
= (number of surfaces)·(tracks per
surface)·(bytes
per track)
= (number of surfaces)·(tracks per
surface)·
(sectors per track)·512
Here are data
from an earlier disk drive (now rather small).
8 surfaces
3196 tracks per
surface
132 sectors per
track
512 bytes per
sector
Surface
capacity = 3196·132·512 = 421872·512 = 210936·1024 bytes
= 210936 KB » 206.0 MB
Disk
capacity = 8·210936 KB = 1,687,488 KB »
1.61 GB
Computing Disk Maximum Transfer Rate
We now compute
the maximum transfer rate. This is
computed from the size of a track in
bytes and the rotation rate of the disk.
For modern disks, the transfer rate would depend on
the zone in which the track is located, as each zone has a different number of
sectors per
track. For this example, we use the
older disk with only one track size.
Disk rotation
rates are given in RPM (Revolutions per Minute). Common values are 3,600
RPM, 7,200 RPM, and higher. 3,600 RPM is
60 revolutions per second. 7,200 PRM is
120 per second. Consider our sample
disk. Suppose it rotates at 7,200 RPM,
which is
one revolution every (1/120) second.
One track contains 132·512 bytes = 66·1024 bytes =
66KB.
This track can be read in
(1/120) of a second.
The maximum data rate is 66 KB in (1/120) of a second.
120
·
66 KB in one second.
7,920
KB per second = 7.73 MB per second.
Sustaining the
Maximum Data Transfer Rate
Recall the
definition of a cylinder as a set of tracks, one per surface. Each track can be read
in one revolution of the disk drive. The
data rate can be sustained for as long as it takes to
read all tracks from the cylinder.
The number of
tracks per cylinder is always exactly the same as the number of surfaces in
the disk drive. Our sample drive has 8
surfaces; each cylinder has 8 tracks.
In our sample
drive, rotating at 7200 RPM or 120 per second:
Each track can be
read in 1/120 second.
The cylinder,
containing 8 tracks, is read in 8/120 second or 1/15 second.
The maximum data
transfer rate can be sustained for 1/15 second.
How Much Data
Can Be Transferred at This Rate?
Each track can
be read in 1/120 of a second. The
cylinder can be read in 1/15 second.
The cylinder contains 8 tracks of 66·1024 bytes, thus
8·66·1024 = 528 KB.
The Drive Cache
Modern disk
drives have a cache memory associated with the on–disk controller. Some
manufacturers call this a “databurst
cache”. On modern drives, this can
vary between
2 MB and 64 MB; DRAM is quite cheap these days.
The disk–side
cache grew out of the small disk–side data buffers required to match the speed
of the disk internal transfers with the speed of the bus connecting it to the
controller logic on
the host side. Buffering is also
required in those cases when the interface to the host is busy
at the time the disk read/write heads are ready to initiate a transfer. On a disk write, the host
controller would transfer the data to the disk–side buffer for later writing to
the disk itself.
As DRAM prices
dropped, this simple data buffer grew into a full–fledged cache. The
utility of this cache does not depend on a high hit rate, as it does for the
cache between
primary memory and the CPU. One of its
main uses is in allowing the disk controller to
prefetch data; that is, to copy the data into the buffer before it is
requested. This increases
the efficiency of disk reads. As a write
buffer, the cache speeds up disk writes.
We now have
quite a few levels of cache memory between the disk surfaces and the CPU.
Here is a diagram showing the configuration on a computer built in 2007. The disk has a
16 MB DRAM cache. Each memory chip has a
4 Kb (kilobit) SRAM buffer. There are
two
levels of cache between the main memory and the CPU.
The
Disk Directory Structure
We now turn our
attention to the disk directory structure.
Rather than discussing the more
modern structures, such as NTFS, we shall limit ourselves to older and simpler
structures.
The
FAT (File Allocation Table)
Physically the
disk contains a large number of sectors, each of which contains either data or
programs. Logically the disk contains a
large number of files, also program and data.
The
disk will have one or more index structures that associate files with their
sectors.
The two important structures are
the disk directory associates a file with its
first sector
the File Allocation Table maintains the “linked list” of sectors
for that file.
This example shows
the structure of the FAT.
Here
the disk directory indicates that the first sector for a file is at address
121.
The
FAT entry at 121 indicates that the next sector is at address 124.
The
FAT entry at 126 indicates that the next sector is at address 122.
The FAT entry at
122 indicates that sector 122 is the last for this file. Sector 125 is bad.
The FAT–16
system was implemented by Microsoft for early versions of MS–DOS. This
system used a 16–bit index into the FAT.
As there is one FAT entry per sector, this makes
this limits the sector count to 216.
The maximum disk size is thus 216· 512 = 216· 29 =
225 =
25· 220 = 32 MB. In 1987, my brand–new PC/XT had a 20MB
disk! FAT–16 worked very
well. What about a 40 MB disk? How about a 256 MB disk?
Few people in
the late 1980’s contemplated disk drives with capacities of over 100 GB,
but it was obvious that unmodified FAT–16 would not do the job. We consider two short–
term remedies to this problem, one transient and one with longer term
consequences.
The first
solution was to partition a larger physical disk drive into two logical disk
drives.
A 40 MB disk
drive would support two logical disks, each with its own directory structure
and File Allocation Table. Using the
drive names suggested at the time, this 40 MB
physical disk would support two logical disks: Drive C with capacity of 32 MB,
and
Drive D with capacity of 8 MB.
As a short–term
fix, this worked well. However, it just
raised the limit to 64 MB. This
solution was obsolete by about 1992. The
main problem with the FAT–16 system arose
from the fact that each sector was individually addressable. With 216 addresses available,
we have a maximum of 216 sectors or 32 MB for each logical drive.
The second
solution was to remove the restriction that each sector be addressable. Sectors
were grouped into clusters, and only clusters could be addressed. The number of sectors a
cluster contained was constrained to be a power of 2; so we had 2, 4, 8, 16,
etc. sectors per
cluster. The effect on disk size is easy
to see.
Sectors in Cluster |
1 |
2 |
4 |
8 |
16 |
32 |
64 |
Bytes in Cluster |
512 |
1024 |
2048 |
4096 |
8192 |
16384 |
32768 |
Disk Size |
32 MB |
64 MB |
128 MB |
256 MB |
512 MB |
1 GB |
2 GB |
In the early 1990’s, it seemed that this solution
would work for a while. Nobody back then
envisioned multi–gigabyte disk drives on personal computers. There is a problem associated
with large clusters; it is called “internal
fragmentation”.
This problem
arises from the fact that files must occupy an integer number of clusters.
Consider a data
file having exactly 6,000 bytes of data, with several cluster sizes.
Sectors in Cluster |
1 |
2 |
4 |
8 |
16 |
32 |
64 |
Bytes in Cluster |
512 |
1024 |
2048 |
4096 |
8192 |
16384 |
32768 |
Clusters needed |
12 |
6 |
3 |
2 |
1 |
1 |
1 |
File size on disk |
6144 |
6144 |
6144 |
8192 |
8192 |
16384 |
32768 |
Disk efficiency |
97.7% |
97.7% |
97.7% |
73.2% |
73.2% |
36.6% |
18.3% |
Security Issues: Erasing and Reformatting
Remember the
disk directory and the FAT. What happens
when a file is erased from the
disk? The data are not removed. Here is what actually happens.
1. The file name is removed from the disk directory.
2. The FAT is modified to place all the sectors (clusters) for
that file
into a special
file, called the “Free List”.
3. Sectors do not have their data erased or changed until they
are allocated
to another file
and that a program writes data to that file.
For this reason, many companies sell utilities to
“Wipe the File” or “Shred the File”.
How about reformatting the disk? Certainly, that removes file links. Again the data are not
removed. The directory structure and FAT
are reinitialized and the free list reorganized.
The sectors containing the data are not overwritten until they are reused.
Interfaces
to Disk Drives
The disk drive
is not a stand–alone device. In order to
function as a part of a system, the disk
must be connected to the motherboard through a bus. We shall discuss details of disk drives in
the next chapter. In this one, we focus
on two popular bus technologies used to interface a disk:
ATA and SATA. Much of this material is
based on discussions in chapter 20 of the book on
memory systems by Bruce Jacob, et al [R008].
The top–level
organization is shown in the figure below.
We are considering the type of bus
used to connect the disk drive to the motherboard; more specifically, the host
controller on
the motherboard to the drive controller on the disk drive. While the figure suggests that the
disk is part of the disk drive, this figure applies to removable disks as
well. The important
feature is the nature of the two controllers and the protocol for
communication.
One of the
primary considerations when designing a disk interface, and the bus to implement
that
interface, is the size of the drive controller that is packaged with the
disk. Jacob [R008] noted:
“In the early days, before Large
Scale Integration (LSI) made adequate computational
power economical to be put in a disk drive, the disk drives were ‘dumb’
peripheral
devices. The host system had to
micromanage every low–level action of the disk drive.
… The host system had to know the detailed physical geometry of the disk drive;
e.g.,
number of cylinders, number of heads, number of sectors per track, etc.”
“Two things changed this
picture. First, with the emergence of
PCs, which eventually
became ubiquitous, and the low–cost disk drives that went into them, interfaces
became
standardized. Second, large–scale
integration technology in electronics made
it economical to put a lot of intelligence in the disk side controller”
As of Summer
2011, the four most popular interfaces (bus types) were the two varieties of
ATA
(Advanced Technology Attachment, SCSI (Small Computer Systems Interface), and
the FC
(Fibre Channel).
The SCSI and FC interfaces are more costly, and are commonly used on
more
expensive computers where reliability is a premium. We here discuss the two ATA busses.
The ATA
interface is now managed by Technical Committee 13 of INCITS (www.t13.org), the
International Committee for Information Technology Standards
(www.incits.org). The interface
was so named because it was designed to be attached to the IBM PC/AT, the
“Advanced
Technology” version of the IBM PC, introduced in 1984. To quote Jacob again:
“The first hard disk drive to be
attached to a PC was Seagate’s ST506, a 5.25 inch form
factor 5–MB drive introduced in 1980.
The drive itself had little on–board control
electronics; most of the drive logic resided in the host side controller. Around the second
half of the 1980’s, drive manufacturers started to move the control logic from
the host side
and integrate it with the drive. Such
drives became known as IDE (Integrated Drive
Electronics) drives.”
In recent years,
the ATA standard has being explicitly referred to at the “PATA” (Parallel ATA)
standard to distinguish it from the SATA (Serial ATA standard) that is now
becoming popular.
The original PATA standard called for a 40–wire cable. As the bus clock rate increased, noise
from crosstalk between the unshielded cables became a nuisance. The new design included
40 extra wires, all ground wires to reduce the crosstalk.
As an example of
a parallel bus, we show a picture of the PDP–11 Unibus. This had 72 wires, of
which 56 were devoted to signals, and 16 to grounding. This bus is about 1 meter in length.
Figure: The Unibus of the PDP–11 Computer
Up to this
point, we have discussed parallel busses.
These are busses that transmit N data bits
over N data lines, such as the Unibus™ that used 16 data lines to transmit two
bytes per transfer.
Recently serial busses have become popular; especially the SATA (Serial
Advanced Technology
Attachment) busses used to connect internally mounted disk drives to the motherboard. There
are two primary motivations for the development of the SATA standard: clock
skews and noise.
The problem of
clock skew is illustrated by the following pair of figures. The first figure shows
a part of the timing diagram for the intended operation of the bus. While these figures may be
said to be inspired by actual timing diagrams, they are probably not realistic.
In the above figure, the control signals MREQ# and RD# are
asserted simultaneously one half
clock time, after the address
becomes valid. The two are
simultaneously asserted for two clock
times, after which the data are
read.
We now imagine what could go wrong when the clock time is
very close to the gate delay times
found in the circuitry that
generates these control signals. For
example, let us assume a 1 GHz
bus clock with a clock time of one
nanosecond. The timing diagram above
calls for the two
control signals, MREQ# and RD#, to
be asserted 0.5 nanoseconds (500 picoseconds) after the
address is valid. Suppose that the circuit for each of these is
skewed by 0.5 nanoseconds, with
the MREQ# being early and the RD#
being late.
What we have in this diagram is a mess, one that probably
will not lead to a functional read
operation. Note that MREQ# and RD# are simultaneously
asserted for only an instant, far too
short a time to allow any operation
to be started. The MREQ# being early may
or may not be a
problem, but the RD# being late
certainly is. A bus with these skews
will not work.
As discussed above, the ribbon cable of the PATA bus has 40
unshielded wires. These are
susceptible to cross talk, which
limits the permissible clock rate. What
happens is that crosstalk
is a transient phenomenon; the bus
must be slow enough to allow its effects to dissipate.
We have already seen a solution to the problem of noise when
we considered the PCI Express
bus.
This is the solution adopted by the SATA bus. The standard SATA bus has a seven–wire
cable for signals and a separate
five–wire cable for power. The seven–wire
cable for data has
three wires devoted to ground (noise
reduction) and four wires devoted to a serial lane, as
described above for PCI
Express. As noted above in that
discussion, the serial lane is relatively
immune to noise and crosstalk, while
allowing for very good transmission speeds.
One might note that parallel busses are inherently faster
than serial busses. An N–bit bus will
transmit data N times faster than a
1–bit serial bus. The experience seems
to be that the data
transmission rate can be so much
higher on the SATA bus than on a parallel bus, that the SATA
bus is, in fact, the faster of the
two. Data transmission on these busses
is rated in bits per second.
In 2007, according to Jacob [R008]
“SATA controllers and disk drives with 3 Gbps are starting
to appear, with 6 Gbps on SATA’s
roadmap.” The encoding used is called
“8b/10b”, in which
an 8–bit byte is padded with two error correcting bits to be transmitted as 10
bits. The two
speeds above correspond to 300 MB
per second and 600 MB per second.