A data structure stored on disk to keep track of the allocation status of each cluster.

It indicates whether the cluster is free, used or reserved. If it is used, it points to the next cluster (in a linked list) for files that occupy multiple clusters.

The directory entry of the file maps the filename to a starting cluster address in the FAT.

Root Directory

There is a root directory which is a file representing the FAT data structure. Each dirent (directory entry) in this file describes a file or a directory, with metadata including:

  • Creation date
  • Modification date
  • Start cluster
  • Length in bytes

Types

We hear of FAT types like FAT16 and FAT32. The number represents the maximum number of cluster addresses that the data structure can hold.

Modern FAT systems are typically FAT32, which can hold (over 4 billion) cluster addresses. This translates to up to 16TB of storage (assuming 4kB cluster sizes on modern hardware).