Back
Next
The fats are id'd by the number of bits used to count storage blocks.
Fat12 - 2^12 = 4096 ~ 2MB (512 byte/sectors) - limit of original floppies.
Fat16 - 65536 ~ 256MB with 4K/cluster (2^(16+12)),
2GB with 32K/cluster (2^(16+15)).
Fat32 (actually 28 bits) - 268,435,456
~ 2^28 * 2^12 = 2^40 (1TB with 4K/cluster)
If default size block access size of a drive is 512 bytes/sector
Fat12 - 1MB
Fat16 - 32MB
Fat32 - 1GB
Clusters
To minimize record keeping by MS-OS,
sectors are grouped into clusters of 2 to 64 sectors.
And FAT table recorded the index of the cluster and the bios would
multiply and sequence through the multiple sectors of the cluster.
All clusters on a partition are same size.
Sectors of a cluster must be contiguous and on a single track.
* If system uses c/h/s
* Systems using LBA may allow clusters to span two tracks.
When there are not enough sectors remaining on a track to make up
a cluster, this is known as slack space and is lost (up to 30%).
Limits
A file needs a minimum of one cluster for storage.
Different versions of DOS have different min./max sector/cluster ratio,
Minimum coverage of storage device means large clusters.
Large fat on small storage means large fat wasting space.