As the size of FAT16 partition increases, the wastage of disk space is also increases. The use of FAT32 reduces the cluster sizes and thus provides an efficient storage. While FAT32 does allow the use of larger hard disks and greatly reduced cluster sizes, there is an important performance consideration in using FAT32 that the huge hard disks with dozens of gigabytes have made FAT32 essential for newer systems. Rather we can say that you often do not have a practical choice between FAT16 and FAT32 any more.
Let us consider a partition of 2,048 MB, the largest that FAT16 can support. If this partition is set up under FAT16, it will result in a file allocation table with 65,526 clusters in it, with each cluster taking up 32 KiB of disk space.
The large cluster size will indeed result a big wastage of disk space. Therefore it will be recommended that FAT32 should be used on this partition, which will result in the cluster size reduced from 32 KiB to 4 KiB.
In fact, this will reduce slack on the disk by an enormous amount which may be up to 30% and potentially free hundreds of megabytes of previously wasted disk space. It is usually the right thing to do in this situation. However it has another side of it. We do not get this reduced cluster size for free.
Since each cluster is smaller, there have to be more of them to cover the same amount of disk. So instead of 65,526 clusters, we will now have 524,208.
Further more, the FAT entries in FAT32 are 32–bits wide (Each entry of 4 Bytes) whereas the entries of FAT16 are of 16–bit (Entry of 2 Bytes each). The end result is that the size of the FAT is 16 times larger for FAT32 than it is for FAT16. The following table summarizes:
FAT 16 and FAT 32 for 2,048 MB Disk Volume |
FAT Type |
FAT16 |
FAT32 |
Cluster Size |
32 KiB |
4 KiB |
Number of FAT Entries |
65,526 |
524,208 |
Size of FAT |
131052 Bytes
(~ 128 KiB) |
2096832 Bytes
(~ 2 MiB) |
If we increase the size of the FAT32 volume from 2 GB in size to 8 GB, the size of the FAT increases from around 2 MiB to 8 MiB. The significance of this is not the fact that the FAT32 volume will have to waste several megabytes of space on the disk to hold the FAT. Because only by doing this it is saving far more space than that by reducing the size of FAT. The real problem is that the FAT holds all the cluster pointers for every file in the volume. Having the FAT greatly increase in size can negatively impact system speed.
For this reason it is important to limit the size of the File Allocation Table to a reasonably-sized number. In fact, in most cases it is a matter of finding a balance between cluster size and FAT size. A good illustration of this is the cluster size selections made by FAT32 itself.
Since FAT32 can handle around 268 million maximum clusters, the 4 KiB cluster size is conceptually able to support a disk volume 1 TiB (1,024 GiB) in size but the problem in doing so is that the FAT size then would be reach over 1 GB as according to 268 million times 4 bytes per entry.
For this reason, FAT32 only uses 4 KiB clusters for volumes up to 8 GiB in size, and then larger clusters are used as shown in the table given before, for Cluster Sizes. The maximum partition size supported by FAT32, which is officially declare is 2,048 GiB (2 TiB).
|