DISK FORMATTING

4/22/2002

Formatting of disks involves two quite different processes that have come to be known as low level and high level formatting. Low level formatting deals with formatting of disk surfaces required by the disk controller hardware. High level formatting deals with software specific information written by a specific OS.

The process is most easily seen with a standard 1.44mb PC floppy disk. Low level formatting of the floppy writes 18 sectors of 512 bytes each on each of 80 tracks (40 on each side) of a floppy disk. That provides 1474560 bytes of storage on the floppy. Sectors are actually larger than 512 bytes as they include sector numbers, CRC bytes and other information required in order to identify and verify the sector during reading and writing. Low level formatting installs characteristics like sector numbers visible to and used by the hardware and disk controller. To further complicate things, different low level formats can be used on the same media, for example, large records can be used to cut down on interrecord gap size. Linux supports a variety of sector sizes, MSDOS/Windows support a large record size DMF formatted floppy format.

High Level formatting on the other hand, is unique to a file system. In the case of MSDOS (FAT12) that entails writing an initial "boot" record (which may just contain code to tell you the disk is not bootable); two copies of the file allocation table; and an empty root directory.

In the case of floppy disks, both high and low level formatting are customarily done in one pass by user software -- FORMAT in the case of MSDOS. In recent years, most floppies ship preformatted as MSDOS FAT12 floppies from the factory. It is possible, if not always easy, to reformat them to other formats.

Early hard drives were quite similar to floppies, but the low level formatting was generally done by the BIOS rather than by the operating system. This was, incidentally, a fairly bizarre process that involved using the MSDOS debug program to transfer control to a routine hidden at different addresses in different BIOSes.

Starting in the early 1990s, the low level format of hard drives became more complex as technology improved to use different numbers of sectors per track on longer outer tracks; encode track numbers into the disk surface to simplify hardware and speed head motion; etc. Rather than face ever escalating difficulties with BIOS versioning, disk vendors started doing low level formatting at the factory. High level formatting is done on a per partition basis and formats the partition to work with a specific file format.

Note: I found this article while doing final editing on the Glossary. It is possible that there is another copy in the glossary somewhere with a different title.

Return To Index Copyright 1994-2002 by Donald Kenney.