[ The PC Guide | Systems and Components Reference Guide | Hard
Disk Drives | Hard Disk Geometry and Low-Level Data Structures
| Hard Disk Data Encoding and Decoding ]
Technical Requirements for Encoding and Decoding
You might think that since there are two magnetic polarities, N-S and S-N, they could
be used nicely to represent a "one" and a "zero" respectively, to
allow easy encoding of digital information. Simple! Well, that would be nice, but
as with most things in real life, it usually doesn't work that way. :^) There are three
key reasons why it is not possible to do this simple 1-to-1 encoding:
- Fields vs. Reversals: Read/write heads are designed not to measure the
actual polarity of the magnetic fields, but rather flux reversals, which occur when
the head moves from an area that has north-south polarity to one that has south-north
polarity, or vice-versa. The reason the heads are designed based on flux reversals instead
of absolute magnetic field, is that reversals are easier to measure. When the hard disk
head passes from over a reversal a small voltage spike is produced that can be picked up
by the detection circuitry. As disk density increases, the strength of each individual
magnetic field continues to decrease, which makes detection sensitivity critical. What
this all means is that the encoding of data must be done based on flux reversals, and not
the contents of the individual fields.
- Synchronization: Another consideration in the encoding of data is the
necessity of using some sort of method of indicating where one bit ends and another
begins. Even if we could use one polarity to represent a "one" and another to
represent a "zero", what would happen if we needed to encode on the disk a
stream of 1,000 consecutive zeros? It would be very difficult to tell where, say, bit 787
ended and bit 788 began. Imagine driving down a highway with no odometer or highway
markings and being asked to stop exactly at mile #787 on the highway. It would be pretty
hard to do, even if you knew where you started from and your exact speed.
- Field Separation: Although we can conceptually think of putting 1000
tiny N-S pole magnets in a row one after the other, in reality magnetic fields don't work
this way. They are additive. Aligning 1000 small magnetic fields near each other would
create one large magnetic field, 1000 times the size and strength of the
individual components. Without getting too far into the details, let's just say that this
would, in layman's terms, create a mess. :^)
Therefore, in order to encode data on the hard disk so that we'll be able to read it
back reliably, we need to take the issues above into account. We must encode using flux
reversals, not absolute fields. We must keep the number of consecutive fields of same
polarity to a minimum. And to keep track of which bit is where, some sort of clock
synchronization must be added to the encoding sequence. Considering the highway example
above, this is somewhat analogous to adding markers or milestones along the road.

|
Idealized depiction of the way hard disk data is
written and then read.
The top waveform shows how patterns are written to the disk. In the
middle, a representation is shown of the way the media on the disk is
magnetized into domains of opposite direction based on the polarity of
the write current. The waveform on the bottom shows how the flux
transitions on the disk translate into positive and negative voltage
pulses when the disk is read. Note that the pattern above is made up
and doesn't follow any particular pattern or encoding method. |
In addition to the requirements we just examined, there's another design limit that
must be taken into account: the magnetization limits of the media itself. Each linear inch of space on a track can
only store so many flux reversals. This is one of the limitations in recording density, the number of bits that can be
stored on the platter surface. Since we need to use some flux reversals to provide clock
synchronization, these are not available for data. A prime goal of data encoding methods
is therefore to decrease the number of flux reversals used for clocking relative to the
number used for real data.
The earliest encoding methods were relatively primitive and wasted a lot of flux
reversals on clock information. Over time, storage engineers discovered progressively
better methods that used fewer flux reversals to encode the same amount of information.
This allowed the data to effectively be packed tighter into the same amount of space. It's
important to understand the distinction of what density means in this context. Hardware
technology strives to allow more bits to be stored in the same area by allowing more flux
reversals per linear inch of track. Encoding methods strive to allow more bits to be
stored by allowing more bits to be encoded (on average) per flux reversal.
Note: There are in fact many
data encoding and decoding methods. I only examine here the most common ones used for
PC-related technologies.
Next: Frequency
Modulation (FM)
Home - Search
- Topics - Up
|