FAT File System: Everything You Need to Know About File Allocation Table

What is FAT File System?

File Allocation Table (FAT) is a file system created by Microsoft in 1977 for hard drives that initially relied on 12- or 16-bits. It was for every cluster entry into the file allocation table. Operating systems utilize FAT to control documents on hard drives and other PCs. Marc McDonald was the one to design and code it initially. It has been used for computers since then. To learn more about this, check out this video:

FAT File system is compatible with almost all popular operating systems such as Windows, Mac OS X, Unix, etc. Even after years, FAT File System is widely utilized, especially on USB memory sticks, memory cards, and other data storage devices. The versions of the FAT File System are:

  • 8-bit FAT
  • FAT12
  • FAT16
  • FAT16B
  • FAT32
  • FAT64 (aka exFAT)

Each FAT File System version has different features, especially the data storage capacity (which will be discussed further in the article). With time, users keep transitioning from one version to another. This transition happens to overcome the storage capacity limitations of the previous versions. Newer variants allow users to store large amounts of data efficiently.

Naming Rules for FAT File Systems

Every FAT file version is different from the others. For instance, FAT16, FAT12, FAT64, etc., are all distinct and, thus, are named accordingly. This tricky part will get easier to comprehend with the help of an example. Let us go with the FAT16 version. The number ‘16’ in this FAT file version refers to the number of bits. It depicts the bit-usage of each entry in the allocation table. Apart from entry bits, each version also supports different larger volumes and file sizes. Every version supports larger file sizes than its predecessors. In particular, FAT32 will have larger scale storage compared to FAT12, FAT16, etc. Hence, these three specifics differentiate every FAT file version.

How Does FAT File System Work?

File Allocation Table (FAT) stores each file and folder in a cluster. FAT helps in recording the location of these clusters. Along with this, FAT also records information about the storage sequence.

FAT has an entry point for each file allocation unit. This is the first segment of the file. After that, a series of links, known as the allocation chain, will help determine where the other file segments are located. There is also an end-of-file (EOF) marker.

how fat32 file system works

There are two copies of FAT at a fixed location for safety purposes. When a disk is formatted with the FAT file system, it is known as FAT volume. Cluster sizes will be equal on MS-DOS or Windows platforms to ensure compatibility.

Structure of a FAT Volume
fat file system structure

There are typically four sections of the FAT File System listed below, each as a structure in the FAT partition.

Section

Description

Boot Sector

Boot Sector contains machine startup code. It possesses information that the file system relies on for accessing the volume.

File Allocation Table

File Allocation Table typically has a data region map. There may be multiple entries due to redundancy needs.

Root Directory

The root directory has information about the files and directories located in the first cluster of that root directory. But it is only available in the FAT12 or FAT16 file system.

File Data Region

File Data Region is where the file data is stored.

Uses of FAT File System

Initially, the FAT file system was only suitable for PC operating systems like MS-DOS and initial versions of Microsoft Windows. But it evolved with time. Today, people have been using it majorly for file storage on USB memory sticks or memory cards, etc. The system works exceptionally well in embedded applications because of its easy-to-use feature. All of these make FAT File System obligatory for removable media such as floppy disks, super-floppies, memory and flash memory cards, or USB flash drives. It turned out to be reliable for portable devices too. You also benefit from it in PDAs, digital cameras, camcorders, media players, mobile phones, game consoles, and much more. FAT is also used in the boot stage of EFI-compliant computers. This is for the EFI system partition.

Versions of FAT File System

versions of fat file system
8-bit FAT

Marc McDonald considered 8-bit FAT his brainchild. Marc and Bill Gates discussed FAT several times before this. 8-bit FAT was original and the first of its kind. The 8-bit File Allocation Table consisted of 8-bit table elements. It has been getting used in Microsoft MDOS/MIDAS since 1979. The MDOS/MIDAS operating system was for 8080/Z80 platforms. This OS would also sustain other variants, such as 10-bit FAT, 12-bit FAT, 16-bit FAT, etc. 8-bit FAT is the simplest form with limited capabilities. Due to the introduction of newer and better versions, 8-bit FAT is not in use today. Even though the version was ahead of its time, it couldn’t meet current expectations.

FAT12

FAT12 is one of the oldest FAT file systems, which only allows entries sized 12 bits in a disk. In other words, you cannot use it when there are large volumes. However, you can use it for small volumes, probably smaller than 16 MB in size. The cluster size will be around 0.5 to 4 KB. You might observe a decrease in speed with the increased number of files while using FAT12. Tim Paterson developed FAT12 around April and August 1980. Even today, if you pick up a floppy disk, you will find the FAT12 version for data storage. FAT12 is a 12-bit File Allocation Table. The maximum number of files in FAT12 is 4,068 for 8 KB clusters, the partition is MBR/EBR, and the file size granularity in FAT12 is 1 byte. The maximum filename length will be 8.3 filenames with OEM characters.

fat12 used for floppy disk
FAT16

When using the FAT16 file system, the drive gets divided into 512-byte pieces. These byte pieces are known as sectors. These sectors, when grouped in larger pieces, are known as clusters. The maximum number of clusters that FAT16 can easily track is 65,535, which is not as efficient in storing data because a huge space remains unused. However, unused space is occupied by the file allocation table. You may use FAT16 for exceptional performance in small hard disk drives, such as those that are less than 1.2 GB in space. It is compatible with several different types of operating systems. You will find storage and speed better than FAT12. Compared to the previous variants, interfacing is not much complex. FAT16 is a universal file system. If you run into any issues, it is easy to resolve them. You can find readily available tools to resolve such issues.

