Dan Butler's
TNPC Newsletter

A Primer on Large Drive Support, the Enigmatic FAT32 and FAT32x, and Things that Go Bump in the Night

by Peter G. Barnett

(In TNPC #1.2 Al Gordon wrote about woes he experienced after converting to FAT32, and wondered about the nature of the so-called FAT32x file system. Peter Barnett of Symantec read our article and provided the following helpful details about large hard drives and other new technologies, and the problems of adopting them. -- Ed.)

Introduction

To effectively use a computer one does not need to know how it works. Rather, one only need know how to do whatever task it is that is required. To drive a car one does not need to be a mechanic. Nevertheless, a cursory understanding of computer file storage systems and physical hard drive characteristics is one area that can save you from a host of troubles.

There are a number of danger areas when it comes to hard drives and file storage systems where it is very easy to get into serious trouble. Serious trouble is defined as loss of data. Similar situations exist for all types of computers and operating systems, but our focus here is exclusively on DOS, Windows, and NT.

Why should you even care? In short, one only needs be concerned under one or more of the following conditions:

1. A virus or system failure damages your hard drive.

2. You add another drive to your system.

3. You upgrade your operating system.

Obviously, having a backup will prevent data loss. Nevertheless, knowing how your particular system works including any peculiarities and/or limitations can save you many long hours of frustration as well as keep your repair bills to a minimum.

Hard Drive Requirements and Limitations

Hard drives are physical. Operating systems are logical. Logical systems run on top of physical systems. Therefore, understanding physical limitations comes first.

Physical hard drives are divided into two basic categories, IDE and SCSI. IDE drives are divided into IDE, Enhanced IDE (EIDE), and Ultra DMA. SCSI drives are divided into SCSI II, Wide, Fast, and a few other categories as well. For our purposes we only need to concern ourselves with the size or capacity of the drive. The other distinctions have relevance for performance (speed) and do not impact data integrity. Consequently, IDE is meant to refer to all IDE drives and SCSI to all SCSI types as well.

The following table shows the size thresholds where problems can arise.

IDE
Greater than 528 MB
Greater than 2.0 GB
Greater than 4.0 GB
Greater than 8.4 GB

SCSI
Greater than 1.0 GB
Greater than 8.4 GB

All hard drives are physically dependent on a BIOS (Basic Input Output System) chip and a controller. For IDE drives these two components are almost always separate, while for SCSI, they are always one integrated unit. It is this integration that gives SCSI drives their speed edge over IDE drives. Furthermore, this integration all but eliminates the kind of mismatches that can plague IDE configurations. In short, one only needs to confirm that your SCSI drive is supported by your SCSI controller and you are done. Either it works or it does not. It is that simple.

IDE drives, on the other hand, have to be matched with the computer's BIOS as well. Unfortunately, there are so many variations available to do this that there is no easy way to describe how to determine it. Still, there are some guidelines that you can follow.

The first of these guidelines is size, as already mentioned. The second is the date of manufacture of your hard drive and the date of your computer's BIOS. The latter is usually displayed on your computer screen on startup. The former is more difficult to determine. BIOSes began supporting IDE hard drives greater than 528 MB in mid-1994. Support for 2 to 4 GB drives began around 1996 and for above 8.4 GB in 1998. That seems rather straightforward except that while the support began on those dates, it does not necessarily follow that support by your BIOS began at that time. Furthermore, many BIOSes are upgradable and the upgrade does not usually change the date. In other words, you can have a BIOS with a 1994 date that supports drives greater than 8.4 GB.

If you are not yet thoroughly confused and frustrated, hold onto your hats, there is more to come. In order to circumvent these limitations, manufacturers came out with controllers with updated BIOSes on them (kinda like SCSI) and with software that enhanced BIOS limitations. Consequently, finding out what you have can be a difficult exercise. Before you run off to your nearest computer repair shop, be advised, many of those places do not understand all this either. Not to despair, there are things that you can do.

1. Next time your computer starts up, press the "pause" key and write down your BIOS information. You can then go to the Web site of that manufacturer and check on the specifications of your BIOS (e.g., www.award.com).

2. Boot off a floppy diskette. If you have software that is enhancing your BIOS, it will fail and you will not be able to access your hard drive. This will not hurt anything unless you try to write to your hard drive.

3. If you determine that your BIOS does not support your hard drive and that you do not have software doing it, then you must have a controller with BIOS support. Unfortunately, you cannot tell by looking at the card itself.

As mentioned earlier, these issues only come up if you have a system failure or if you want to add a new large drive to your system.

Operating Systems and Large Drive Support

For the most part, your operating system runs on top of the hardware layer and it could care less as to the size of the drive it exists on. Nevertheless, there are a few size related issues. FAT32 and FAT32x from Windows 95b and Windows 98 are the only ones that come to mind. All of the aforementioned hardware considerations remain valid with only a few exceptions.

FAT32 and FAT32x Explained

Briefly, FAT stands for File Allocation Table and the number 32 refers to the number of bits (8 bits = 1 byte) reserved to store the required file information. The "x" refers to eXtensions to the original FAT32 specification. Prior to FAT32, DOS and Windows systems used FAT16. As drives increased in size, 16 bits became increasingly disadvantageous. In short, 16 bits maxed out at the 2 GB size (1 Gigabyte = 1,000 megabytes). FAT16 was originally limited to 32 MB drives and it was updated over the years until it became necessary to increase its basic structure from 16 to 32. FAT32 can safely address drives up to 2 Terabytes which is 2,000 GB.

With the advent of drives exceeding 8.4 GB, a new limitation was reached. Prior to this, all drives used some form of CHS (Cylinder Head Sector) translation. Under this scheme every sector was given three numbers. In anticipation of this limitation being exceeded, both SCSI and IDE manufacturers developed Logical Block Addressing (LBA). With LBA, each sector is given a unique number.

Depending on the BIOS, the operating system could use either CHS or LBA or both. Above 8.4 GB, only LBA is available. FAT32x tells the operating system to only use LBA. Consequently, it is not uncommon to see FAT32x in use below the 8.4 GB threshold. Conversely, if the operating system tries to use FAT32 or FAT16 beyond 8.4 GB, bad things are sure to happen.

One last caveat. Windows 95 and 98 come with an enhanced 32-bit disk driver that is LBA aware. It is rare, but there have been cases where a BIOS' limitations are overcome in Windows but not in DOS. DOS does not use the enhanced driver that is available in Windows. This is only a problem when using DOS mode exclusively. One symptom of this is to try and run FDISK from DOS mode and FDISK from within Windows (MS-DOS Prompt). If they behave differently, then you know to beware of DOS mode.

Conclusion

The main rule of thumb is to understand that if you add software or hardware to an existing system that DID NOT EXIST when the system was originally built, you run the risk of conflicts. This is truer of hardware than of software. Remember, 8.4 GB EIDE drives did not exist until early 1998. Furthermore, there are a lot of computer "experts" that are not up to date on the latest and greatest. Hence, it can never hurt to get more than one opinion.

References

How to Check Hard Drive Configuration (Symantec Knowledge Base)
http://service1.symantec.com/SUPPORT/nunt.nsf/
docid/1996112575859

Hard Drive Configuration Simplified (Symantec Knowledge Base)
http://service1.symantec.com/SUPPORT/nunt.nsf/
docid/1997125142832

How to Diagnose Hard Drive Bootup Problems with Disk Editor (Symantec Knowledge Base)
http://service1.symantec.com/SUPPORT/nunt.nsf/
docid/1996112112544 3

(Peter G. Barnett is a Technical Analyst for Norton Utilities.)

Copyright © 1999, PRIME Consulting Group, Inc. and Dan Butler. All Rights Reserved.
The Naked PC is a trademark of PRIME Consulting Group, Inc.
ISSN: 1522-4422
You may reprint an article from TNPC as long as you show the entire article and include the authors byline, excerpt and subscription information as shown:
A Primer on Large Drive Support, the Enigmatic FAT32 and FAT32x, and Things that Go Bump in the Night

by Peter G. Barnett
(This article originally appeared in The Naked PC newsletter #1.08, subscribe at http://www.TheNakedPC.com)

Links: