|
![](/i/fill.gif) |
Gail Shaw wrote:
> One the subject of format, what does Low-level format actually do?
Nowadays, it means many different things, depending on the drive.
On old floppies, you used to have to do a low-level format by writing a
pattern of bits to the track as it spun. Basically, since floppies don't
spin exactly the same speed all the time, you need to first write a lead
in, then a bunch of sectors, then enough of a lead-out that you are sure
you overwrote the lead-in without overwriting the first sector. Each
sector consisted of a set of bits that said "here comes a sector", then
the track and sector number and sector length, then some mungable bits
that gave the read/write head time to switch from reading to writing,
then bytes that said "here comes the sector data", then the bytes of the
sector, then the flag that said "here comes the end of the sector". The
byte pattern for "the body of the sector" when you formatted it was
traditionally E5 (hex), which is why when you delete files on FAT (or
CP/M) file systems, it overwrites the first byte of the directory entry
with E5.
So that was the low-level format - taking a completely erased disk and
writing out all the header information that said which bytes were
included in which sectors.
(The Amiga stored more on the disks by basically rewriting the entire
track each time the sectors were written. Just as fast, and you didn't
need to be switching between read and write every time.)
Note that floppies are actually serial devices. So to store more than (I
think) three or four bits of 1's or 0's in a row, you have to inject
differences between. (So you have to encode 00001111 as 00101101, or
something. MFM is one such common encoding.) Kind of the same reason a
slow modem has clean tones and anything over 2400 has a "noisy" tone -
it's doing the same sort of randomized bit stuffing. The Amiga DMA
hardware could do that sort of stuffing without CPU intervention, so it
wasn't a lot of overhead to rewrite an entire track when you changed one
sector.
Nowadays, floppies come pre-low-level-formatted. I think if you put in a
"raw" floppy (i.e., one with a file system the OS doesn't recognise), it
will do the low-level format. Otherwise, you couldn't erase a floppy
with a magnet and then have it work.
With a hard-drive, it used to be the same sort of thing. Some hard
drives, however, now have one platter dedicated to nothing but
synchronization information, basically. So all the information about bit
timing and such is on one platter. In other words, instead of a serial
stream, there's a parallel stream. Doing a "low level format" means
rewriting that platter, which is much more sensitive to problems of
rotational speed and such. In other words, they do they low-level format
on a machine with much higher precision than the motor they put in the
drive they sell to you, so it's very hard to recreate the patterns.
Nowadays, a "low-level format" on a hard drive means to write some
constant pattern over all the bytes you can write to.
--
Darren New / San Diego, CA, USA (PST)
Helpful housekeeping hints:
Check your feather pillows for holes
before putting them in the washing machine.
Post a reply to this message
|
![](/i/fill.gif) |