File Allocation Table (FAT) is a file system architecture used for data storage. Originally designed in 1977 for use on floppy disks, it was extended for use on hard disk drives for use with DOS and then Microsoft Windows. FAT is simple and robust, offering good performance in light-weight implementations. It cannot however deliver the same performance, reliability and scalability of most modern file systems.
FAT is supported by most PC operating systems, mobile devices, digital cameras and embedded systems, and therefore still commonly used for data exchange between computer systems and devices. FAT has long since been superseded as the default file system by NTFS for Windows systems. Today FAT is suited to removable media (excepting CD, DVD and Blu-Ray) and most commonly found on USB sticks, flash cards and other solid-state memory devices. Although seen as a legacy file system, FAT data recovery is still common, mostly from removable media.
FAT File System Features
The original FAT12 file system, used 12 bits to store the logical cluster numbers for the file allocation. In 1984 FAT16, which uses 16 bit logical cluster numbers, was introduced for use on hard disk drives. With the introduction of Windows 95, support for unicode names up to 255 characters was added. The following year in 1996, Windows 95 OSR2 saw the introduction of FAT32, which uses 32 bit logical cluster addressing.
When hard drive space was limited and expensive, compression software was available for FAT12 and FAT16 file systems. Fortunately this is now almost never seen, as each compression utility presents complications for data recovery, depending upon the damage to the hard drive.
FAT File System Internal Structure
As the name FAT suggests, the file allocation is stored in a table, which is a linked list of clusters, detailing the next cluster in the chain, the final one denoting the end of the allocation with a specific value. Two copies of the file allocation table are held, except for some rare instances on some removable media, which provides a certain level of redundancy.
All file metadata is stored in directories, which specify the first cluster of the allocation, and then uses the FAT to access all further clusters. The default naming convention is an uppercase name in an 8.3 format; 8 for the filename, and 3 for the extension. To provide full unicode support the extended version, often referred to as vFAT, splits the name up to allow backward compatibility with legacy software.
FAT Data Recovery
FAT is a simple and well defined file system, from which the results of data recovery, depend completely upon the levels of damage, and which areas of the disk have been affected. Damage to the FAT is recoverable, as long as both copy of the same information have not been lost, in which case the allocation of some files and directories may be lost, although the first cluster is always known. Damage to a directory will result in lost files, but the allocated data chain can be recovered, although this is without its metadata.
Reformatting a FAT volume causes all the allocation data in the FAT’s and the root directory to be cleared. Data recovery is possible by performing an un-format, which searches for directory entries. The quality of this un-format depends upon the fragmentation level of files. Only the first cluster of any file found is guaranteed to be correct.