File Allocation Table (FAT): What Is It? (Its Types & More) [MiniTool Wiki]
What Is File Allocation Table (FAT)?
What is file allocation table? A file allocation table (FAT) can stand for the FAT file system or the table which resides in the FAT file system.
File allocation table is a table for describing the allocation status of the clusters (the basic units of logical storage on a hard disk) in the file system and the link relationship between the file contents. You can simply say it is a table in which the file is located.
It is a vital part of the FAT file system, and it is also very important for the use of the hard disk. If the file allocation table is lost, the data on the hard disk cannot be located and cannot be used.
When a new file is written to the hard disk, the file is stored in one or more clusters that are not necessarily adjacent to each other; they may be fairly widely distributed across the disk. The operating system creates a FAT entry for the new file, recording the location of each cluster and its order. When you read a file, the operating system reassembles the file from these clusters and places it as the entire file where you want to read it.
Then you can tell that the FAT file system is named for its method of organization - the file allocation table. It is a file system invented by Microsoft in 1977 for disk management, and it is used as the default file system in Windows before the release of NTFS.
The Instruction of File Allocation File System
The FAT file system roughly divides the space of the logical disk into four parts, which are boot sector, file allocation table area, root directory area and data area.
Boot sector: It is also called reserved sector, and located in the first part. It includes: the boot loader code needed by the operating system to start computer, the partition table of the main boot record (mbr) which describes how the drive is organized, and the BIOS parameter block (BPB) which describes the physical outline of the data storage volume.
FAT area: This section usually contains two copies of the file allocation table for redundancy checking and specifying how to allocate clusters.
Root directory area: This area is a directory table containing information about directories and files. It only works with FAT12 and FAT16. It has a fixed maximum size and is configured at creation time. FAT32 usually stores the root directory in the data area, so it can be extended as needed.
Data area: This is where directory data and existing files are stored. It occupies most of the partitions on the disk.
Types of File Allocation Table
We mentioned that a file allocation table is a list of clusters to show where the stored data is. The general types of file system (FAT12, FAT16 or FAT32) are determined by the width of the cluster entries in the FAT.
FAT12 (12-bit File Allocation Table)
The first version of the FAT file system is FAT12 which is the oldest type of FAT that uses a 12 bit file allocation table entry. It was introduced in 1980. FAT12 supports up to 16 MB of partition size using a 4 KB cluster, or 32 MB using an 8 KB cluster, the max file is limited by the partition size. It is almost never used at all since it is too small.
FAT16 (16-bit File Allocation Table)
The second implementation of FAT was FAT16, which introduced the 16-bit file allocation table entry for the first time in 1984.
Depending on the operating system and cluster size used, the FAT16 formatted drive can have a maximum drive size of 2 GB to 16 GB, the latter one which is only available in Windows NT 4 with a 256 KB cluster.
The file size on the FAT16 drive is up to 4 GB when Large File Support is enabled, or 2 GB if not. However, basically no one is using it now, because no one has a partition as small as 4GB.
FAT32 (32-bit File Allocation Table)
FAT32 is the latest version of the FAT file system which was introduced in 1996. Now you say FAT often means FAT32. It supports max partition size up to 2 TB or even as large as 16 TB with 64 KB clusters. But in fact, you can only set it up to 32GB in Windows Disk Management.
The biggest single file size on FAT32 is 4 GB, that’s why you will fail if you create a file larger than 4GB in FAT32.
In summary, the FAT file system is considered to have limited performance because it is not complicated, so it is supported by almost all personal computer operating systems. Its good compatibility makes it an ideal floppy and memory card file system, as well as for data exchange in different operating systems.
However, FAT has a serious drawback: when writing new data after deleting a file, FAT does not organize the file into a complete fragment and then writes it. After long-term use, the file data will be gradually dispersed, and the reading and writing speed will be slowed down. Defragmentation is a workaround, but it must be reorganized frequently to maintain the validity of the FAT file system.