kids encyclopedia robot

File Allocation Table facts for kids

Kids Encyclopedia Facts
Quick facts for kids
FAT
Developer(s) Microsoft, NCR, SCP, IBM, Compaq, Digital Research, Novell, Caldera
Full name File Allocation Table
Variants 8-bit FAT, FAT12, FAT16, FAT16B, FAT32, exFAT, FATX, FAT+
Introduced 1977 (1977) with Standalone Disk BASIC-80
Partition IDs MBR/EBR:
  • FAT12: 0x01 e.a.
  • FAT16: 0x040x060x0E e.a.
  • FAT32: 0x0B0x0C e.a.
  • BDP: EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
Structures
Directory contents Table
File allocation Linked list
Bad blocks Cluster tagging
Limits
Max volume size
  • FAT12: 32 MB (256 MB for 64 KB clusters)
  • FAT16: 2 GB (4 GB for 64 KB clusters)
  • FAT32: 2 TB (16 TB for 4 KB sectors)
Max file size 4,294,967,295 bytes (4 GB − 1) with FAT16B and FAT32
Max no. of files
  • FAT12: 4,068 for 8 KB clusters
  • FAT16: 65,460 for 32 KB clusters
  • FAT32: 268,173,300 for 32 KB clusters
Max filename length 8.3 filename, or 255 UCS-2 characters when using LFN
Features
Dates recorded
  • Modified date/time, creation date/time (DOS 7.0 and higher only),
  • access date (only available with ACCDATE enabled),
  • deletion date/time (only with DELWATCH 2)
Date range 1980-01-01 to 2099-12-31 (2107-12-31)
Date resolution
  • 2 seconds for last modified time,
  • 2 seconds for creation time,
  • 1 day for access date,
  • 2 seconds for deletion time
Forks Not natively
Attributes Read-only, hidden, system, volume, directory, archive
File system
permissions
  • FAT12/FAT16: File, directory and volume access rights for read, write, execute, delete only with DR-DOS, PalmDOS, Novell DOS, OpenDOS, FlexOS, 4680 OS, 4690 OS, Concurrent DOS, Multiuser DOS, System Manager, REAL/32:
    • execute with only FlexOS, 4680 OS, 4690 OS;
    • individual file / directory passwords not with FlexOS, 4680 OS, 4690 OS;
    • world/group/owner permission classes only with multiuser security loaded
  • FAT32: Partial, only with DR-DOS, REAL/32 and 4690 OS
Transparent
compression
  • FAT12/FAT16: Per-volume, SuperStor, Stacker, DoubleSpace, DriveSpace
  • FAT32: No
Transparent
encryption
  • FAT12/FAT16: Per-volume only with DR-DOS
  • FAT32: No

The File Allocation Table (FAT) is a special system that helps computers organize and find files on storage devices. It was the main way computers like those running MS-DOS and Windows 9x stored information.

FAT was first created in 1977 for floppy disks. Over time, as storage devices got bigger, FAT was updated. This led to different versions like FAT12, FAT16, and FAT32. Even though newer systems like NTFS replaced FAT as the main file system for Windows, FAT is still used today. You can find it on small solid-state storage devices like SD cards and USB flash drives. This is because it's easy to use and works with many different devices.

How FAT Is Used

Past Uses of FAT

FAT was very common on hard disks during the time of DOS and Windows 9x. Microsoft introduced NTFS in 1993, but FAT remained popular for home computers until Windows XP came out in 2001. Windows Me was the last Windows version to use FAT as its main file system.

For floppy disks, FAT has even become a standard, meaning different companies agree on how it should work. This helps ensure that floppy disks can be read on many different computers.

Modern Uses of FAT

Today, FAT is still important. For example, it's used inside computers for the EFI system partition. This helps computers start up properly.

FAT is also used on drives that need to work with different operating systems, like Windows and Linux. Windows even has a tool to change a FAT file system to NTFS without losing your files.

You'll often find FAT on removable storage like floppy disks, memory cards, and USB flash drives. Many portable devices, such as digital cameras and mobile phones, also use FAT. Digital cameras, for instance, use a system called DCF, which requires FAT for storing photos.

How FAT Works

The FAT file system uses a special table on the storage device. This table, called the File Allocation Table (FAT), helps the computer find all the pieces of a file. Think of it like a map for your data.

When you format a disk, the FAT table is set up. It's like a list of entries for each cluster. A cluster is a small, connected area on the disk where data is stored. Each entry in the FAT tells the computer where the next part of a file is, or if it's the end of the file. It can also show if a spot is empty or reserved.