FAT16B

IBM, Microsoft, Novell, Compaq, and Digital Research helped develop FAT16B. 16-bit File Allocation Table, also known as the FAT16B, comes with 32-bit sector entries. FAT16B has been in use since 1987. The minimum volume sizes available in FAT16B are 8 MB (with 128-byte sectors), 32 MB (with 512-byte sectors), and 256 MB (with 4 KB sectors). The maximum volume size is 2 GB which has 32 KB clusters, and 4 GB which has 64 KB clusters. Maximum file size available is 2,147,483,647 bytes. Previous versions could not cope with greater than 65,535 sectors. So, they introduced a new partition type, which resolved pre-3.31 issues that people were facing.

fat16 vs fat32 in structure
FAT32

While FAT16 was quite useful, it was still lacking in some areas. FAT32 came into use in the year 1996. During the early 2000s, the FAT32 file system became the most widely used. Disk Operating System and Windows relied on this at that time. Several people still use FAT32 to format internal and external storage hardware. This is possible due to FAT32’s simple design, which makes it better for use. For removable and portable storage devices, FAT32 is an excellent option. The cluster size is smaller for FAT32 than it was for FAT16. So, disk space allocation becomes more seamless than FAT16. It will also not restrict the number of entries in the root folder. The maximum file size will be 2,147,483,647 bytes. For 32 KB clusters, the maximum number of files is 268,173,300.

FAT64

FAT64, also known as exFAT, stands for Extensible File Allocation Table. Microsoft introduced it in November 2006. They introduced it with Windows Embedded CE 6.0. It is popular and has been a savior for removable storage devices. FAT32 turned out as an improved version. However, FAT32 still has some limitations. For instance, there was a limited file size and volume size. So, for storing and transferring files that have a larger size than 4GB, FAT32 is not helpful. Therefore, the FAT64 file system version included all such improvements to offer a more user-friendly experience than FAT32. FAT64 has a maximum file size of 16 exabytes. This file size is much better than FAT32. If you need to store huge files, record videos in high-quality, or format high-capacity flash memory devices, FAT64 is indeed the way to go. You can also use it for flash drives and memory cards such as SDXC and Memory Stick XC.

fat64 used for sdxc
Comparison between FAT16, FAT32, and FAT64

Comparing FAT16 vs. FAT32 vs. FAT64 can give us a clearer idea of which is better. FAT64 is even newer, so it may be even better. To understand their differences, look at the comparison table below.

FAT16

FAT32

FAT64 (exFAT)

Compatible OS

· MS-DOS
· All versions of Windows

· MS-DOS 7.0 and higher
· All versions of Windows
· Mac
· Linux
· Game consoles
· Practically anything with a USB port

· All versions of Windows
· Mac OS X 10.6.5 and later
· Requires additional software on Linux
· Some Android OS devices
· Some iOS devices

Cluster limit

65,536 clusters

268,435,445 clusters

268,304,373 clusters

Supported SD card type

SD

SDHC, microSDHC

SDXC, microSDXC

More tips: Differences between NTFS, FAT32, and exFAT

Benefits and Limitations of FAT File System

Since FAT8, FAT12 and FAT16 are now obsolete, only the advantages and disadvantages of FAT32 and FAT64 are discussed here.

Benefits of FAT File System

FAT32: There was a volume limitation with FAT16. But that is not an issue with FAT32. It supports a maximum file size of 4 GB. FAT32 also supports disk partitions of 2TB, which can efficiently allocate disk space too. FAT32 can create additional free space on large volumes and is compatible with almost all well-known operating systems. Along with this, it is also compatible with Android, media players, video game consoles, etc.

fat32 used for game console

FAT64 (exFAT): FAT64 supports a maximum file size of 4GB. And it supports the volume size of 32 GB on Windows. On other operating systems, this supports 2TB. You can easily store files of large size on FAT64. Moreover, FAT64 is also suitable for high-capacity SDXC cards. One can efficiently operate this between several operating systems and platforms.

Limitations of FAT File System

FAT32: FAT32 lacks a journaling file system. Because of this, it can easily face corruption and data losses in case of interruption. FAT32 can also protect and encrypt files easily; however, it is not the right option when the file size is large.

Related tips: How to recover data from FAT file system

FAT64 (exFAT): The biggest drawback of FAT64 is its absence of journaling. There can be errors due to power outages or other such issues. FAT64 cannot protect and encrypt files, too, just like FAT32.

Which FAT Version Should You Choose for Your Devices?

The most important points to consider while choosing the FAT file version are:

  • File Size
  • Your Usage

And now that we have compared the benefits and limitations of each version, when it comes to the file size, FAT64 (exFAT) seems like a clear winner in today’s time, with a maximum file size that suits the needs and requirements of users. Even when you look at compatibility, there is no better option than FAT64. So, you can rely on FAT64 and can benefit from the exceptional features.

However, if you don’t work with larger file sizes or devices, FAT32 will be the best bet. With smaller storage devices, FAT32 offers the most pleasing results.

Related tips:

How to convert exFAT to NTFS

How to convert FAT32 to exFAT

So, determine your file size and usage needs to start using the correct FAT file system version for yourself.

Bottom Line

The FAT file system has been around for years and has developed and improved with every version. Today, it has evolved a lot and is suitable for various devices such as portable storage devices like memory cards, pen drives, portable hard drives, etc.

You May Also Like