There are four ways of handling defects in recording surfaces -- skipped space, marked blocks, spare sectors and spare cylinder(s).
The simplest method of handling bad areas is to "deformat" areas found to be bad during initial formatting, by removing sector identification information and rewriting the sector in the next available good region. This can not easily be done for bad areas detected after initial formatting. It also may cause trouble with performance enhancement algorithms that expect to be able to calculate disk sector location based only on disk geometry.
Flagging writes sectors in defective areas, but marks the sector(s) that are bad as being unusable. This method is undesirable for file systems like FAT that allocate the disk in large fixed length areas (Clusters) since a single defective sector would require skipping the whole cluster containing it. It is used for floppy disks which generally are organized as a large number of relatively small clusters. It is also used on hard disks when other methods can not be used.
Spare tracks are unused tracks in the same cylinder as the faulty sector. Bad sectors are flagged as bad and are reallocated to spare sectors that can be reached without moving the read/write heads. This has only slight performance impact. Because of the use of buffer memories on the disk, it is possible that the use of spare sectors in the same cylinder may not significantly affect disk read performance on disk drives made after about 1998 that have full track buffering.
Spare cylinders are areas for spare data storage in a different cylinder than that with the faulty sectors. The faulty sectors are flagged bad, and the data is written on the spare cylinder. Use of a spare cylinder requires moving read/write heads to the spare cylinder and possibly back. That will generally have a significant performance impact.
In some cases, ESDI for example, spare storage handling is handled by controller PROMs rather than the Operating System. In cases like that, it is necessary for the Operating System to respect the controller behavior and keep its disk handling/allocation clear of the controller disk handling.
Return To Index Copyright 1994-2008 by Donald Kenney.