exFAT is not FAT64


Everyone is calling exFAT the FAT64 file system, but it isn’t. Microsoft never uses that terminology, and reality FAT64 is the real FAT32! What is called FAT32 today uses 32 bit FAT entries, but since the first 4 bits are reserved, is it really 28-bit addressing. Maybe Microsoft should have named it FAT28! But in exFAT, the cell sizes in the FAT table are 32 bits and all 32 bits are usable. But the highest address is 0xFFFFFFF6, and since the first two clusters are not defined, the maximum number of clusters in an exFAT file system, the effective size of the Cluster Heap, is 232-11.

So how big is a cluster?

It can be a maximum of 225 (32MB). Why? Because Microsoft in the exFAT 1.00 specification has set two limits: 1) The maximum sector size is 4096 and 2) the maximum cluster size (including the sector size) is 32MB.

So how big can the cluster heap be?

Microsoft has limited the maximum cluster size to 225 bytes (32MB). This number is reached by multiplying the sector size by the number of sectors per cluster. The sector size may be defined between 29 (512 bytes) and 212 (4096 bytes) and the product of these 2 values cannot exceed 225 bytes. Next, we look at the FAT entries which are 4 bytes and can track 232 of these clusters. This calculates to a maximum volume space of 257 bytes (128PB) (give or take about a dozen 32MB clusters because of the “-11”.

So, where does 64ZB come from, because on some websites, even in Microsoft’s KB article they say a maximum of 64ZB?

There is a published theoretical maximum is 64ZB which is 276. The maximum sector size is 4096 (212). However, in the VBR the number of addressable sectors for the file system is 264-1 and we add 64+12 = 76. The problem is that although we can address 276 sectors, we can only address 232-11 clusters because although the sector count is a 64 bit number, the clusters addresses (FAT cell sizes) are 32 bit numbers.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s