274 lines
16 KiB
Plaintext
274 lines
16 KiB
Plaintext
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ
|
|||
|
<20> <20>
|
|||
|
<20> The Technology of <20>
|
|||
|
<20> Magnetic Disk Storage <20>
|
|||
|
<20> <20>
|
|||
|
<20> by <20>
|
|||
|
<20> Steve Gibson <20>
|
|||
|
<20> GIBSON RESEARCH CORPORATION <20>
|
|||
|
<20> <20>
|
|||
|
<20> <20>
|
|||
|
<20> Portions of this text originally appeared in Steve's <20>
|
|||
|
<20> InfoWorld Magazine TechTalk Column. <20>
|
|||
|
<20> <20>
|
|||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ
|
|||
|
|
|||
|
|
|||
|
The technologies used to store and retrieve data to floppy and
|
|||
|
hard disks is intriguing, intuitive, and surprisingly simple.
|
|||
|
This article examines the technology of disk data storage. Soon
|
|||
|
you'll know exactly how and why RLL hard disk controllers are
|
|||
|
able to pack 50 percent more data onto your trusty old reliable
|
|||
|
hard disk ... and why they may NOT be giving you something for
|
|||
|
nothing!
|
|||
|
|
|||
|
It all begins with two intimately related phenomena: magnetism
|
|||
|
and electricity. Just as a flow of electric current has a
|
|||
|
direction which can be called positive or negative, magnetism
|
|||
|
has a direction known as north and south poles. Recalling high
|
|||
|
school physics, you'll remember that an electric current flowing
|
|||
|
through a coil of wire creates a magnetic field, and conversely,
|
|||
|
a change in a magnetic field near to a coil INDUCES a flow
|
|||
|
of electric current. If we add to this a metal's ability to
|
|||
|
"remember" a magnetic field's direction by becoming magnetized,
|
|||
|
we have everything we need for storing and retrieving
|
|||
|
information.
|
|||
|
|
|||
|
The read/write head in a slow-spinning floppy disk stays in
|
|||
|
physical contact with the disk medium at all times while the
|
|||
|
faster rotation rate of a hard disk causes its head to
|
|||
|
aerodynamically FLY over the disk's surface when the drive is up
|
|||
|
to operating speed. Since a drive's read/write head and disk
|
|||
|
"communicate" using magnetic fields, and since magnetic fields
|
|||
|
travel through the air readily, actual physical contact between
|
|||
|
the head and disk is not necessary. The disk drive's head and
|
|||
|
disk only need to be close enough to magnetically "couple" and
|
|||
|
influence each other as a result.
|
|||
|
|
|||
|
A disk's read/write head is a specially designed coil of wire
|
|||
|
wrapped around a metal armature. This armature has a very tiny
|
|||
|
GAP across which the magnetic field generated by the coil JUMPS.
|
|||
|
The gap serves to concentrate the jumping magnetic field into a
|
|||
|
tiny spot on the disk. As the field jumps the gap, a bit of
|
|||
|
magnetic field protrudes from the head and passes through the
|
|||
|
nearby disk or diskette. When a read/write head wears out it's
|
|||
|
because this gap has widened, becoming too large, and thus
|
|||
|
has lowered the resolution of the head.
|
|||
|
|
|||
|
Writing data onto a disk takes advantage of magnetization. An
|
|||
|
electric current is applied to the coil in the disk head. This
|
|||
|
produces a magnetic field which jumps across the gap of the head
|
|||
|
and protrudes into the disk surface. Since disks are composed
|
|||
|
of a metallic oxide, tiny spots of the disk become magnetized
|
|||
|
and thus "remember" the magnetic field which was imposed.
|
|||
|
|
|||
|
Reading data is essentially the writing process in reverse. The
|
|||
|
tiny magnetic spots on the disk create their own tiny protruding
|
|||
|
magnetic fields. As the disk rotates, the disk head passes over
|
|||
|
these tiny protruding fields. When these fields fall across the
|
|||
|
gap in the read/write head a small electric current is induced
|
|||
|
in the head's wire coil. A sensitive READ AMPLIFIER boosts this
|
|||
|
signal up to useable strength for interpretation as the data
|
|||
|
stored on the disk.
|
|||
|
|
|||
|
The question now is: How do we ERASE the little magnetized
|
|||
|
blips on our disk to allow us to CHANGE the data recorded there?
|
|||
|
So far all we could do would be to magnetize the entire track,
|
|||
|
which wouldn't help us either! The answer lies in the fact that
|
|||
|
it is a CHANGE in the magnetic field which induces a recoverable
|
|||
|
flow of current. (After all, if a fixed magnetic field were
|
|||
|
able to produce a steady current flow in a surrounding wire coil,
|
|||
|
we'd have the equivalent of perpetual motion ... or perpetual
|
|||
|
power!) Remember that magnetic fields are like electric current
|
|||
|
in that they're either present or not, and they have a distinct
|
|||
|
direction, a north or south polarity!
|
|||
|
|
|||
|
When we're WRITING data onto a disk we don't turn the current on
|
|||
|
and off, we keep current flowing through our read/write head at
|
|||
|
all times. When we wish to write a "ONE" bit, we simply REVERSE
|
|||
|
the POLARITY of the head's current. This reverses the recorded
|
|||
|
magnetic field from north to south or south to north. We don't
|
|||
|
care which way the field changes since ANY reversal represents a
|
|||
|
"one" bit and no reversal represents a "zero."
|
|||
|
|
|||
|
Since we have an electric current of one polarity or the other
|
|||
|
flowing through the head at all times, the constant magnetic
|
|||
|
field produced "plows over" any old "blips" or polarity
|
|||
|
reversals which might have been present before. This
|
|||
|
effectively leaves "zeros" in our wake except where we
|
|||
|
deliberately reverse the polarity to leave a "one" bit instead.
|
|||
|
|
|||
|
So what are the various factors which determine the upper limits
|
|||
|
on the number of "ones" and "zeros" a disk can hold and the finer
|
|||
|
points of data storage encoding and density?
|
|||
|
|
|||
|
We've seen that "one" bits are written onto floppy and hard disks
|
|||
|
by reversing the polarity of the current passing through the
|
|||
|
drive's read/write head. "Zero" bits are written simply by not
|
|||
|
reversing that polarity. These polarity reversals cause a
|
|||
|
DIRECTION reverse of the magnetic field "flux" imposed by the
|
|||
|
read/write head upon the disk. The data storing "memory" effect
|
|||
|
of a disk comes from the metallic nature of the disk's oxide
|
|||
|
coating which becomes magnetized with these patterns of "flux
|
|||
|
reversals." During data read-back these flux reversal patterns
|
|||
|
induce a weak current pulse in the read/write head which is
|
|||
|
amplified by the read amplifier and used to recover the stored
|
|||
|
data.
|
|||
|
|
|||
|
This data recording scheme leaves us with a major problem:
|
|||
|
Reading back "ones" is simple since a pulse is received from the
|
|||
|
read/write head for every flux reversal encountered, but "zeros"
|
|||
|
are another matter entirely! Since "zeros" are "written" by
|
|||
|
writing nothing, we can't be certain exactly how many "zeros" were
|
|||
|
written between the "ones!"
|
|||
|
|
|||
|
In theory we could measure the TIME between successive "one"
|
|||
|
pulses and infer how long the RUN of "zeros" must have been, but
|
|||
|
this is
|
|||
|
too uncertain when we have unlimited run lengths. The first
|
|||
|
single-density floppy disk controllers used a simple data
|
|||
|
encoding scheme to solve this problem.
|
|||
|
|
|||
|
A "zero" data bit was actually written as a one-zero pulse pattern
|
|||
|
(a pulse and a pause) on the disk and a "one" was written as a
|
|||
|
"one-one" pattern (two pulses). In this coding scheme the first
|
|||
|
pulse, known as the clock-bit, was always present, and the second
|
|||
|
pulse, known as the data-bit, was the actual data to be written.
|
|||
|
|
|||
|
Writing five "ones" in this scheme would produce a pulse pattern
|
|||
|
of 1111111111 on the disk while writing five "zeros" produces
|
|||
|
1010101010. Since the frequency of pulses for "one" data bits is
|
|||
|
twice that for "zeros" this scheme was known as FREQUENCY
|
|||
|
MODULATION or "FM" encoding. In FM the minimum RUN LENGTH of no
|
|||
|
flux reversal pulses is zero since there might be no pauses at all
|
|||
|
between pulses and the maximum pause run length is "one" since the
|
|||
|
interposed "clock bits" guarantee at least a one pulse every
|
|||
|
other time. A notational shorthand for this scheme would be
|
|||
|
"0,1 RLL." (getting the picture?)
|
|||
|
|
|||
|
This simple encoding scheme worked wonderfully. Everyone was
|
|||
|
happy, felt good, and smiled a lot. However after a while,
|
|||
|
people began to want more. The problem with the FM modulation
|
|||
|
scheme is that it was inefficient. It used up lots of pulses
|
|||
|
since a "one" data bit used two pulses and a "zero" used one. It
|
|||
|
required an average of one and a half pulses per data bit.
|
|||
|
|
|||
|
One way of increasing the density would have been to put the
|
|||
|
pulses closer together, but they were ALREADY as close together
|
|||
|
as they could be! So a bright engineer came up with a clever
|
|||
|
solution: If we promised to always have a least ONE pause
|
|||
|
between pulses, we could put the pulse patterns out twice as
|
|||
|
fast! Then two twice-as-fast pulses separated by one pause
|
|||
|
would be no closer than two pulses right next to each other had
|
|||
|
been before!
|
|||
|
|
|||
|
This coding scheme is called MFM for MODIFIED Frequency
|
|||
|
Modulation. A "one" bit's pulse pattern is 01, and a 0 is x0
|
|||
|
where
|
|||
|
x was a pause if there had just been a pulse and a pulse if
|
|||
|
there had just been a pause. Twiddling around with this on a
|
|||
|
napkin you'll see that this always forces at least 1 no-pulse
|
|||
|
pause between pulses and never allows more than 3 pauses between
|
|||
|
pulses. Since this MFM coding scheme doubles the data rate over
|
|||
|
FM, it is called double-density and could also be called 1,3 RLL
|
|||
|
since the pause run lengths are limited between 1 and 3. All
|
|||
|
standard floppy and hard disk today use this MFM or 1,3 RLL
|
|||
|
encoding.
|
|||
|
|
|||
|
Then when we began wanting even more density the way was clear.
|
|||
|
2,7 RLL, known today simply as "RLL,", cranks the data bit rate,
|
|||
|
and therefore the density, up 50 percent higher by guaranteeing at
|
|||
|
least 2 (very short) pause intervals between successive pulses
|
|||
|
and limiting the pause run length to 7.
|
|||
|
|
|||
|
Another way of looking at this will show you what's REALLY
|
|||
|
HAPPENING here: We've been cranking the data rate and data
|
|||
|
density upwards while promising not to place successive pulses
|
|||
|
closer together. We've been squeezing more INFORMATION out of
|
|||
|
the same overall NUMBER of pulses by using their EXACT POSITION
|
|||
|
IN TIME to carry the information.
|
|||
|
|
|||
|
The EXACT TIMING PLACEMENT of the pulses is used to convey more
|
|||
|
information than the pulses alone could! This is why many hard
|
|||
|
disk drives which work wonderfully for MFM encoded data WILL NOT
|
|||
|
FUNCTION RELIABLY with the new 2,7 RLL controllers. These RLL
|
|||
|
controllers demand far more accuracy from the drive's magnetic
|
|||
|
systems than they were ever designed to deliver.
|
|||
|
|
|||
|
|
|||
|
So what about RLL controllers and MFM drives?
|
|||
|
|
|||
|
The thought of exchanging an existing MFM hard disk controller
|
|||
|
for an RLL controller is quite captivating. By placing 25 or 26
|
|||
|
sectors on a track, RLL controlllers deliver a 50 percent storage
|
|||
|
gain over standard MFM controllers with their 17 sectors. Ten
|
|||
|
megabyte drives hold 15 megs. and 20s become 30s.
|
|||
|
|
|||
|
Aside from sheer storage space there is another unexpected
|
|||
|
advantage to RLL. Imagine that your disk initially held 20
|
|||
|
megabytes with MFM encoding. Converting to RLL encoding now
|
|||
|
yields 30 meg. Notice that the original 20 megs have been
|
|||
|
squeezed down. Now they occupy only 2/3 of the disk. This means
|
|||
|
that your drive's read/write head only moves 2/3 as far as before
|
|||
|
to reach the same data! In effect you've SUBSTANTIALLY REDUCED
|
|||
|
the average seek time of your drive ... for free!
|
|||
|
|
|||
|
This is something most people completely fail to take into
|
|||
|
account with hard disk drives. The time to move the read/write
|
|||
|
head from track to track is NOT the whole story. It's critical
|
|||
|
to consider how much data that track-to-track move COVERS. A
|
|||
|
drive with more storage platters (and heads) or more sectors per
|
|||
|
track has a greater "cylinder density." RLL automatically
|
|||
|
increases a drive's cylinder density.
|
|||
|
|
|||
|
RLL also affects the optimal interleaving factor for a drive!
|
|||
|
Remember that MFM and RLL utilize essentially the same number of
|
|||
|
flux reversals per inch. However RLL utilizes infinitesimal
|
|||
|
timing placements of the pulses to convey more information.
|
|||
|
This means that the actual recovered data rate is 50 percent
|
|||
|
higher.
|
|||
|
|
|||
|
Data flows from an RLL encoded drive at 7.5 million bits per
|
|||
|
second, as opposed to 5 million bits per second for MFM.
|
|||
|
Unfortunately PC and XT busses are already pushed to the limit
|
|||
|
by the optimal sector interleave of existing MFM controllers.
|
|||
|
Therefore RLL controllers require a LOOSER optimal interleave
|
|||
|
than MFM controllers. This does not mean that RLL controllers
|
|||
|
operate slower, quite the opposite is true. Since the PC bus is
|
|||
|
not able to take data any faster, and since there are now 25 or
|
|||
|
26 sectors per track, it's completely reasonable to require more
|
|||
|
revolutions of the disk to read or write 50 percent more data.
|
|||
|
|
|||
|
It is much more critical to optimize the sector interleave for
|
|||
|
RLL encoding than for MFM. The latest RLL controller from WD is
|
|||
|
the nicest I've seen, however using their default interleave of
|
|||
|
3 on a standard 4.77 Mhz PC or XT requires 28 revolutions to
|
|||
|
read an entire track! Setting the interleave to 4 allows the
|
|||
|
same data to be read in JUST 4 REVS! A 700 percent performance
|
|||
|
boost, free!
|
|||
|
|
|||
|
Now for the bad news: Many people have had trouble with RLL
|
|||
|
controllers. This is typically caused by the hope that an RLL
|
|||
|
controller's magic will function with any MFM-compatible drive.
|
|||
|
We've seen why this may not be so. It also appears that hard disk
|
|||
|
drive manufacturers, eager to cash in on the RLL craze,
|
|||
|
have merely been labeling the best of their MFM drives as RLL
|
|||
|
capable, rather than re-engineering their drives for RLL
|
|||
|
operation. RLL is still so new that adequate drive testing
|
|||
|
equipment is in very short supply.
|
|||
|
|
|||
|
Make no mistake, RLL encoding is the future. These initial
|
|||
|
startup growing pains will fade and RLL technology will become
|
|||
|
the new standard.
|
|||
|
|
|||
|
- The End -
|
|||
|
|
|||
|
|
|||
|
Copyright (c) 1989 by Steven M. Gibson
|
|||
|
Laguna Hills, CA 92653
|
|||
|
**ALL RIGHTS RESERVED **
|
|||
|
|