Windows 95 Support for Large IDE Hard Disks

Last reviewed: November 3, 1997
Article ID: Q126855
The information in this article applies to:
  • Microsoft Windows 95
  • Microsoft Windows operating system version 3.x
  • Microsoft Windows for Workgroups version 3.x
  • Microsoft MS-DOS operating system versions 5.x, 6.0, 6.2, 6.21, 6.22

SUMMARY

Windows 95 supports the use of Integrated Drive Electronics (IDE) hard disks larger than 504 MB (1024 cylinders) using any one of the following methods:

- ROM BIOS support for INT13h extensions (for example: Logical Block

  Addressing, or LBA).

- Hard disk bus adapter (hard disk controller) support for INT13h
  extensions (for example: LBA)

- Using only the first 1024 cylinders of the drive

- Real-mode driver support for geometry translation

In addition, the Windows 95 protected-mode IDE disk driver (Esdi_506.pdr) is used to provide 32-bit disk access when you use any of the first three methods listed above. When you use a real-mode driver to provide geometry translation, 32-bit disk access is provided by Esdi_506.pdr only if you use version 6.03 (or later) of OnTrack Disk Manager's XBIOS drivers.

NOTE: For information about or assistance with Disk Manager, please contact OnTrack Technical Support.

MORE INFORMATION

IDE hard disks using the AT Attachment (ATA) interface are accessed via the system AT ROM BIOS INT13h services. IDE identifies a hard disk's capacity to the system BIOS by specifying the number of cylinders, heads, and sectors per track (CHS) in the CMOS memory.

Sectors are always 512 bytes in size, so the capacity of an IDE hard disk can be determined with the following formula:

   cylinders x heads x sectors per track x 512 (bytes per sector) =
   capacity

The system BIOS INT13h interface allows for a maximum of 1024 cylinders, 255 heads, and 63 sectors per track. The IDE interface allows for a maximum of 65,536 cylinders, 16 heads, and 255 sectors per track. To ensure compatible communication between the system BIOS and the IDE interface, the least common denominators of 1024 cylinders, 16 heads, and 63 sectors per track must be used. When you are using the INT13h services to access a hard disk, therefore, the largest drive that can be accessed is 504 MB, calculated as follows:

   1024 cylinders x 16 heads x 63 sectors per track x 512 = 528,482,304
   bytes, or 504 MB

NOTE: Some hard disk manufacturers consider 1 MB to be 1,000,000 bytes and would therefore consider 528,482,304 bytes to be 528 MB. In standard programming vocabulary and in MS-DOS and Windows 95, however, 1 MB is equal to 1,048,576 bytes, so 528,482,304 bytes is equal to 504 MB.

IDE hard disks larger than 504 MB require more than 1024 cylinders in the CMOS memory (or they could instead use more than 63 sectors per track, but this is very rare). As a result, drives of this size are not compatible with the system BIOS INT13h interface and the entire drive cannot be used unless geometry translation is being employed by the hard disk controller. Because most IDE controllers do not use geometry translation, IDE hard disks are almost always subject to the 1024-cylinder limit as imposed by the system AT ROM BIOS.

NOTE: Small Computer System Interface (SCSI) controllers usually include a device driver or BIOS ROM that replaces the system AT ROM BIOS services when communicating with a SCSI hard disk and therefore are not limited to 1024 cylinders (504 MB). Enhanced Small Device Interface (ESDI) drives use BIOS ROM-based INT13h functionality to provide drive geometry translation that is compatible with the ATA interface. Also note that when you are using IDE hard disks, it is possible to have a CMOS Setup allow you to view the full number of cylinders but still have the ROM BIOS limited to only 1024 cylinders.

MS-DOS and Windows 95 support IDE drives that exceed the 504-MB (1024 cylinder) limit using either geometry translation or LBA. Geometry translation is implemented by BIOS drivers that translate the IDE hard disk's actual geometry into geometry that will fit within the system BIOS' INT13h limitations. LBA is implemented by the system BIOS or hard disk bus adapter, which translates the CHS information that is passed to the BIOS into a 28-bit logical block address that is used by the drive to retrieve data from the disk.

To use an IDE hard disk larger than 504 MB (1024 cylinders) with MS-DOS or Windows 95, use one of the following methods:

ROM BIOS Support for INT13h Extensions

Update your computer's ROM BIOS to a version that supports INT13h extensions. A BIOS that supports LBA provides automatic translation for IDE hard disks that are configured for more than 1024 cylinders. This allows you to partition and format the entire drive with MS-DOS or Windows 95 and to use the Windows 95 protected-mode disk driver (Esdi_506.pdr) for 32-bit disk access.

NOTE: Contact your computer manufacturer for information about updating your ROM BIOS or enabling LBA support in the CMOS memory. For information about setting CHS information for your hard disk in the CMOS memory, contact your hard drive manufacturer.

For more information about INT13H EXTENSIONS, please see the following article in the Microsoft Knowledge Base:

   ARTICLE-ID: Q122052
   TITLE     : Logical Block Addressing (LBA) Defined