The root directory is like the main folder. It holds the starting point for each file. The computer then follows the "cluster chain" in the FAT to find all parts of a file. Sub-folders are just special files that contain entries for their own files.

Each entry in the FAT is a fixed size: 12, 16, or 32 bits. The bigger the number of bits, the more clusters the system can keep track of. This means it can handle larger files and bigger storage drives. However, even if a file only needs a tiny bit more space, it gets a whole cluster. This can sometimes mean that clusters are not fully used, which is a bit like having a big box for a tiny toy.

FAT started as an 8-bit system. As storage devices grew, the number of bits used to identify each cluster also grew. This is why we have versions like FAT12, FAT16, and FAT32.

Different Versions of FAT

There are several versions of the FAT file system. These include FAT12, FAT16, and FAT32. "VFAT" is an extra feature that allows for longer file names. It can work with any FAT system. Even older operating systems can read files on VFAT drives, though they might not see the long names.

Original 8-bit FAT

The very first FAT file system was created by Marc McDonald at Microsoft around 1977 or 1978. It used 8-bit entries to keep track of data. This early version was used for 8-inch floppy disks. It was designed for specific computer systems of that time.

FAT12

FAT12
Developer(s) SCP, Microsoft, IBM, Digital Research, Novell
Full name 12-bit File Allocation Table
Introduced
  • 1980-07 (QDOS 0.10, 16-byte directory entries)
  • 1981-02-25 (86-DOS 0.42, 32-byte directory entries, several reserved sectors)
  • c. 1981–08/10 (PC DOS 1.0, 32-byte directory entries, 1 reserved sector)
  • 1982-03-03 (MS-DOS 1.25, 32-byte directory entries, 1 reserved sector)
Partition IDs MBR/EBR:
  • FAT12: 0x01 e.a.
  • BDP: EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
Limits
Max volume size
  • 16 MB (with 4 KB clusters)
  • 32 MB (with 8 KB clusters)
Max file size Limited by volume size
File size granularity 1 byte
Max no. of files 4,068 for 8 KB clusters
Max filename length 8.3 filename with OEM characters,
255 UCS-2 characters when using LFN
Max directory depth 32 levels or 66 characters (with CDS),
60 levels or more (without CDS)
Features
Dates recorded
  • Modified date (not with 86-DOS before 0.42),
  • modified time (not with PC DOS 1.0 and 86-DOS), creation date/time (DOS 7.0 and higher only),
  • access date (only available with ACCDATE enabled),
  • deletion date/time (only with DELWATCH 2)
Date range 1980-01-01 to 2099-12-31 (2107-12-31)
Date resolution
  • 2 seconds for last modified time,
  • 10 ms for creation time,
  • 1 day for access date,
  • 2 seconds for deletion time
Attributes Read-only (since DOS 2.0), hidden, system, volume (since MS-DOS 1.28 and PC DOS 2.0), directory (since MS-DOS 1.40 and PC DOS 2.0), archive (since DOS 2.0)
File system
permissions
  • File, directory and volume access rights for read, write, execute, delete only with DR-DOS, PalmDOS, Novell DOS, OpenDOS, FlexOS, 4680 OS, 4690 OS, Concurrent DOS, Multiuser DOS, System Manager, REAL/32:
    • execute right only with FlexOS, 4680 OS, 4690 OS; individual file / directory passwords not with FlexOS, 4680 OS, 4690 OS;
    • world/group/owner permission classes only with multiuser security loaded
Transparent
compression
Per-volume, SuperStor, Stacker, DoubleSpace, DriveSpace
Transparent
encryption
Per-volume only with DR-DOS

In 1980, Tim Paterson created FAT12 for his operating system, QDOS. He made the table entries 12 bits long. This allowed for more clusters to be tracked. He also changed how files were named, allowing for names like "FILENAME.TXT" (8.3 filename).

FAT12 was good for floppy disks and small hard drives up to 32 megabytes. It's still used on all common floppy disks today, like the 1.44 MB ones.

Initial FAT16

FAT16
Developer(s) Microsoft, IBM, Digital Research, Novell
Full name 16-bit File Allocation Table
(with 16-bit sector entries)
Introduced 1984-08-14 (PC DOS 3.0)
1984-08 (MS-DOS 3.0)
Partition IDs MBR/EBR:
  • FAT160x04 e.a.
  • BDP: EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
Limits
Max file size 4,294,967,295 bytes (4 GB − 1)
File size granularity 1 byte
Max no. of files 65,536 for 32 KB clusters
Max filename length 8.3 filename with OEM characters, 255 UCS-2 characters when using LFN
Max directory depth 32 levels or 66 characters (with CDS),
60 levels or more (without CDS)
Features
Dates recorded
  • Modified date/time, creation date/time (DOS 7.0 and higher only),
  • access date (only available with ACCDATE enabled),
  • deletion date/time (only with DELWATCH 2)
