Since the size of the FAT is fixed, there is a hard maximum on the number of clusters
that the FAT can hold. The maximum depends on the size
of FAT used by the volume. For FAT12 partitions it is only 4,086; for FAT16 it is
65,526, and for FAT32 it is in the hundreds of millions.
FAT12 is only used for small partitions, so it isn't really very interesting in terms
of an analysis of partition and cluster size; virtually no hard disks today use partitions
below 16 MB, which is FAT12's limit. FAT32, on the other hand, is only limited in its FAT
size by performance considerations: we don't want a FAT with 100 million entries
because this can cause serious performance problems.
The place where partition size and cluster size interact is in the use of FAT16, the
standard FAT type used for hard disks between 16 MB and 2,048 MB in size. The partitioning
utility that you use to create your disk partitions will normally make the decision of
what cluster size to use, by trying to use the smallest possible clusters in order to
reduce slack. Since FAT16 is limited in size to
65,525 clusters, what happens is that each cluster size has a maximum partition size that
it can support. If you want to make a partition larger than that maximum, you are forced
to go up to the next larger cluster size.
The table below shows the FAT16 partition limits. The values are simply 65,526 times
the cluster size, in bytes. It's important to realize that since there are only 65,526
clusters maximum, which is less than 64K (65,536), the maximum partition sizes fall short
of the "round" MB numbers that everyone always uses. Thus the maximum partition
size for 8 KB clusters is 511.92 MB, not 512 MB:
Cluster Size |
Maximum Partition
Size (binary MB) |
Maximum Partition
Size (bytes) |
2 KB |
127.98 MB |
134,197,248 |
4 KB |
255.96 MB |
268,394,496 |
8 KB |
511.92 MB |
536,788,992 |
16 KB |
1,023.84 MB |
1,073,577,984 |
32 KB |
2,047.69 MB |
2,147,155,968 |
Note: Windows NT supports a
64 KB cluster size in FAT16, allowing a maximum partition of just under 4,096 MB. The
amount of slack waste in a partition of this size is astronomical, and since the 64 KB
cluster partitions aren't supported by Windows 95 or other FAT-using operating systems,
this isn't a popular option. I would recommend using NTFS under NT for a partition this
large.
Despite what you will read in many articles, there really is no hard-set minimum
for these cluster sizes. (Mind you, I've never tried a really teeny partition, I'm sure
there is some limit, but it's much smaller than most people usually say it is). It
sometimes appears that 512 MB is the minimum size for a 16 KB cluster size partition, for
example, because most utilities are pre-programmed to always pick the smallest possible
cluster size, in order to cut down on slack. This means that if you use FDISK for example
to create a partition that is 300 MB in size, it will always pick 8 KB for the cluster
size and not 16 KB or 32 KB. But that doesn't mean you can't have a 300 MB partition that
uses 32 KB clusters; Partition Magic will let you set this up if you want, and in certain special cases you may in fact want to
(although usually not).
Note: FAT32 really does have
a minimum size: it is only supported for partitions 512 MB or larger.
What does this all mean in terms of setting up your hard disk? It generally means that
if you are using FAT16 (as opposed to FAT32) and have a hard disk that is greater than
about 512 MB in size, you need to carefully consider how many partitions you want to use
for it. If you are using a hard disk that is larger than 1,024 MB in size (this generally
means a 1.2 GB or larger hard disk, since hard disk manufacturers specify disks in decimal
GB) then you are strongly advised to partition your hard disk into more than one
volume to avoid the tremendous slack space waste of partitions that use 32 KB clusters.
Next: FAT32 Performance Tradeoff: FAT32 Cluster Sizes and FAT Sizes