Which Name Is Correct, exFAT or FAT64?
Solution 1:
There's no such thing as FAT64, at least not at this time. There's exFAT which some people refer to as FAT64.
Why do they do this? The history of the File Allocation Table is quite involved. These days, the most common implementations are FAT32 (though this is increasingly uncommon) and ExFAT. FAT32 was a significant improvement over the older FAT file systems, allowing volume sizes up to 2TB (with a sector size of 512 bytes) and up to 16 TB (with a sector size of 64KB). That's still large enough for most installations in 2016. Unfortunately, the largest file size was (one byte less than) 4GB, which is pretty small nowadays.
exFAT does away with this 4 GB limit, allowing files well into the PB region. Similarly with the volume size. It does so using 64-bit length fields. As FAT32 used 32-bit length fields, exFAT naturally acquired the nickname, FAT64.
So, yes. FAT64 and exFAT are the same thing. exFAT is the correct name.
Solution 2:
Rany is mostly correct. However FAT was not based on the length field, it was based on the size of the index value. So, with floppies you had FAT12, where each cell in the FAT table was 12 bits, then FAT16, and then FAT32, which was 32 bits in size, BUT only USED 28 bits. exFat also uses 32 bit cell entries, but ALL 32 bits are used, and allows for 2^32 clusters with a maximum cluster size of 32GiB for a total file system of approx 128PiB
The file system was being called FAT64 because without knowing the structure of the file system, everyone just assumed it doubled the FAT from 32 to 64, and that is not the case. The creation of exFAT was to solve many problems. The 4gb barrier to file size was a biggie because a lot of video with high quality HD comes into play, where hours of video takes a lot of storage. Especially running high HD (1080P) and super high (4K) which can hit that barrier in 10-15 minutes. But the file system was also built for performance, especially for video recording. Higher write speeds, less overhead. For that, there is less FAT updates, the bitmap was introduced, contiguous file improvements, pre-allocated file spaces, to reduce overhead. exFAT is the standard file system for SDXC memory cards, because of the improvements in the the exFAT file system. One more thing: exFAT is also built to be flash memory compatible, less writes, block boundaries for better flash memory performance.
Solution 3:
While exFAT borrows some concepts of FAT, there are major differences, so the claim that exFAT is (basically) FAT64 is simply wrong.
Between FAT12 and 16 only the size of the allocation table was changed. FAT32 had an even larger (32 bits per entry) allocation table, some new concepts (a variable address for the root directory, quick lookup table for the next free entry, redundancy BPBs, …) were introduced. (keep in mind that VFAT, i.e. long file names and such) don’t have a connection with FAT32, as they are simply a (quite clever) hack into how directories are managed)
When writing an exFAT file system, simply using a FAT32 driver and extending the allocation table again will get you nowhere (simply because the allocation table still is 32 bit wide), but exFAT introduces a volume bitmap for quick lookup of allocated sectors, uses the allocation table only for files not stored in one piece (otherwise it simply uses datarun entries), and has a totally different format how directories are stored.
Solution 4:
Yes, exFAT is the official name and FAT64 is its synonym.