Date range 1980-01-01 to 2099-12-31 (2107-12-31)
Date resolution
  • 2 seconds for last modified time,
  • 10 ms for creation time,
  • 1 day for access date,
  • 2 seconds for deletion time
Attributes Read-only, hidden, system, volume, directory, archive
File system
permissions
  • File, directory and volume access rights for read, write, execute, delete only with DR-DOS, PalmDOS, Novell DOS, OpenDOS, FlexOS, 4680 OS, 4690 OS, Concurrent DOS, Multiuser DOS, System Manager, REAL/32:
    • execute right only with FlexOS, 4680 OS, 4690 OS;
    • individual file / directory passwords not with FlexOS, 4680 OS, 4690 OS;
    • world/group/owner permission classes only with multiuser security loaded
Transparent
compression
Per-volume, SuperStor, Stacker, DoubleSpace, DriveSpace
Transparent
encryption
Per-volume only with DR-DOS

In 1984, IBM and Microsoft released new versions of DOS that used a 16-bit FAT. This allowed for many more clusters (up to 65,526) on a disk. This version was called FAT16.

FAT16 was more efficient for storing files, especially many small ones. However, it still had a limit on how big a single disk partition could be, usually around 32 MB.

Final FAT16 (FAT16B)

FAT16B
Developer(s) Compaq, Digital Research, IBM, Microsoft, Novell
Full name 16-bit File Allocation Table
(with 32-bit sector entries)
Introduced
  • 1987-11 (Compaq MS-DOS 3.31)
  • 1988-06-28 (DR DOS 3.31)
  • 1988 (IBM DOS 4.0)
  • 1988 (OS/2 1.1)
  • 1988 (MS-DOS 4.0)
Partition IDs MBR/EBR:
  • FAT16B0x060x0E (LBA), e.a.
  • BDP: EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
Limits
Min volume size
  • MB (with 128 byte sectors)
  • 32 MB (with 512 byte sectors)
  • 256 MB (with 4 KB sectors)
Max volume size
  • GB (with 32 KB clusters)
  • 4 GB (with 64 KB clusters) (NT 4, PTS-DOS, EDR-DOS)
  • 8 GB (with 128 KB clusters and 1 or 2 KB sectors) (NT 4 and EDR-DOS only)
  • 8 GB (with 128 KB clusters and 512 byte sectors) (EDR-DOS only)
  • 16 GB (with 256 KB clusters and 2 or 4 KB sectors) (NT 4 only)
Max file size
  • 2,147,483,647 bytes (2 GB − 1) (without LFS)
  • 4,294,967,295 bytes (4 GB − 1) (with LFS)
  • limited by volume size only (with FAT16+)
File size granularity 1 byte
Max no. of files 65,460 for 32 KB clusters
Max filename length 8.3 filename with OEM characters,
255 UCS-2 characters when using LFN
Max directory depth 32 levels or 66 characters (with CDS),
60 levels or more (without CDS)
Features
Dates recorded
  • Modified date/time, creation date/time (DOS 7.0 and higher only),
  • access date (only available with ACCDATE enabled),
  • deletion date/time (only with DELWATCH 2)
Date range 1980-01-01 to 2099-12-31 (2107-12-31)
Date resolution
  • 2 seconds for last modified time,
  • 10 ms for creation time,
  • 1 day for access date,
  • 2 seconds for deletion time
Attributes Read-only, hidden, system, volume, directory, archive
File system
permissions
  • File, directory and volume access rights for read, write, execute, delete only with DR-DOS, PalmDOS, Novell DOS, OpenDOS, FlexOS, 4680 OS, 4690 OS, Concurrent DOS, Multiuser DOS, System Manager, REAL/32:
    • execute right only with FlexOS, 4680 OS, 4690 OS;
    • individual file / directory passwords not with FlexOS, 4680 OS, 4690 OS;
    • world/group/owner permission classes only with multiuser security loaded
Transparent
compression
Per-volume, SuperStor, Stacker, DoubleSpace, DriveSpace
Transparent
encryption
Per-volume only with DR-DOS

In 1987, a company called Compaq introduced an improved version of FAT16, often called FAT16B. This version allowed hard drives to be much larger, up to 2 GB. This was a big step forward for computers at the time.

Later, with Windows 95, a new way of accessing disks called LBA was introduced. This allowed partitions to be located anywhere on a disk, even beyond older limits.

FAT32

