1. In modern usage, and especially with IDE, cylinders are often logical entities not physical ones. There may be uncertainties about where the "last cylinder" is and how big it is depending on whether the disk layout data represents the actual or logical layout.
2. Some partitioning utilities allocate a Diagnostic Cylinder outside of the partitioned space. Some don't.
3. Some technologies use the end of the disk for bad block information. This is a convention that predates the PC. Some controller BIOSes are aware of this bad block data. Some are not. End of disk bad block tables were used by ESDI and probably by MFM as well. Bad block and diagnostic cylinders should not conflict, but in some cases, they might.
Diagnostic/maintenance cylinder issues may well be at the root of some mysterious SCANDISK, Defragmentation, etc problems -- especially those that are visible to some programs but not to others.
Microsoft fdisks are aware of the diagnostic cylinder and do not include it or the Master Boot track in the available space displayed. One well known technique for identifying partition tables set up without diagnostic cylinder space is to run a Microsoft fdisk and see if the amount of space allocated is greater than the amount of space that fdisk asserts is on the disk. Bad block storage can also cause discrepancies in reported disk space.
Some BIOSes are Diagnostic Cylinder aware, and do not support INT13 access to the last Cylinder on the disk. IBM POST/Diagnostic codes include error codes such as 1712, 1716, 1720 that relate to the diagnostic cylinder. It is not clear that the code to detect these errors has been implemented.
Some utility programs require that a diagnostic cylinder be present. Some assume it is present and may overwrite data or malfunction if it is not. Utilities that use the diagnostic cylinder may overwrite data on the disk if there are disk addressing problems such as more than 1023 cylinders specified for a drive using INT13 calls.
Return To Index Copyright 1994-2002 by Donald Kenney.