The term "low level format" has meant very different things over the years with different disk types and encoding schemes.

Early floppies were hard sectored, with an index hole for each sector, so low level formatting probably didn't mean a whole lot for them, as much of the formatting was done when the index holes were punched at the factory.

Later, it was discovered that the sectors could be packed a bit more tightly without the hard sectoring, so only one index hole was put on the disks. (I don't recall if anything really used the remaining index hole once soft sectoring became the norm, but it was still there, even though no drive hardware I've seen has any way to read it.)

Soft sectored floppies worked like this....

Imagine a sector as two streams of data. The first stream is fairly short, and contains stuff like a sector's ID (track & sector number) and a checksum of the header data. The second stream is the data itself followed by the data's checksum. Each stream is prefixed by synchronization bits and magic numbers, and suffixed by pad bits. There is also a gap between each stream. (The gap becomes critical later.)

Now, this stream of bits on the disk isn't in a fixed location. (This is soft sectoring, remember.) When it is time to write a sector to the disk, the head is moved to the correct track, and then the disk is read until the header for the desired sector passes by. Very shortly after that, the drive begins to write the data bits for the sector to the disk. Exactly where it writes the data may vary a small amount, so the data portion of the sector kind of floats between the neighboring two headers. This is why the sync bits, magic number, and pad bits are needed... Most likely, the data's sync bits will be in the middle of previous incarnations of the sync bits, or the new incarnation's sync bits might overwrite the magic number of the previous incarnation.

Since the data streams can float around on the disk, this has the added advantage that you don't wear out the same spot all the time, and if your media does develop a worn spot, there's a good chance that you can just reformat it, and the worn bits will end up in the gap between sectors.

So, to read a sector, read the disk until the correct header passes by, and then read the sync bits until the the magic number is seen, and then read the data.

Simple, right? Well, not exactly. This still glosses over lots of stuff, like D/A conversion, data encoding methods (FM, MFM, RLL) and head positioning schemes (stepper motor, voice coil), speed calibrations, timing bits, etc., but you get the general idea.

Floppies and early disks allowed you to actually low level format them. This process assumes you have a blank disk with no data on it, including the sector headers. (I.e., the surface contains random magnitized fields, with no pattern.) The low level format actually writes the sector headers onto the disk with the correct gaps and such, along with initial zeroed data portions to go with the headers. Since the sector headers were being written at low level format time, you also could set the interleave factor to control the order of the sectors on the disk.

With later hard disks, the disks were low level formatted at the factory with extremely precise hardware so as to be able to pack the sectors very tightly and evenly. Also, some manufacturers put head calibration & positioning data on the disk along with the sector data. These disks could not be (successfully) low level formatted with consumer grade hardware.

More advanced disks did more mysterious things that were implemented purely in the hardware of the controller, some of which could not be initialized by the hardware that used it. Also, new features were added to the IDE standard such as replacement sectors.

So, low level formatting took on a new meaning. With IDE and SCSI disks, a low level format is really sort of a "mid level" format. This mid level format maps physical sectors layed out on the disk at the factory to logical sectors, skipping the inevitable bad sectors, and reserving replacement sectors for when additional bad sectors form.

Also, with modern disks, the total number of sectors per track actually varies, as most disks use CLV. The actual geometry of the disk has nothing to do with the BIOS geometry, which is just picked to fit the number of sectors available. SCSI (and modern IDE) actually use a linear sector numbering, and ignore the concept of "track". (And a replacement sector could actually be on a different track anyway.)

Now that you've low level formatted your disk, you need to high level format it, and put a filesystem on it.

This was brought to you by the Save Our Archaic Technical Terms Society.

Log in or register to write something here or to contact authors.