How Windows NT Handles Drive Translation
ID: Q161563
|
The information in this article applies to:
-
Microsoft Windows NT Server versions 3.5, 3.51, 4.0
-
Microsoft Windows NT Workstation versions 3.5, 3.51, 4.0
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