FAT32 maximum partition size and fat table size?

5.1k views Asked by At

i have two questions about FAT32 ,

The first if i want to format a partition with FAT32 using 32KB block size i think the maximum partition size i can get is :

2^28 * 32 = 8TB 

but why i see them list it as the maximum partition size is 2TB in every reference and windows limit it to 32 GB only ?!

the second question , if I want to know the size of the FAT Table in memory (To know memory consumption ) assuming I'm use 32 GB partition size with 32 KB block size , how to calculate that ?!

this is what I know ,but not sure about it :

  • First I have to know the number of entries which is 32GB/32KB=1,048,576
  • Second I have to find the size of table which is 1,048,576 * 32 bit each = 4 MB (or should I multiply with 28)

so is the above calculations are right ?!

Regards

2

There are 2 answers

0
Alan Corey On

The largest FAT32 partition size Microsoft "supports" is 32 GB. You can make them bigger but under certain conditions Windows will arbitrarily delete them. I had it happen and wasn't pleased so I looked up why, that was maybe about 2005.

They can be considerably bigger but it's not safe if the drive might get connected to Windows. Use NTFS/exfat or don't use Windows. When FAT32 was relatively new I remember reading some Microsoft document talking about the benefits and giving a much larger theoretical upper limit.

I don't think a FAT gets stored in memory often except maybe by some utility programs. If you're reading or writing a file there's no huge advantage in knowing the offset of the next sector until you get ready for it. The FAT is like a lookup table. If the space is fragmented it will be slower, keeping it in memory could help there.

0
Barny On

From wikipedia :

The FAT32 boot sector uses a 32-bit field for the sector count, limiting the maximal FAT32 volume size to 2 terabytes with a sector size of 512 bytes. The maximum FAT32 volume size is 16 TB with a sector size of 4,096 bytes

So, with the maximum sector count of 2^32 and the maximum sector size of 4KB, the maximum volume size is 16TB. However, a very common sector size is 512bytes, probably because this maps well onto the hardware sector size of 512 bytes of a lot of storage devices, hence the reference to 2TB.