Please explain wasted space on an exfat formatted external hard drive

I recently bought a 750 GB 2.5″ hard drive and put it in an external enclosure.  It has Advanced Format Technology (AFT), but I use Windows 7, so I assumed I would be safe.

  1. I decided to try exFAT, because I was enticed by the reduced overhead
  2. For “Allocation unit size” I selected “Default allocation size”
  3. Tried with “Quick Format” un-selected first, but it was taking too long, so I stopped and started over with “Quick Format” selected
  4. After drive was formatted, looking at the format options again shows that the “Allocation unit size” is 256 KB

The drive works fine, but I had a question about the difference between “Size” and “Size on disk.”

On my 120 GB NTFS formatted internal hard drive, the difference is only 0.16%.  However, on my much larger, exFAT formatted external drive, the difference is 17.38%.  At that rate, the most I will fit on this 750 GB drive is 637 GB (with 0 free space).

What format options should I use to maximize usable disk space?

What impact will my current settings have on performance?  What impact will your recommended settings have on performance?

Format settings

Format settings

Internal hard drive

Internal hard drive

External hard drive (with big space difference!)

External hard drive

Solution:

The default allocation unit (cluster) size in exFAT is much larger than the default allocation unit size in NTFS. As you’ve noted in your question, exFAT defaults to 256KB, but NTFS defaults to 4KB for volumes larger than 2 GB.

Because allocation of storage must occur in whole clusters, a file that is not a multiple of the cluster size will result in wasted space on the storage device.  This wasted space depends on the size and is generally larger when the cluster size is larger and when there are many files on the device.  This condition is called internal fragmentation, and the wasted space is called slack space.

For example, a 257KB file will require two allocation units to store on your exFAT volume, taking up 512 KB of space. The same file would require only 260KB on an NTFS volume with 4KB clusters.

The Wikipedia article on data clusters explains it in more detail:

 

A cluster is the smallest logical amount of disk space that can be allocated to hold a file. Storing small files on a filesystem with large clusters will therefore waste disk space; such wasted disk space is called slack space. For cluster sizes which are small versus the average file size, the wasted space per file will be statistically about half of the cluster size; for large cluster sizes, the wasted space will become greater. However, a larger cluster size reduces bookkeeping overhead and fragmentation, which may improve reading and writing speed overall. Typical cluster sizes range from 1 sector (512 B) to 128 sectors (64 KiB).

Try formatting the drive with a smaller allocation unit size.  This may slightly slow I/O operations, but will greatly reduce the amount of wasted disk space.