File Allocation Table
is used as an area on the hard disk or floppy disk containing information of every file stored and unallocated spaces on the disk and was first developed for MS-DOS. FAT16 indicates that the size of each entry in the file allocation table of a disk is 16 bits.
A disk that uses FAT16 can hold 65,526 clusters maximum. It is used in volumes ranging from 16MB to 2048MB.
The Clusters in FAT16 typically range from 512 bytes to 32 Kilobytes. The cluster size depends on disk space and efficient file access.
The smaller clusters will result in less wasted space, but more clusters can increase the size of the table, which will slow down the disk access. Whereas large clusters can reduce the size of the table but will have more wasted space.
- Boot Sector: The first sector of the filesystem contains essential information about the file system known as BIOS Parameter Block(BPB) including the file system type (FAT16), sector size, cluster size, number of reserved sectors, and more.
- Reserved Area: It includes the boot sector and typically a few additional reserved sectors that hold important data structures like BPB and EBPB.
- File Allocation Table (FAT): The File Allocation Table (FAT) is a crucial data structure that keeps track of the allocation status of each cluster on the disk. It keeps a record of the clusters that are free and in use. FAT16 has 2 copies for redundancy and recovery purposes.
- Root Directory: The root directory contains entries for the files and subdirectories located at the root level of the drive. The structure of entries in the Root Directory is fixed and occupies a certain number of sectors.
- Data Area: The Data Area is the largest section of the FAT16 file system that contains actual data.
Different versions of FAT16
FAT16 had several versions to fulfill the specific hardware and software requirements:
- FAT16 Original: FAT16 Original was an upgrade from FAT12. It had a partition size of 2GB, a minimum cluster size of 32KB, and a maximum of 65,536 clusters. It was the first version of FAT16 and had limited storage capacity compared to newer implementations.
- FAT16X: FAT16X allowed for larger partition sizes and improved cluster management compared to the original FAT16. It supported sizes greater than 2GB and utilized smaller clusters for better space efficiency.
- FAT16B: FAT16B (also known as BigFAT) extended the maximum partition size to 4GB by using a 32KB cluster size. This allowed for larger storage capacities, up to 8GB. However, 32KB clusters could lead to significant wasted space for small files.
- FAT16+: FAT16+ supported hard drives up to 16GB with a cluster size of 256KB. The structure was similar to FAT16B, and it was efficient to use with GUI-based OS like Windows 95.
- FATX16: The Xbox gaming console used a variation of FAT16, although it was not compatible with the standard FAT16 formats. It was optimized to support gaming functionalities.
Disadvantages of FAT16
- File Size Limitation: The FAT16 file size is limited to 2GB which is a significant drawback for larger multimedia files, videos, and other files.
- Slower Disk Access: The Larger cluster sizes on FAT16 mean more data is read or written at once, even if the file is smaller. This can lead to slower disk access times and less efficient disk utilization.
- Poor Security: FAT16 doesn’t support encryption or compression which are important security features for the data.
- No Journaling: FAT16 does not have journaling features, which can result in a lack of data vulnerability to data loss during unexpected shutdowns or power failures.
FAT16 was used in various devices such as floppy disks, hard disks, memory cards, etc., due to its limitations. However, FAT16 is less commonly used in modern systems, and alternatives like FAT32, exFAT, and NTFS are preferred for their improved features and support for larger storage capacities.