Hard Disk Bus Adapter Support for INT13h Extensions

Purchase a hard disk controller card that supports INT13H Extensions or performs geometry translation. This allows you to partition and format the entire disk with MS-DOS or Windows 95 and to use the Windows 95 protected- mode disk driver (Esdi_506.pdr) for 32-bit disk access.

NOTE: For information about purchasing a hard disk controller that supports INT13h Extensions or performs geometry translation, contact your hard disk or hard disk controller manufacturer.

Real-Mode Driver Support for Translation

Use a third-party software utility to perform geometry translation. Examples of this type of translation software include SpeedStor from Storage Dimensions, EZ-Drive from Micro House, and Disk Manager from OnTrack Computer Systems.

If you use version 6.03 or later of OnTrack Disk Manager's XBIOS drivers (both the Master Boot Record and CONFIG.SYS drivers must be version 6.03 or later), the Windows 95 protected-mode driver (Esdi_506.pdr) obtains the actual geometry and sector skew factor from the OnTrack driver using an API defined in OnTrack Disk Manager's XBIOS specification. In this case, 32-bit disk access is available in Windows 95.

If you use a version of OnTrack Disk Manager's XBIOS Drivers prior to version 6.03 or another third-party utility, Esdi_506.pdr unloads and disk access occurs in real mode using the system BIOS' INT13h interface. In this case, you will still have access to your drive in Windows, but the drive will be accessed using MS-DOS Compatibility Mode.

NOTE: Disk Manager 6.03 is supported in protected mode on hard disks on the primary IDE channel and when DriveSpace disk compression is not installed. For drives on the secondary IDE channel, Disk Manager 7.0 or later is required. When using the DriveSpace compression software that is included with Microsoft Windows 95 and Microsoft Plus!, Disk Manager 7.04 or later must be used.

OnTrack Disk Manager's XBIOS driver (Xbios.ovl) is stored in the root directory of the boot drive and is loaded from the Master Boot Record to support the primary partition (drive C). The CONFIG.SYS driver (Dmdrvr.bin) supports extended partitions and must be loaded to access any drives in the extended partition.

For information about setting CHS information for your drive in the CMOS memory, contact your hard drive manufacturer. In addition, these programs usually require you to partition and format the drive with a special utility provided with the third-party software. For information about this procedure, consult the documentation included with the software or contact the software manufacturer.

Use Only the First 1024 Cylinders of the Disk

In the CMOS settings, specify the CHS parameters so that no more than 1024 cylinders are used. This allows you to partition and format the drive to a 504-MB capacity with MS-DOS or Windows 95 and to use the Windows 95 protected-mode disk driver (Esdi_506.pdr) for 32-bit disk access.

For information about setting CHS information for your drive in the CMOS settings, contact your hard disk manufacturer.

Using Large Hard Disks with Windows and Windows for Workgroups

The methods described above will also let you use a drive larger than 504 MB (1024 cylinders) with Windows version 3.0 or later or Windows for Workgroups version 3.1 or 3.11. In addition, when you use one of these methods you can use the Windows for Workgroups 3.11 32-bit file access (VFAT) feature on most computers. Note that using INT13h extensions or geometry translation as described above does not allow you to use the Windows or Windows for Workgroups 32-bit disk access feature.

In Windows and Windows for Workgroups versions 3.1 and later, 32-bit disk access is provided by a FastDisk driver called WDCTRL. WDCTRL compares the total number of cylinders specified for the hard disk in the CMOS memory in the BIOS Parameter Block (BPB) with the number of cylinders reported by the hard disk in response to an Identify Drive command. If the BIOS reports more than 1024 cylinders, WDCTRL validation fails regardless of whether the system BIOS or bus adapter supports geometry translation or INT13h extensions.

To use 32-bit disk access with hard disks that are configured for more than 1024 cylinders and are therefore incompatible with WDCTRL, you must use a third-party FastDisk driver provided by the manufacturer of the hard disk or hard disk controller. You can also use such a FastDisk driver in place of Esdi_506.pdr to provide 32-bit disk access in Windows 95, although this should not be necessary for most hard disks.

Disk Manager is manufactured by OnTrack Computer Systems, a vendor independent of Microsoft; we make no warranty, implied or otherwise, regarding this product's performance or reliability.

SpeedStor is manufactured by Storage Dimensions, a vendor independent of Microsoft; we make no warranty, implied or otherwise, regarding this product's performance or reliability.

EZ-Drive is manufactured by Micro House, a vendor independent of Microsoft; we make no warranty, implied or otherwise, regarding this product's performance or reliability.


Additional query words: 3.x 5.x 6.00 6.20 6.21 6.22 95 atapi wd
enhanced eide fast-ata msdos ms-dos ms dos
Keywords : diskmem win95 wpp95 kbfaq
Version : 3.x 5.x 6.00 6.20 6.21 6.22 95
Platform : WINDOWS


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: November 3, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.