274 lines
16 KiB
Plaintext
274 lines
16 KiB
Plaintext
|
||
|
||
|
||
|
||
ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
|
||
º º
|
||
º The Technology of º
|
||
º Magnetic Disk Storage º
|
||
º º
|
||
º by º
|
||
º Steve Gibson º
|
||
º GIBSON RESEARCH CORPORATION º
|
||
º º
|
||
º º
|
||
º Portions of this text originally appeared in Steve's º
|
||
º InfoWorld Magazine TechTalk Column. º
|
||
º º
|
||
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
|
||
|
||
|
||
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 **
|
||
|