Fat 16 Logical Drive Size

 
 

    Microsoft's information uses the term "logical drive"-- which could be defined as the physical drive space that corresponds to a drive icon on the Windows desktop. In the hard drive partitioning, this would correspond to either a primary drive partition, or a logical drive partition that is inside a (possibly larger) extended partition.

 
 

    The size limit for logical drives using the FAT16 file system in Windows Me/98/95 and MS-DOS is 2GB.

    Both MS-DOS and the retail release of Windows 95 use a 16-bit FAT for logical drives larger than 15MB. (Note: Only the newer OEM versions of Windows 95 can support the FAT32 file system.) So, subject to the BIOS Int 13h CHS barrier , the FDISK utility in both MS-DOS and retail Windows 95 can create an extended partition larger than 2GB. Then FDISK can create multiple logical partitions, up to 2GB in size, in this extended partition. However, FDISK does not allow the creation of a primary FAT16 partition, or a logical FAT16 partition, larger than 2GB.

    The maximum number of clusters for a 16-bit FAT drive is 64K. And the maximum cluster size for a FAT16 drive in Windows Me/98/95 and MS-DOS is 32KB. Therefore, the maximum logical drive size for FAT16 is calculated as follows:

64K x 32 KB = 2048 MB = 2 GB

    FAT16 is an abbreviation for "File Allocation Table 16-bit". In a FAT16 drive, each file is stored in one or more clusters, while the sequence of which clusters each file is stored in is recorded by the FAT (File Allocation Table) entries. There is one FAT entry for every cluster or allocation unit in a logical drive, and each of the allocation units in the drive is sequentially addressed by a 16 bit numeric value. This in turn limits both the number of allocation units and the number of FAT entries to 65,536 or 64K. (Per Microsoft article Q118335, the maximum number of FAT16 clusters is actually 65525, which is 11 short of a full 64K.) So when a drive is formatted, the FORMAT command selects the smallest cluster size that it can use, based on the drive size and using from 4087 to 65525 clusters.

 

Cluster Size and Wasted Space

  Here is a chart showing drive sizes and cluster sizes:

  Logical Drive size         Allocation unit             FAT
  (for hard drives)          or cluster size             type
  ---------------------      ------------------------    ------
   15.96MB or less *          4096   4K   (8 sectors)    12-bit
   15.97MB to 127.98MB        2048   2K   (4 sectors)    16-bit
   127.99MB to 255.96MB       4096   4K   (8 sectors)    16-bit
   255.97MB to 511.92MB       8192   8K  (16 sectors)    16-bit
   511.93MB to 1023.84MB     16384  16K  (32 sectors)    16-bit
  1023.85MB to 2047.69MB     32768  32K  (64 sectors)    16-bit
                             -----  -----
                             Bytes  Kilobytes
   * Any drive requiring more than 4086 clusters will be FAT16.

 
 

    Unless the drive is used specifically to store large files, a 2GB FAT16 logical drive, which uses 32K clusters, can end up with "wasted" cluster space heading towards half the formatted drive capacity. Which is why many Windows 95 PC's were configured with a 1GB C: drive. As the change from 16K clusters for a 1GB partition, to using 32K clusters to get a 2GB partition, can result in a tremendous jump in how much space the clusters are wasting.

 
 

    "Since a file must occupy at least one whole cluster and no cluster can be used by more than one file, there is always some wasted space on every drive. The amount of wasted space in a cluster is called cluster overhang or slack space. The total amount of wasted space on a drive depends on the cluster size, the number of files, and the size of the files. The approximate total slack space can be calculated as 1/2 cluster size times the number of files.

    "Some examples - A file with a size of 3072 bytes would use two 2K allocation units on a 120MB drive. The first allocation unit would be filled entirely and the next would be half full, with 1024 bytes wasted. The same file on a 250MB drive would use one 4K cluster and would also waste 1024 bytes. The same file on a [2GB] drive would use one 32K cluster with 29,696 bytes wasted. A larger file will waste a much smaller relative amount of drive space. A file with a size of 1,000,000 bytes on a 500MB drive would fill 122 8K clusters and part of another cluster with 476 bytes wasted. Note that the larger the average file size, the less need there is to use a smaller cluster size.

    "Many people are surprised when they attempt to copy the contents of a 250MB drive onto a 300MB drive and find that the contents of the smaller drive may not fit on the larger drive. This is due to the change in the allocation unit size."

Sources Include:
Microsoft Articles - Q127851, Q118335 & Q67321
The PC Guide - Relationship of Partition Size and Cluster Size
Micro Firmware - Notes on Cluster Size or Allocation Unit Size
 
 

Related Information:

[WWW Link]Experts Exchange: FAT32 file size limit
http://www.experts-exchange.com/Operating_Systems/MSDOS/Q_20343072.html    [New Window]
These discussion forum postings cover FAT16 and FAT32 file size limits, as well as what characters are and are not permitted in filenames.
   
Back UP To: Specific Drive Capacity Limits
Next Page: 6322 Cylinders BIOS bug
Previous: 4096 Cylinder BIOS Barrier
 

 

[ChangeDetection.com]TM
Monitor this Webpage

E-mail the Webmaster
Page Content Updated: 16 February 2006
   

    The Windows NT family of operating systems also provide support for FAT16 drives up to 4GB in size. Other (Microsoft) Operating systems do NOT support these larger FAT16 partitions. Further, the use of 64K clusters to do this, results in even more drive space being wasted by the file system.