FAT32
Developer(s) Microsoft, Caldera
Introduced August 1996 (Windows 95 OSR2)
Partition IDs MBR/EBR:
  • FAT32: 0x0B0x0C (LBA), e.a.
  • BDP: EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
Limits
Min volume size
  • 32 MB – 4.5 KB (with 65525 clusters and 512 byte sectors)
  • 256 MB – 36 KB (with 65525 clusters and 4 KB sectors)
Max volume size
  • TB (with 512 byte sectors)
  • 8 TB (with 2 KB sectors and 32 KB clusters)
  • 16 TB (with 4 KB sectors and 64 KB clusters)
Max file size
  • 2,147,483,647 bytes (2 GiB − 1 byte) (without LFS)
  • 4,294,967,295 bytes (4 GiB − 1 byte) (with LFS)
  • 274,877,906,943 bytes (256 GiB − 1 byte) (only with FAT32+)
File size granularity 1 byte
Max no. of files 268,173,300 for 32 KB clusters
Max filename length 8.3 filename with OEM characters,
255 UCS-2 characters when using LFN
Max directory depth 32 levels or 66 characters (with CDS),
60 levels or more (without CDS)
Features
Dates recorded
  • Modified date/time, creation date/time (DOS 7.0 and higher only),
  • access date (only available with ACCDATE enabled),
  • deletion date/time (only with DELWATCH 2)
Date range 1980-01-01 to 2099-12-31 (2107-12-31)
Date resolution
  • 2 seconds for last modified time,
  • 10 ms for creation time,
  • 1 day for access date,
  • 2 seconds for deletion time
Attributes Read-only, hidden, system, volume, directory, archive
File system
permissions
Partial, only with DR-DOS, REAL/32 and 4690 OS
Transparent
compression
Yes

To handle even larger storage devices, Microsoft created FAT32. This version uses 32-bit numbers for clusters, allowing for a huge number of them. This means FAT32 can support very large storage volumes, up to 2 TB or even 16 TB with larger sectors.

File and Volume Sizes

The biggest file you can store on a FAT32 volume is almost 4 GB. This limit is due to how the file size is recorded. Even though Windows NT's built-in tools might only format FAT32 volumes up to 32 GB, Windows can read and write to much larger FAT32 volumes. You can create these larger volumes using other tools or on different operating systems.

Like earlier FAT versions, FAT32 doesn't naturally support long filenames. However, it can use the VFAT extension to store them.

How FAT32 Developed

FAT32 was introduced with Windows 95 OSR2 in 1996. At first, you had to reformat your disk to use it. Later, Windows 98 added a tool to convert FAT16 disks to FAT32 without losing data.

Newer operating systems like Windows 2000 and DR-DOS also gained support for FAT32. This made it a widely used file system for many years.

Special Features and Changes

Long File Names (VFAT)

When Windows 95 was designed, people wanted to use longer file names, not just the old "8.3" style. So, they added a feature called VFAT (Virtual FAT). This allowed file names to be up to 255 characters long.

VFAT worked by adding extra information to the existing FAT system. This meant that older operating systems could still see the files, but they would only see the short "8.3" names. If you copied a file with a long name using an old system, the long name might be lost.

Windows NT versions starting from 3.5 also supported VFAT long filenames. Linux also has a VFAT driver to work with these files.

exFAT

exFAT is a newer file system that came out in 2006 with Windows Embedded CE 6.0. It's based on the ideas of FAT but is not directly compatible with older FAT versions. It's also owned by Microsoft and protected by patents.

exFAT is designed for flash drives and memory cards, especially larger ones like SDXC cards. Its main advantage is that it can handle files much larger than 4 GB, up to a massive 16 exabytes! This is because it uses more bits to store file size information.

Microsoft has made the technical details of exFAT public, which helps other operating systems like Linux use it.

Patents and Legal Information

Microsoft received several patents for parts of the FAT file system in the 1990s. These patents mostly covered the long-filename features seen in Windows 95. All these patents have since expired.

In 2003, Microsoft announced that companies would need to pay a fee to use its FAT technology. However, some of these patents faced legal challenges. For example, a patent related to long filenames was challenged and eventually expired.

In 2009, Microsoft filed a lawsuit against TomTom, a device maker, claiming they were using Microsoft's patented long-filename technology without permission. They settled this case, and TomTom agreed to stop using that specific feature.

In 2010, Microsoft also sued Motorola over patents, including some related to VFAT, used in the Android operating system.

More to Explore

  • Comparison of file systems
  • Design of the FAT file system
  • List of file systems

See also

Kids robot.svg In Spanish: Tabla de asignación de archivos para niños

kids search engine
File Allocation Table Facts for Kids. Kiddle Encyclopedia.