How Windows NT Handles Drive Translation

ID: Q161563


The information in this article applies to:


SUMMARY

When the operating system starts, the mini-port drivers and SCSI disk and class drivers are among the first to load. This is true even in an all EIDE system because the ATAPI drivers make EIDE devices look like SCSI devices to the rest of the system.

As these components initialize, they query the SCSI or machine BIOS for a drive translation. Most modern SCSI devices will return the generic 255 head / 63 sectors per track with the number of cylinders being the variable. This number must be 1023 or less.

This configuration will allow an operating system partition to be up to 4 GB in size for FAT and up to 7.8 GB for NTFS. When this translation scheme is used, it means that the boot sector for the first partition on the disk will normally be located on physical sector 63 of the disk.


MORE INFORMATION

Multiple Controller Issues

When multiple disk controllers are used, the BIOS translation scheme is Only used for the drives on the primary (boot) controller. For all other controllers Windows NT will default to 64 heads and 32 sectors per track. This is because on a controller without a BIOS enabled, it is not possible to get a translation scheme, only the sector size and number of sectors on the drive. The 64/32 translation is the lowest common denominator. Since we are not booting from a controller without a BIOS, the x86 limitation of 1024 cylinders has no effect. Windows NT uses a 64-bit value internally for the number of cylinders in order to accommodate terabyte-sized volumes.

The net effect of using different translation schemes on identical drives Is that the operating system will see the drives as being slightly different in size. This is because the boot sector for the first partition on the second disk is now located on sector 32. The drive now looks like it is 31 sectors larger than if the 255/63 translation is used.

Fault Tolerant Issues

When fault tolerant sets span multiple controllers such as in duplexed mirrors and stripe sets, care must to be taken to ensure that all drives in the set are using the same drive translation scheme. This is not normally a problem unless one drive in the set is on the controller used to boot the system and another drive is not. In this case the drives, even if they are physically identical, will be seen as being slightly different in size due to the different default translation schemes.

In this situation, when a drive on the boot controller fails and is replaced with an identical drive, it may still be impossible to re-create the mirror or regenerate the stripe set because the new drive is seen by the system as being slightly smaller in size.

Mixing SCSI and EIDE Devices

An important point to remember is EIDE devices may not use industry Standard translation schemes. It is possible an EIDE device may be configured as 14 heads, 56 sectors per track with 912 cylinders for example. This is why, for example, it is generally not a good idea to mix SCSI and EIDE devices in a fault tolerant configuration. While the configuration may work, it will seldom be the optimum configuration, and may make recovery in the event of failure much more difficult.

Additional query words: translate regenerate free space


Keywords          : ntfault ntfilesys NTSrvWkst 
Version           : 3.5  3.51 4.0
Platform          : winnt 
Issue type        : 

Last Reviewed: February 2, 1999