Fact-checked by Grok 2 weeks ago

File Allocation Table

The File Allocation Table (FAT) is a developed by in the late 1970s and early 1980s to manage files and directories on disk-based storage devices, serving as the primary file system for and early versions of Windows. At its core, FAT organizes data into fixed-size units called clusters and uses a dedicated table—residing near the beginning of the volume—to track the allocation and chaining of these clusters for each file or subdirectory, enabling efficient location and access by the operating system. The structure typically includes a for volume parameters, one or two copies of the for and , a entry for initial file listings, and the main data region where clusters store actual file content. exists in several variants—FAT12, FAT16, and FAT32—differentiated primarily by the bit width of entries (12, 16, or 32 bits), which determines the maximum addressable clusters and thus volume capacity: up to 16 MB for FAT12 (suited for floppies), 2 GB for FAT16, and 2 TB for FAT32 with 512-byte sectors. These versions evolved to address growing storage needs, with FAT32 introducing improvements like larger partition support and reduced cluster sizes for better space efficiency on larger drives. While simple and compatible across operating systems (including non-Microsoft ones), FAT lacks advanced features such as file-level security, compression, encryption, or journaling for crash recovery, making it prone to fragmentation and data loss risks compared to successors like . Despite these limitations, FAT's legacy endures in removable media like USB drives, SD cards, and embedded devices due to its universal readability and low overhead.

Introduction

Definition and Purpose

The File Allocation Table (FAT) is a that organizes and manages files on block-based storage devices, such as hard drives and floppy disks, by using a dedicated table to track the allocation of fixed-size units called clusters to files and directories. This table serves as an index, mapping logical file structures to physical sectors on the disk. The primary purpose of FAT is to enable efficient storage allocation and support fundamental file operations, including creating, reading, writing, and deleting files and directories, while maintaining a simple mapping between user-visible file hierarchies and underlying disk space. Originating in the late 1970s and early 1980s, FAT became the default file system for floppy disks and early hard drives, particularly under . Key advantages of FAT include its simplicity, which results in low overhead suitable for small volumes under 200 MB, and high portability across diverse operating systems and devices, such as , Windows, macOS, , and embedded systems. Unlike journaling file systems, FAT lacks built-in crash recovery mechanisms, and it does not incorporate extent-based allocation for handling fragmentation, making it a legacy option focused on basic functionality rather than advanced reliability features.

Basic Components

The File Allocation Table (FAT) file system organizes data on a storage volume through a set of interconnected core components that define its layout and enable file access. The primary structure begins with the , which occupies the first sector (typically 512 bytes) of the volume and includes the (BPB). This block contains critical metadata such as the number of bytes per sector, sectors per (determining size), the count of sectors at the volume's start, the number of FAT copies (usually two for redundancy), the number of entries, the total number of sectors on the volume, the media descriptor byte (indicating the volume type), sectors per FAT, sectors per track, number of heads, hidden sectors before the volume, and a unique volume ID for identification. These parameters allow the operating system to locate and interpret subsequent components, including the position and of the FATs and the starting point of the data area. Following the reserved sectors (which include the ), the volume features two identical copies of the for ; if the primary becomes corrupted, the secondary can be used to reconstruct it. Each is an array of entries corresponding to clusters in the area, with the size of each entry varying by type (though specifics are deferred to variant descriptions). The s reside immediately after the reserved area, and their location and length are specified in the 's BPB. After the s, the area begins, comprising clusters that store actual file content and subdirectories; for 12 and 16, the precedes this area as a fixed-size region, while in 32 it is treated as a dynamic cluster chain within the area. The 's parameters ensure seamless navigation: it points to the 's starting sector and size, while entries reference cluster numbers in the area to form file chains, marked at the end by special end-of-file (EOF) values such as 0xFFF for 12, 0xFFFF for 16, or 0x0FFFFFF8 for 32. Files and directories are represented by 32-byte entries within the (or subdirectories). Each entry includes the in 8.3 (eight characters for the base name padded with spaces, followed by three for the extension, also padded), a one-byte attribute field specifying properties like read-only, hidden, system, volume label, subdirectory, or , reserved fields, timestamps for creation (including tenths of a second in some implementations), last , and modification time/date. Additional fields cover the starting number (split into high and low words for larger addressing) and the in bytes. These entries link back to the by referencing the initial , from which the traces the full chain of clusters holding the file's data in the data area, providing a complete map from to physical storage.

History

Origins and Development

The (FAT) originated in 1977 when Marc McDonald, working at , designed it as part of the Stand-alone Disk for managing files on 8-inch floppy disks. The original used 8-bit FAT entries for the limited capacity of 8-inch floppy disks. , as a co-founder of , contributed to the early development efforts, aiming to provide a simple, efficient method for allocating disk space in resource-constrained environments. This initial featured a compact allocation table kept in memory to enable quick access on small-capacity media, typically a few hundred kilobytes. In 1980, incorporated a slightly modified version of into QDOS (later known as ), developed for Computer Products' 8086-based systems, to offer better disk management than contemporary systems like . licensed and refined it into 1.0, released in 1981 alongside the PC, where —specifically the 12-bit variant (FAT12)—supported the 5.25-inch floppy disks standard on the platform, with volumes limited to around 360 per disk. This adaptation ensured compatibility with the PC's hardware while maintaining the core simplicity of the original design. Early lacked support for subdirectories, restricting organization to a flat, single-level structure per volume. A pivotal milestone came with 2.0 in 1983, which extended FAT to hard disk drives, standardizing its use for larger storage while introducing subdirectories to address the organizational limitations of prior versions. At this stage, FAT12 constrained hard drive volumes to a maximum of 16 MB due to its 12-bit entry size, reflecting the era's hardware constraints and design priorities for reliability over capacity. Microsoft's control over the format's evolution established it as a without involvement from a formal standards body during these formative years, enabling widespread adoption in personal computing.

Evolution through Versions

The File Allocation Table (FAT) file system evolved iteratively from the early to address the growing capacities of storage devices while maintaining compatibility with existing software and hardware. 2.0 in first extended to support hard disk drives, with a maximum volume size of 16 MB, marking the transition from floppy-based systems to more substantial storage solutions. This version used 12-bit entries to manage clusters efficiently on early hard drives, driven by the need to handle larger volumes without overhauling the underlying architecture. In 1984, FAT16 debuted with 3.0, expanding to 16-bit entries and initially supporting partitions up to 32 MB. This upgrade was motivated by the proliferation of larger hard drives in personal computers, such as those in the PC AT, requiring better scalability while preserving with FAT12 volumes. By 1987, an extended variant of FAT16 emerged, allowing larger cluster sizes up to 64 KB to accommodate drives approaching the 2 GB threshold, further mitigating internal fragmentation issues on bigger disks. A key refinement in 1988 was the logical sectored FAT, which enabled support for non-standard sector sizes beyond the traditional 512 bytes, facilitating compatibility with diverse hardware configurations in enterprise environments. The finalized FAT16 implementation standardized 512-byte sectors, solidifying its role as the dominant format for and early Windows systems through the . The advent of FAT32 in 1996 with OSR2 represented a major leap, employing 28-bit entries to support partitions up to 2 TB and addressing the limitations of FAT16 on drives exceeding 4 GB. This evolution was spurred by the rapid increase in hard drive capacities during the mid-1990s, alongside requirements for reduced fragmentation through more flexible cluster allocation, all while ensuring seamless interoperability with prior FAT versions. Early systems, starting from version 3.5, incorporated VFAT extensions to FAT for support, enhancing usability without disrupting core FAT mechanics. Deprecation of FAT for primary system drives accelerated with in 2001, which defaulted to for its superior security, reliability, and performance on large volumes. Despite this shift, FAT persisted in removable media like USB drives and SD cards due to its universal compatibility across operating systems and devices. In the 2020s, FAT continues to see adoption in embedded systems and devices, where its simplicity and low overhead suit resource-constrained environments, such as microcontrollers interfacing with SD cards for data logging.

Technical Details

Directory Structure

In the File Allocation Table (FAT) file system, directories serve as containers for file and subdirectory , organized as a linear sequence of fixed-size entries stored within clusters. The holds top-level entries, while subdirectories function as special files containing their own entries, including the conventional '.' (current directory) and '..' (parent directory) entries to enable hierarchical navigation. This structure treats directories as data streams in the , allowing subdirectories to be allocated clusters just like s. The in FAT12 and FAT16 volumes has a fixed maximum size of 512 entries, occupying 32 sectors (assuming a standard 512-byte sector size), which limits the number of top-level files and folders. In contrast, FAT32 treats the as a regular chain, making it expandable and relocatable, with its starting specified in the boot sector's BPB_RootClus field; this allows for a much larger limited only by available space. Subdirectories, regardless of FAT variant, are implemented as files with the directory attribute set, consisting of a sequence of 32-byte entries that list contained items until terminated by end-of-directory markers (typically unused entries filled with zeros). Each directory entry is precisely 32 bytes long, providing a compact representation of file or metadata. The format includes fields for the short filename (8 bytes for the base name followed by 3 bytes for the extension, stored in uppercase ASCII and padded with spaces), a 1-byte attributes bitmask (bits for read-only, hidden, system, volume label, , and archive flags), time and date stamps for , last , and modification (each 2 bytes in packed format), the starting number (2 bytes for low word in FAT12/16, extended to 4 bytes with high word in FAT32), and a 4-byte (limited to 4 GB maximum, zero for directories). Reserved bytes occupy positions such as byte 11 (for case information in some implementations) and bytes 13-21 (for extended attributes if present). The volume label, if used, occupies a dedicated entry in the with the volume ID attribute bit set and no or size allocated. Parsing directory entries follows strict rules to ensure across systems. Filenames and extensions are left-justified and padded to full length with 0x20 () characters, with invalid characters (such as * ? ) disallowed; the system ignores trailing spaces when comparing names. Deleted entries are marked by replacing the first filename byte with 0xE5, preserving the rest of the for potential but excluding them from active listings. Empty slots use 0x00 as the first byte, while the end of a valid is indicated by a sequence of such entries. Volume labels must be placed within the root and are identified solely by their attribute flag, without a fixed position. The imposes notable limitations, including the absence of support for hard links or symbolic links, which prevents multiple references to the same data and enforces a tree-like without cycles. The 8.3 short convention creates a flat within each , restricting names to 8 uppercase characters plus a 3-character extension, often leading to or mangling for longer names and potential collisions in large directories. These constraints prioritize simplicity and cross-platform compatibility over advanced features found in modern file systems.
OffsetSize (bytes)Field NameDescription
08DIR_NameShort (padded with spaces)
83DIR_ExtShort extension (padded with spaces)
111DIR_Attr bitmask
121DIR_NTResReserved for (case info)
131DIR_CrtTimeTenthCreation time tenths of second
142DIR_CrtTimeCreation time
162DIR_CrtDateCreation date
182DIR_LstAccDateLast access date
202DIR_FstClusHIHigh word of first (FAT32 only)
222DIR_WrtTimeLast write time
242DIR_WrtDateLast write date
262DIR_FstClusLOLow word of first
284DIR_FileSize in bytes

FAT Table Mechanics

The File Allocation Table (FAT) consists of an of entries, with one entry corresponding to each in the data region of the volume, and is positioned immediately following the . To enhance against corruption or media failures, the maintains two identical copies of the FAT: the primary copy (FAT1) and a copy (FAT2), which can be used for recovery if the primary becomes damaged. Each FAT entry encodes the allocation status and linkage for its associated cluster. A value of 0x000 indicates that the cluster is free and available for new allocations. The end-of-chain marker, represented as 0xFFFF in FAT16 or 0x0FFFFFFF in FAT32, denotes the final cluster in a file or directory's allocation chain, preventing further traversal. Reserved values, such as the range 0xFFF7 through 0xFFFF in FAT16 (with 0xFFF7 for bad clusters and 0xFFF8–0xFFFF for end-of-chain), are set aside for special purposes, including marking bad or defective clusters that should be avoided during normal operations. Files and directories are organized as linked lists of s within the FAT, where the entry for a given cluster N holds the identifier of the subsequent cluster M in the sequence, forming a that spans the file's data across potentially non-adjacent locations. This chaining mechanism allows efficient traversal starting from the initial cluster number stored in the file's entry. For performance optimization, the system prefers contiguous allocation, where successive clusters in a occupy sequential positions on the disk, minimizing mechanical seek times during read and write operations. During allocation or deallocation—such as when creating, extending, truncating, or deleting a file—the operating system must update the relevant entries in both FAT copies to reflect the changes and preserve redundancy. These updates occur synchronously to the primary and tables, but the absence of transactions or journaling means that an interruption, such as sudden power loss mid-write, can result in partial updates, leading to inconsistencies like orphaned chains or mismatched copies that require manual repair using tools like Scandisk. Over time, repeated allocations and deallocations cause fragmentation, where file chains become scattered across the disk, transforming efficient linear into a series of disjoint jumps that increase due to head movement on mechanical drives. utilities mitigate this by parsing the to map out all chains, then relocating clusters to consolidate them into contiguous blocks while preserving the original linkage structure, thereby restoring patterns and improving overall system responsiveness.

Cluster Allocation

In the File Allocation Table (FAT) file system, disk space is organized into clusters, which serve as the fundamental unit of allocation for files and directories. A cluster comprises one or more consecutive sectors, with the number of sectors per cluster defined in the boot sector to optimize storage efficiency and access performance on varying media sizes. This design allows the system to manage larger storage devices more effectively by reducing the granularity of allocation compared to individual sectors, though it introduces potential waste in partially filled units. The size is determined during formatting and recorded in the boot sector's "sectors per " field as a value (e.g., 1, 2, 4, 8, 16, 32, or 64 sectors), tailored to the volume's total capacity for balancing overhead and throughput. For small media like 1.44 MB floppy disks, a single 512-byte sector per suffices, minimizing waste on limited space, whereas volumes exceeding 1 on hard disk drives typically employ larger s such as 32 (64 sectors of 512 bytes) to limit the FAT table's size and improve sequential read speeds. These sizing rules ensure compatibility across FAT variants while adapting to hardware constraints. Cluster allocation follows a simple linked-list mechanism managed through the FAT, where free space is identified by entries valued at 0x0000 (or equivalent in the variant's bit width). The algorithm uses a first-fit strategy: for a new file, the system scans the FAT sequentially starting from cluster 2 (after reserved clusters) to locate the first free entry, assigns it as the file's starting cluster in the directory entry, and marks it as allocated by updating the FAT to point to the next cluster or an end-of-chain (EOC) code (e.g., 0xFFF8–0xFFFF for FAT16). To extend a file, it traverses the existing chain to the EOC marker and appends the next available free cluster by linking the previous EOC to the new one, enabling non-contiguous storage without requiring physical rearrangement. This approach, while straightforward, begins allocation after the root directory area in early FAT versions to avoid overlap. Allocation incurs overhead from internal fragmentation, as files are rounded up to the nearest full cluster, leaving unused space in the final cluster—for instance, a 10 KB file on 4 KB clusters consumes 12 KB, wasting 2 KB. External fragmentation arises from scattered cluster chains over time due to repeated allocations and deletions, potentially degrading performance through increased seek times on mechanical drives, though modern solid-state storage mitigates this. The maximum file size is constrained by the addressable cluster count in the FAT (e.g., up to 65,535 clusters in 16-bit variants), limiting practical sizes based on cluster granularity. For integrity and recovery, utilities like examine the FAT and to detect inconsistencies, such as lost clusters—allocated entries (non-zero values) unlinked from any or due to crashes or errors. These are flagged for recovery, often consolidated into checkpoint files (e.g., FILE0000.CHK) containing for manual extraction, preventing permanent loss while scanning for cross-links or invalid chains.

Variants

Early Variants (FAT8, FAT12, FAT16)

The original 8-bit variant of the File Allocation Table (FAT), developed by in 1978 for use with Standalone Disk , featured 8-bit entries that limited volumes to a maximum of 256 clusters and was primarily designed for single-sided floppy disks. This early implementation supported basic file chaining but was constrained by its small , making it suitable only for very low-capacity media typically under 128 KB per disk. FAT12, introduced in 1981 with MS-DOS 1.0 for floppies and early hard drives, expanded entries to 12 bits, packed two per 16-bit word for space efficiency, enabling up to 4085 clusters and volumes up to 16 MB with standard 512-byte sectors. The bit-packing scheme in FAT12 required special handling for alignment, as entries could span byte boundaries, complicating reads and writes compared to aligned formats; for instance, even-numbered entries occupied the low 12 bits of a word, while odd-numbered ones used the high 4 bits of one word and low 8 bits of the next. This variant became standard for 1.44 MB high-density floppies, balancing efficiency on small media while maintaining simplicity. FAT16 emerged in 1984 with 3.0 to accommodate the 20 MB hard drives in the PC AT, using 16-bit entries for up to 65,536 clusters and supporting volumes up to 2 GB initially, with cluster sizes ranging from 512 bytes to 64 to optimize for varying media capacities. The initial FAT16 (often termed FAT16A) relied on 16-bit fields for sector counts in the boot parameter block (BPB), limiting practical volumes to around 32 MB without larger clusters, and suffered minor alignment issues in some implementations due to legacy compatibility with FAT12 code paths. In 1987, an extended version (FAT16B) was introduced in 3.31, updating the BPB to use 32-bit sector counts for volumes up to 4 GB while retaining 16-bit FAT entries, though this required larger cluster sizes (e.g., 32 or more for multi-GB drives), which reduced storage efficiency for small files by increasing internal fragmentation. All early variants maintained backward compatibility, with later systems able to read and write FAT8, FAT12, and initial FAT16 volumes, though extended FAT16B drives were not fully accessible by pre-1987 DOS versions due to BPB differences. The progression from FAT8 to FAT16 addressed growing storage needs but highlighted trade-offs in cluster granularity and table overhead, paving the way for further evolutions in file system design.

FAT32

FAT32 was introduced by in 1996 as an enhancement to the File Allocation Table () file system, debuting with OSR2 to accommodate the increasing capacities of hard drives exceeding the 2 GB limit of prior 16-bit variants. It employs 32-bit entries in the FAT, with 28 bits usable for cluster addressing (the upper 4 bits ), supporting a maximum of 268,435,445 clusters. This structure provides a practical volume limit of 2 TB with 512-byte sectors. The theoretical maximum volume size is 16 TB, achievable with 4 KB sectors and 64 KB s. Significant structural modifications in FAT32 include relocating the root directory from a fixed reserved area to a dynamic chain within the data region, allowing it to grow like subdirectories and eliminating size constraints. The boot sector incorporates an active FAT flag (bit 7 of byte 40) to designate the valid FAT copy after mirroring operations, with FAT mirroring made optional to reduce overhead on large volumes by copying only critical initial entries. Furthermore, an FSINFO sector, typically at logical sector 1, stores such as the number of and the next available number, enabling faster volume status queries without full scans. Cluster sizes in FAT32 generally range from 4 to 64 , depending on volume size, which supports theoretical capacities over 16 TB but is constrained by operating system implementations—for instance, versions of Windows prior to 24H2 restricted FAT32 partition creation to 32 GB; as of 2024, supports creation up to 2 TB. The layout is extended for resilience, including a copy at logical sector 6 to facilitate recovery if the primary becomes corrupted. Despite these advances, FAT32 exhibits drawbacks such as increased fragmentation risk from larger clusters and frequent file operations, which can degrade access performance over time without built-in support. It also lacks inherent security mechanisms, including file-level permissions, lists, or , making it unsuitable for environments requiring data protection. In the , FAT32 gained prominence in digital cameras and portable devices due to its universal compatibility across operating systems and .

Sector Size Variations

The File Allocation Table (FAT) file system primarily relies on a logical sector size of 512 bytes as its foundational unit for most implementations, enabling efficient data organization on hard disks and standard floppy media. However, variations emerged to support diverse hardware, including early floppy disks formatted with 256-byte sectors on systems like certain models and 1024-byte sectors on optical media such as CD-ROMs, allowing FAT to adapt to physical constraints without overhauling core structures. Logical sectored FAT, introduced in 1988 with 4.0, addresses limitations in addressing larger volumes by treating multiple physical sectors—typically 512 bytes each—as a single larger logical sector. For instance, a 1 KB physical sector setup can be mapped to two 512-byte logical sectors, with the boot sector's bytes-per-sector field (offsets 0x0B-0x0C) specifying the logical size as a power of 2 (512, 1024, 2048, or 4096 bytes) while the handles physical 512-byte accesses via . This approach extended partition limits beyond 32 MB by effectively increasing addressable units without requiring new hardware interfaces, and it was adopted in subsequent versions of , 1.2, and 3.1. Extended sectored FAT builds on this for media with even larger physical sectors, such as featuring 2048-byte or 2352-byte physical blocks, by incorporating boot sector fields for both physical and logical bytes per sector in an . This refinement, used in CD-ROM XA and early bootable optical formats, maps logical sectors (often 512 or 1024 bytes) onto the physical layout, ensuring compatibility on read-only media while accommodating error correction overhead. These adaptations influence cluster alignment, as sectors form the building blocks of clusters, and alter FAT entry calculations by scaling the effective unit of allocation—for example, 1024-byte sectors can double the minimum size relative to 512-byte norms without expanding FAT entry widths, potentially improving throughput on larger media but increasing internal fragmentation for small files. Today, such variations are uncommon in mainstream due to on 512-byte (or advanced ) sectors, yet they remain relevant in embedded systems and legacy environments; the Atari ST, released in 1985, notably employed FAT variants with 512-byte and 1024-byte sectors on floppies and hard disks, demonstrating early sector size flexibility predating widespread support.

Extensions

Long File Names (VFAT)

The Virtual File Allocation Table (VFAT) extension, introduced by with in 1995, provides support for long file names (LFN) on FAT file systems, addressing the limitations of the traditional format by allowing names up to 255 characters in length using UTF-16 encoding. VFAT functions as a software layer atop the existing FAT structure, enabling while enhancing usability for modern applications. Long file names are stored across multiple special directory entries that precede the conventional 8.3 short name entry for the . Each LFN entry is identified by an attribute byte value of 0x0F (combining read-only, , , and volume label flags), which legacy systems typically ignore as invalid. These entries hold 13 characters per entry: the first 10 bytes store 5 UTF-16LE characters, bytes 14–25 store 6 more, and bytes 28–31 store 2 additional characters, with the remaining fields dedicated to a sequence number (indicating position and total count, with bit 6 set in the final entry) and other metadata. For integrity, each LFN entry includes an 8-bit computed from the associated short filename's 11 uppercase characters (padded with spaces if needed) using the : initialize sum to 0, then for each character, add it to sum and take modulo 256 to discard carry, ensuring the LFN links correctly to its short name counterpart. A representative example is the filename "LongFileName.txt", which maps to a generated short name like "LONGFI~1.TXT" to maintain , where the and number resolve potential conflicts with other short names. This short name follows standard 8.3 rules, truncating and uppercasing as necessary while preserving the original long name's case for display and sorting purposes in VFAT-aware systems. VFAT ensures seamless compatibility with pre-Windows 95 operating systems, such as , by treating LFN entries as non-standard and inaccessible, allowing files to be read via the short name alone without . However, this approach consumes significant space, as a maximum-length requires up to 20 LFN entries plus one short name entry, potentially reducing effective capacity. Pure FAT lacks native support, but VFAT introduces it exclusively through these LFN entries, limiting full handling to VFAT-enabled environments. Adoption of VFAT extended to later Microsoft operating systems, becoming standard in (1996) and (2000), where it provided LFN support on volumes alongside . Linux kernels integrated VFAT driver support early on, with initial implementation appearing in version 1.3 around , enabling cross-platform access to long filenames on media.

Alternate Data Streams and Forks

Alternate Data Streams (ADS) originated as a feature of the NTFS file system, enabling files to have multiple named data streams attached to a single filename for storing additional metadata or content without altering the primary data stream. Although the Win32 API provides a unified interface for accessing ADS across Windows file systems, FAT does not natively support this functionality, and operations to create or open streams on FAT volumes typically fail with an error indicating lack of support. In NTFS implementations, streams are accessed using colon syntax (e.g., file.txt:secret), where the additional data occupies separate clusters linked via the file's master file table entry, but the stream's size is not recorded in the primary directory entry to maintain compatibility with legacy systems. File forks, a concept from Apple's (HFS) that separates a file's data fork (primary content) from its (metadata like icons or thumbnails), find no native support in FAT, as the file system design limits files to single data streams. Cross-platform tools and operating systems like macOS emulate forks on FAT volumes by creating companion "sidecar" files prefixed with ._ (e.g., ._file.txt), which store data in the AppleDouble format for portability to non-HFS media such as SD cards. This emulation preserves during transfers but requires specific tools to reassemble or interpret the forks correctly. Common uses of such mechanisms include embedding metadata like image thumbnails in digital camera files stored on FAT-formatted media, where separate files or attributes hold the auxiliary data, and attaching security descriptors or zone information in Windows environments. However, these approaches carry risks, such as concealing malware in hidden streams or sidecar files, which can evade basic antivirus scans on non-native systems. Limitations of ADS and forks on FAT are significant: data in streams or emulated forks is not portable across operating systems, often resulting in loss when copying to unsupported volumes like FAT from NTFS. Standard directory listings do not reveal streams or sidecar files without specialized tools, complicating discovery and management. In recent years, file managers like have added visibility for hidden ._ files on FAT SD cards, aiding cross-platform access to emulated metadata without full fork reconstruction.

Unix-like Permissions (UMSDOS)

UMSDOS (User ) is a filesystem driver developed in 1993 for version 0.99, designed to overlay features onto existing FAT partitions for improved compatibility without requiring repartitioning. It enables the storage of permissions, user IDs (UIDs), group IDs (GIDs), and access control lists (ACLs) by using a hidden file named --linux-.--- in each directory to hold the . The core mechanics of UMSDOS rely on the presence of these hidden metadata files in directories to interpret the overlaid attributes. Default permissions are set via mount options such as umask=. Standard FAT attributes, such as read-only or hidden flags from the directory structure, are preserved but augmented with these Unix-specific details to enforce access controls. UMSDOS handles special file types such as symbolic links and named pipes by storing type indicators and targets in the metadata file --linux-.---, using regular FAT files for the content. Early UMSDOS was limited to 8.3 filenames; later variants like UVFAT combined with the vfat driver for long filename support. However, UMSDOS's design introduces inefficiencies, as every file access requires parsing the metadata file, leading to performance overhead compared to native filesystems. Non-Linux operating systems, such as or Windows, ignore or misinterpret the metadata files, potentially corrupting Unix attributes upon write operations. Due to these issues and the maturation of native Linux filesystems, UMSDOS was deprecated around 2001 in favor of combining VFAT with or other dedicated partitions; it was fully removed from the in version 2.6.11 in 2005 for lack of maintenance. In its historical context, UMSDOS was instrumental in early , permitting installations directly onto partitions and enabling seamless dual-booting or demonstrations on limited hardware before robust native drivers and partitioning tools became widely available.

Other Extensions (FAT+, Extended Attributes)

The Transaction-Safe FAT file system (TFAT) is an extension to the File Allocation Table () file system, developed by and detailed in a . It enables support for larger volumes, up to approximately 512 GB, and incorporates transaction logging capabilities through modifications to the and extended FAT entries that track changes for purposes. These enhancements allow for more robust operation on larger while maintaining with standard FAT tools where possible, though full support requires specific drivers. Extended attributes on FAT volumes were inspired by the High Performance File System (HPFS) in , where they enable storage of additional such as lists (ACLs), timestamps, and application-specific data beyond basic file properties. On , implementation involves a dedicated hidden file named "EA DATA. SF" in the , which serves as a centralized repository for all extended attributes across the volume; each attribute's data is appended sequentially with headers indicating file associations and sizes. This approach contrasts with HPFS's direct integration, as the single-file structure on requires reading the entire EA file to access any individual attribute, leading to performance inefficiencies for large volumes or numerous attributes. Adoption remained limited primarily to environments due to these overheads and lack of native support in other operating systems, with ACLs providing basic security but not matching capabilities. Other notable modifications include TexFAT, a Microsoft extension introduced in the mid- for embedded systems like Windows CE, which adds transaction-safe features via duplicate FAT tables and allocation bitmaps to log operations and ensure atomicity during power failures or crashes, without native compression support. Similarly, FAT16+ emerged in the as an open-source-compatible variant in certain derivatives, extending FAT16 volumes beyond 4 GB limits using larger cluster sizes up to 256 and reserved area flags for compatibility with legacy 16-bit applications. TexFAT and FAT16+ implementations often rely on flags to signal extended functionality and reserved sectors for , but they introduce compatibility challenges, as standard FAT utilities like may misinterpret or corrupt the additional structures. These extensions saw declining use by the 2010s, largely superseded by native file systems such as on and on Windows, which offer built-in support for large volumes, transactions, and attributes without emulation overheads. However, FAT-based extensions persist in niche modern applications, including for routers and devices in the 2020s, where simplicity and cross-platform readability remain advantageous for USB and boot media.

Derivatives

exFAT

exFAT, or Extended File Allocation Table, is a proprietary file system developed by Microsoft in 2006 and first released as part of Windows Embedded CE 6.0 in November of that year. Designed primarily for flash memory devices such as SD cards and USB drives, it addresses key limitations of earlier FAT variants, particularly FAT32's 4 GB maximum file size restriction, by supporting individual files up to 16 exabytes (EB) and volumes up to 128 petabytes (PB). Support for exFAT was extended to desktop Windows operating systems starting with Windows Vista Service Pack 1 in 2008 and via a dedicated update (KB955704) for Windows XP Service Pack 2 and 3 in early 2009. The structure of diverges from traditional systems to enhance performance on solid-state drives (SSDs). Instead of maintaining a full file allocation table () for every , employs a compact allocation in the to track free and allocated space, which reduces metadata updates and on flash media. entries are organized into primary, secondary, stream, and name types, allowing for flexible and multiple data streams per file, similar to but simplified for portability. Filenames are stored natively in encoding, eliminating compatibility issues with characters, and all entries and the allocation include 32-bit checksums to verify integrity against corruption. There is no support for legacy 8.3 short filenames, streamlining the namespace to long names only. Key features of prioritize efficiency for . It supports optional transaction-safe operations through commit records, enabling atomic updates to prevent partial writes during failures, though this is not a full . Optimization for SSDs is achieved by minimizing random writes—such as updating the only on allocation changes rather than chaining through a FAT—and allowing large sizes ranging from 4 to 32 , which suits high-capacity storage by reducing fragmentation overhead. These design choices make faster for on devices compared to FAT32, with lower overhead for large files. Adoption of has been widespread in consumer storage. The standardized as the default for SDXC cards (capacities over 32 GB up to 2 TB) and SDUC cards (over 2 TB up to 128 TB), ensuring for high-resolution video and large transfers. It is also the common format for USB flash drives exceeding FAT32 limits. published the exFAT specification in August 2019 to facilitate broader implementation, and its patents, which previously required licensing, are set to expire in the late , potentially enabling royalty-free use in open-source projects. Native read/write support arrived in 5.4 (released in November 2019), building on earlier FUSE-based drivers available since around 2013. On macOS, exFAT has been supported since version 10.6.5 () in 2010, allowing seamless cross-platform without third-party tools. Despite its advantages, has notable limitations, particularly for traditional hard disk drives (HDDs). It lacks built-in journaling, making it vulnerable to from unexpected power loss or crashes during writes, as there is no mechanism to replay incomplete transactions. Additionally, the support for large sizes—often 128 or more by default—can lead to significant internal fragmentation and wasted space when storing many small s, rendering it less efficient for HDDs compared to journaled file systems like .

FATX (Xbox)

FATX is a proprietary variant of the File Allocation Table (FAT) file system developed by Microsoft specifically for the original Xbox console, released in 2001, and later adapted for the Xbox 360. It combines elements of FAT16 and FAT32 in a simplified hybrid structure tailored for gaming environments, omitting features like long filenames and built-in fragmentation utilities to prioritize performance on the console's 8-10 GB hard disk drives (HDDs). This design focused on rapid game loading and storage of game saves, cache data, and system files, while ensuring compatibility with the console's hardware constraints. The core structure of FATX employs 512-byte sectors, with cluster sizes ranging from 1 KB to 64 KB (multiples of 512 bytes) to accommodate varying sizes and optimize space usage on HDDs. Unlike standard FAT, it includes two copies of the File Allocation Table () for redundancy, located immediately after the , to enhance in a context where drive failures could disrupt play sessions. There is no fixed limit on the size, allowing unlimited subdirectories, though the overall layout is rigidly predefined without a traditional table, using fixed offsets for simplicity and boot speed. Directory entries are 64 bytes each, supporting short 8.3 filenames in uppercase only, and the lacks native support for permissions or controls. Key features include a fixed partition scheme on the original Xbox's HDD: Partition 0 serves as the system partition using FATX16 for boot and kernel files, while Partition 2 functions as a cache partition formatted in FATX32 for temporary game data and media buffering. Security is implemented through cryptographic hash chains embedded in the boot process and file metadata to verify integrity and prevent unauthorized modifications, without relying on user-level permissions. These elements make FATX suitable for a closed ecosystem, emphasizing reliability over flexibility. FATX evolved with the in 2005, adopting a primarily FATX32-based implementation capable of supporting partitions up to 16 TB through patches and larger sizes (up to 1 MB), addressing the growing storage needs for high-definition games and . Later models introduced support for on external USB drives for media playback, extending compatibility while retaining FATX for internal storage. The legacy of FATX persisted in features but was supplanted in the Series X (2020) by a custom optimized for SSDs, though tools continue to reference FATX for older console . As a system, FATX remains largely read-only on standard PCs without specialized tools like FATXplorer, which enable mounting and manipulation but highlight its incompatibility with mainstream operating systems. It is optimized for sequential game asset loading rather than general-purpose file management, resulting in limitations such as a 4 maximum and vulnerability to fragmentation without tools, making it unsuitable for modern cross-platform use.

Turbo FAT

Turbo FAT is a performance-oriented extension to the File Allocation Table (FAT) file system, developed by in the early as part of its File System (NWFS) for the operating system. Introduced in versions like NetWare 3.12 around , it aimed to optimize file access in network server environments by addressing the limitations of traditional FAT structures on hard disk drives, particularly for large files that required multiple disk seeks to traverse cluster chains. The structure of Turbo FAT builds directly on FAT16 and FAT32 foundations but incorporates an in-memory indexing mechanism. For files exceeding 64 s (typically corresponding to files larger than about 2 , depending on block size), automatically generates a Turbo FAT index—a consolidated, RAM-resident map of all relevant FAT entries for that file. This index is stored within the server's cache memory alongside other components like hash tables and directory caches, eliminating the need to repeatedly read scattered FAT sectors from disk. It also supports basic contiguous allocation hints by prioritizing sequential assignments when possible, though this is managed through 's block suballocation features rather than explicit flags in the . Key features of Turbo FAT focus on reducing in read-heavy workloads, such as those in multi-user environments. By preloading and caching file chain information, it enables faster file opens and retrieval, with the in-memory allowing direct jumps to data blocks without traversing the on-disk FAT. This read-ahead capability can significantly boost throughput on HDDs by minimizing times, making it particularly effective for applications involving large sequential files. In practice, it was employed in servers for industrial control systems and networked applications requiring reliable, high-performance . However, its RAM-intensive nature demands substantial server memory allocation—often 1-2 MB per large file —which could strain resources on systems with limited . Despite these advantages, Turbo FAT has notable limitations as a non-standard, enhancement. The volatile in-memory cache risks data loss or inconsistencies during power failures or crashes if not properly flushed, although mitigates this through periodic writes and journaling in later versions. Its tight integration with restricts compatibility with standard or Windows FAT implementations, preventing easy migration or cross-platform use. Open-source recreations or ports remain scarce, with no widely adopted implementations documented in public repositories as of the . With the proliferation of solid-state drives (SSDs) in the , which eliminate mechanical seek penalties, and the overall decline of in favor of Linux-based successors like , Turbo FAT has become largely obsolete, persisting only in legacy for specialized embedded or real-time systems.

Uses

Historical Applications

The File Allocation Table (FAT) file system became the dominant storage format for personal computers during the and , particularly within the operating system released in 1981. It served as the primary for floppy disk boot media, enabling the loading of the operating system and applications from 5.25-inch and 3.5-inch disks with capacities up to 1.44 MB. On hard drives, FAT supported volumes up to 2 GB in later implementations like FAT16, making it suitable for the typical PC storage needs of the era, where drives rarely exceeded a few hundred megabytes. FAT's simplicity facilitated cross-platform compatibility in limited ways during the . On Apple systems, while native Apple 3.3 (introduced in 1980) used a distinct volume table of contents structure, utilities allowed partial read access to FAT-formatted floppies for file exchange between Apple II and PC users. Similarly, early computers (launched in 1985) incorporated CrossDOS support starting in the late , enabling the to mount and access FAT volumes on floppies and hard drives for interoperability with PC software. In embedded devices such as printers and scanners from the onward, FAT was employed for internal storage and due to its lightweight design and broad readability across hardware. During the 1980s PC revolution, FAT underpinned the PC and compatible systems, powering the boot process and file management for the burgeoning market of personal computing. It was integral to the PC XT's 10 MB hard drive introduced in , using FAT12 for efficient cluster allocation on small volumes. In the , FAT continued its role in installations, where boot floppies formatted with FAT provided the initial setup media for upgrading or clean installs on systems with hard drives up to several gigabytes. FAT floppies also played a key part in , serving as the medium for and dissemination through user groups, systems, and mail-order services, allowing easy copying and portability across machines. As computing demands grew, FAT began transitioning out of primary use in server and advanced workstation environments. The High Performance File System (HPFS) replaced in 1.2, released in 1988, offering better support for larger volumes up to 2 GB and reduced fragmentation for multitasking workloads. Similarly, the NT File System () supplanted in , launched in 1993, providing enhanced security, journaling, and scalability for drives exceeding 4 GB, though remained supported for compatibility. In early Unix ports, such as 1.0 from 1987, support was incomplete and primarily limited to read-only access via external tools for floppy interchange, as the system favored its native file structure for core operations. FAT's legacy persisted into the 2000s through its role in boot sectors under the (MBR) scheme, where the active partition's volume boot record—often FAT-formatted—facilitated legacy booting on x86 systems before the shift to . This ensured for older hardware and hybrid installations, even as adopted more robust alternatives.

Modern Applications

Despite its age, the File Allocation Table (FAT) file system, including its FAT32 and variants, continues to play a vital role in storage. Post-2000s, FAT32 and have become standard for USB flash drives and cards, supporting partition sizes up to 2TB for FAT32 and larger for , ensuring broad compatibility across operating systems like Windows, macOS, and . This cross-platform is essential for users transferring files between diverse devices without formatting issues. In embedded systems, FAT's simplicity and low resource requirements make it appealing for resource-constrained environments in the 2020s. (IoT) devices, digital cameras, and routers frequently employ FAT for managing storage on s or internal flash, such as storing configuration files, images, or updates. For instance, the microcontroller platform integrates FAT support via the FatFs library for handling external storage of files and logs. Digital cameras rely on FAT32 or for formatting to enable seamless photo and video transfers to computers. FAT also persists in bootloader environments from the onward. The Unified Extensible Firmware Interface () specification mandates a FAT32-formatted (ESP) for booting modern systems, storing bootloaders and essential files. In Android devices, recovery modes often access external storage formatted with FAT for updates or backups via SD cards. FAT maintains niche persistence in contemporary software and hardware as of 2025. retains full read/write support for FAT volumes, including recent enhancements allowing native formatting of FAT32 partitions beyond the previous 32GB limit. Automotive systems commonly use FAT or for USB and integration to play and update maps. Some 2020s cryptocurrency wallets, such as hardware devices using s for offline storage, leverage FAT for file portability in node operations. Looking ahead, FAT's usage is declining for primary storage in favor of more robust systems like or , yet it remains irreplaceable in licensed standards for removable and applications due to entrenched requirements.

Patent History

The core File Allocation Table (FAT) file system, originally developed in 1978 by engineers Marc McDonald and for the Stand-alone Disk , is considered and thus unpatentable, entering the without any original patents due to its age and widespread prior implementation. did not seek patents on the fundamental FAT12 and FAT16 structures during their initial creation, as these predated modern practices and were based on earlier management techniques from the late 1970s. In the mid-1990s, Microsoft filed and obtained several patents covering extensions to the FAT system, particularly the Virtual FAT (VFAT) mechanism for supporting long filenames (LFNs) while maintaining backward compatibility with 8.3 short filenames. Key among these was U.S. Patent 5,579,517, issued in November 1996, which described a method for managing a common namespace for both long and short filenames in FAT directories. Additional related patents included U.S. Patent 5,758,352 (issued May 1998) for similar namespace handling and U.S. Patent 6,286,013 (issued September 2001) for providing a common name space for long and short file names. These patents focused on VFAT's use of additional hidden directory entries to store Unicode-based long names, introduced in Windows 95. During the late 1990s and early 2000s, asserted these patents against non-Windows implementations, requiring licensing for FAT16 and FAT32 structures incorporating LFN support, which raised concerns for embedded systems and open-source projects. In December 2003, announced a licensing program encompassing four FAT-related patents, including the aforementioned, targeting developers outside its ecosystem and prompting threats of enforcement against distributions using VFAT. This led to widespread debate, with the U.S. Patent and Trademark Office initially rejecting some claims in 2004 due to but upholding them in 2006 after appeals. By the 2000s, the core FAT structures were firmly established as , with no enforceable s due to their pre-1980 origins and lack of novelty claims. The VFAT LFN s began expiring around (20 years from filing dates in the mid-1990s), confirming free use for implementations by the , as validated by court rulings such as the 2013 invalidation of a related (EP 0 618 540) on grounds. Separately, Microsoft's derivative, introduced in 2006 for larger storage devices, is covered by patents filed from 2004 onward, with expirations extending to approximately 2025–2028 depending on the specific claims, which previously restricted full open-source driver development until Microsoft's 2019 pledge to the Open Invention Network allowing royalty- use in and related projects. These patent concerns delayed native exFAT support in free operating systems, though FAT's inherent simplicity facilitated of its core for broad compatibility.

Challenges and Lawsuits

In 2003, The entered into a licensing agreement with for Unix patents and , amid SCO's broader allegations that incorporated proprietary Unix code. This deal, valued at millions, was seen as validation of SCO's claims but did not result in direct litigation over specifics and had no relation to FAT's legal status. A prominent legal dispute arose in 2009 when sued for related to the company's navigation devices, which used -based software implementing VFAT support on the . The suit targeted eight patents, including those covering file allocation methods essential for in car navigation systems, highlighting tensions over FAT's use in embedded devices. The case settled later that year with agreeing to pay for a license covering the disputed technologies, avoiding a and underscoring 's strategy to enforce FAT-related through cross-licensing rather than prolonged court battles. Open-source developers faced ongoing challenges from Microsoft's FAT patents, particularly those on VFAT extensions for s, leading to efforts to circumvent potential infringement. In the , the project reverse-engineered Microsoft's protocol for network , which interacted with VFAT-enabled FAT volumes, ensuring compatibility without direct code copying to avoid issues. By the late 2000s, maintainers, including Samba co-founder Andrew Tridgell, developed patches to disable VFAT long filename conversion features, allowing implementations to operate within safe harbor by relying on older conventions. These measures preserved open-source access to core FAT functionality while navigating restrictions. Public backlash against Microsoft's FAT patent assertions in the early prompted the company to pledge interoperability support, including a 2003 initiative to share FAT specifications under royalty-bearing terms as part of broader collaboration efforts, though enforcement threats persisted. The investigated Microsoft for antitrust violations in the , focusing on bundling practices and interoperability barriers in Windows, which indirectly affected standards like FAT by requiring greater openness in protocol documentation. Key outcomes of these challenges included the U.S. Patent and Trademark Office's 2004 rejection of Microsoft's core patent claims on grounds, rendering much of the base FAT specification freely implementable by 2004 despite later appeals. VFAT extensions remained licensed until their patents began expiring in the mid-2010s, with exFAT-related patents following suit—one key exFAT patent lapsed in 2024, enabling fuller open-source adoption by 2025 without licensing fees. These resolutions, coupled with legal pressures, spurred development of patent-free alternatives like for , reducing reliance on proprietary file systems.

References

  1. [1]
    [DOC] Microsoft Extensible Firmware Initiative FAT32 File System ...
    The FAT (File Allocation Table) file system has its origins in the late 1970s and early1980s and was the file system supported by the Microsoft® MS-DOS® ...
  2. [2]
    Overview of FAT, HPFS, and NTFS File Systems - Windows Client
    Jan 15, 2025 · The FAT file system is characterized by the file allocation table (FAT), which is really a table that resides at the very "top" of the volume.
  3. [3]
    [DOC] Microsoft Extensible Firmware Initiative FAT32 File System ...
    Currently there are three FAT file system types: FAT12, FAT16 and FAT32. The basic difference in these FAT sub types, and the reason for the names, is the size, ...Missing: variants | Show results with:variants
  4. [4]
    Description of Default Cluster Sizes for FAT32 File System
    The FAT32 file system uses smaller default cluster sizes than the FAT16 file system, resulting in a more efficient file allocation system and the conservation ...
  5. [5]
    [MS-FSCC]: Glossary - Microsoft Learn
    Oct 5, 2022 · file allocation table (FAT): A data structure that the operating system creates when a volume is formatted by using FAT or FAT32 file systems.
  6. [6]
    What is File Allocation Table (FAT)? | Definition from TechTarget
    Dec 30, 2024 · File Allocation Table (FAT) is a file system that was developed by Microsoft to support small disks and simple folder structures.
  7. [7]
    [PDF] Microsoft Extensible Firmware Initiative FAT32 File System ...
    The FAT (File Allocation Table) file system has its origins in the late 1970s and early1980s and was the file system supported by the Microsoft® MS-DOS® ...
  8. [8]
    [PDF] Microsoft FAT Specification - CBA
    Aug 30, 2005 · This document describes the on-media FAT file system format. This document is written to help guide development of FAT implementations that are ...
  9. [9]
    FAT Filesystem - Elm-chan.org
    FAT is the abbreviation of File Allocation Table, which is the array to manage allocation of data area and the name of the file system itself. Currently ...<|separator|>
  10. [10]
    DOS Beginnings | OS/2 Museum
    The FAT filesystem was designed by Microsoft's Marc McDonald in 1977 for the Stand-alone Disk BASIC. Tim Paterson was familiar with the technology and adopted ...
  11. [11]
    Understanding the FAT File System and Its Evolution
    The FAT file system was invented by Bill Gates and Marc McDonald in 1977 at Microsoft, aiming to create a simple file system for new floppy disk drives.Missing: definition advantages portability documentation
  12. [12]
    Section I: The Development of MS-DOS | PCjs Machines
    Designed and coded by Marc McDonald, Stand-alone Disk BASIC included a file ... file allocation table--the FAT--that was always in memory. Both operating ...
  13. [13]
  14. [14]
    CP/M file system vs. MS-DOS FAT - narkive
    of them is that the MS-DOS File Allocation Table file system was taken straight from CP/M. No. It wasn't. It is nothing like the CP/M file system. Post by ...
  15. [15]
    DOS 2.0 and 2.1 | OS/2 Museum
    DOS 2.0 was the first version which had been developed entirely at Microsoft, with design objectives very different from those of 86-DOS.
  16. [16]
    Wrapping Up Support for FAT - PCjs Machines
    Sep 5, 2023 · If your media is larger than 4 MB, do not bother with FAT12. Except that PC DOS 2.00 did bother with FAT12 on a 10Mb disk – because, well, FAT12 ...
  17. [17]
    MS-DOS did not have directories at first either. It was a feature in ...
    Jul 13, 2022 · It was a feature in version 2.0, when hard drive support was added. Directories seem to have been a foreign concept among early home computer ...
  18. [18]
    [PDF] Microsoft's Original DOS File System, FAT12, and its Evolution to ...
    During DOS 2.0, Microsoft saw the need for allocation of more memory, so in. DOS 3.0, Microsoft introduced FAT16. This new FAT system could allocation up to 32.
  19. [19]
    [PDF] File Allocation Table
    Feb 19, 2008 · File Allocation Table (FAT) is a file system developed by Microsoft for MS-DOS and is the primary file system for consumer versions of ...
  20. [20]
    What is FAT - R-Studio Data Recovery Software
    Rating 4.8 (373) The first inception of FAT16 was introduced in 1984 for MS-DOS 3.0. Although the number of available cluster addresses was doubled from that of the original FAT ...
  21. [21]
    FAT File System Patent: Legacy and Legal Impact | PatentPC
    Sep 27, 2025 · The File Allocation Table (FAT) file system is one of the most significant developments in the history of computing. Introduced by Microsoft ...Missing: timeline | Show results with:timeline
  22. [22]
    Understanding File Systems - Kingston Technology
    FAT is one of the oldest and simplest file systems. It was initially developed for MS-DOS and is still used in many removable storage devices. The two major ...
  23. [23]
    What Is FAT32? - Computer Hope
    Jul 13, 2023 · In 1996, Windows 95 OSR2 came out with FAT32, a new and improved FAT. With new generations of large hard drives, the existing FAT data ...
  24. [24]
    Windows XP Reaches 20: A Retrospective - Qubits & Bytes
    Oct 25, 2021 · The NTFS file system provided many benefits over the FAT file system used by 9x, including file/folder permissions, support for files over ...
  25. [25]
    The FAT File System | Wiley Data and Cybersecurity books
    The File Allocation Table (FAT) family of file systems have been in use since the early 1980s. Throughout this time there have been a number of versions (FAT12, ...
  26. [26]
    Design of Highly Adaptable FAT File System in Embedded System
    The approach uses automated scripting and file modifications at system level to show how attackers breach host file access without users noticing it.
  27. [27]
    FAT12, FAT16, FAT32. File System Structure - Active@ File Recovery
    The default cluster size is determined by the size of the volume. For the FAT file system, the cluster number must fit in 16 bits and must be a power of two.<|control11|><|separator|>
  28. [28]
    Cluster Allocation Strategies of the ExFAT and FAT File Systems
    Cluster Allocation Strategies of the ExFAT and FAT File Systems. 693. Figure 1 shows the logical organization of ExFAT file system and the structure of.
  29. [29]
    FAT File Systems. FAT32, FAT16, FAT12 - NTFS.com
    A volume formatted with the FAT file system is allocated in clusters. The default cluster size is determined by the size of the volume. For the FAT file system, ...
  30. [30]
    chkdsk | Microsoft Learn
    May 26, 2025 · You should use chkdsk occasionally on FAT and NTFS file systems to check for disk errors. Chkdsk examines disk space and disk use and provides ...
  31. [31]
    Timeline of DOS operating systems
    Because an 8-bit FAT can't support over 300 clusters, Paterson implemented a new 12-bit FAT, which would be called FAT12. [upper-alpha 4] DOS 1.0 diskettes ...
  32. [32]
    Do any FAT8 filesystem images survive?
    Jun 23, 2023 · The original FAT8 filesystem was developed by Marc McDonald in 1977 or 1978, as part of "NCR BASIC +6", a port of Microsoft BASIC to an 8080-based NCR data ...Missing: specifications | Show results with:specifications
  33. [33]
    An Overview of FAT12 - oriont.net
    Apr 14, 2021 · FAT12 stands for File Allocation Tables, 12. It was introduced in 1977 (almost 50 years ago!) and has many descendents, such as FAT16, FAT32, and exFAT.
  34. [34]
    DOS 3.0, 3.1, and 3.2 - The OS/2 Museum
    In version 3.0, DOS supported the high-density 1.2MB floppy media and introduced the previously mentioned FAT16 filesystem. A very welcome new feature was ...
  35. [35]
    FAT32 VS VFAT: What's The Difference Between Them?
    Oct 17, 2024 · ... file sizes. FAT32 file system was introduced by Microsoft in 1996 with the release of Windows 95 OSR2 and has since become one of the most ...
  36. [36]
    Data Recovery Concept > File System (FAT) > FAT32 Features
    The root directory on a FAT32 drive is not stored in a fixed location as it is on FAT16 and FAT12 drives. On FAT32 drives, the root directory is an ordinary ...
  37. [37]
    FAT32 Boot Sector and Bootstrap - Active@ File Recovery
    The BPB for FAT32 drives is an extended version of the FAT16/FAT12 BPB. It contains identical information to a standard BPB, but also includes several extra ...
  38. [38]
    File System Functionality Comparison - Win32 apps - Microsoft Learn
    Mar 26, 2023 · The following tables list functionality and feature support comparisons for the four main Windows file systems, NTFS, exFAT, UDF, and FAT32.Missing: simplicity portability
  39. [39]
    Simple questions: What is FAT32 and why is it useful? - Digital Citizen
    Oct 1, 2025 · The pros of using FAT32 · It is compatible with a huge variety of devices: smartphones, tablets, computers, digital cameras, gaming consoles, ...
  40. [40]
    Atari Floppy Format - TU Chemnitz
    The table below indicates some "classical" gaps values for tracks with sectors of size of 128, 256, 512, and 1024. Name, 29 sectors of 128 bytes, 18 sectors of ...
  41. [41]
    ms dos - How did 'logically-sectored FAT' work?
    Mar 1, 2023 · All DOS IO to a DOS disk partition is done using logical sectors access which start from 0, so the partition can physically start anywhere on ...ms dos - What was the initial size of the file allocation table for a ...Why is MS-DOS not able to read partitions starting at logical sector 0?More results from retrocomputing.stackexchange.com
  42. [42]
    IBM DOS 4.0 - The OS/2 Museum
    Perhaps the most significant change in DOS 4.0 was the introduction of 32-bit logical sector numbers and the consequent breaking of the 32MB partition size ...
  43. [43]
    A.2 Logical Format - DICOM
    The layout of the boot sector shall be as shown in Table A. 2-1. The FAT and related file structures are compatible with the DOS 4.0 and later file systems, ...
  44. [44]
    El-Torito - OSDev Wiki
    El-Torito is a standard for creating bootable optical media like CD-ROMs, DVD, or BD. It is an add-on to the ISO 9660 filesystem.
  45. [45]
    Detailed analysis of Atari ST Floppy Disks of Dungeon Master and ...
    The possible sizes are 128 bytes, 256 bytes, 512 bytes and 1024 bytes. 512 bytes is the standard sector size on Atari ST. ... sector used to store the FAT ...
  46. [46]
    Really Atari ST? | OS/2 Museum
    Sep 21, 2020 · If a 720K floppy were formatted on an Atari ST, its boot sector would not be recognized, but its FAT media byte would be. ... 512 and 1024 byte ...
  47. [47]
    Random musings on the introduction of long file names on FAT
    Aug 26, 2011 · And then Windows NT added support for long file names on FAT and the decision taken years earlier to use Unicode on disk proved eerily ...
  48. [48]
    What is VFAT? - Computer Hope
    Jun 14, 2025 · Meaning of VFAT (Virtual File Allocation Table), which supports long file names in Microsoft Windows systems, expanding beyond the 8.3 format ...
  49. [49]
    FAT - OSDev Wiki
    VFAT is an extension to the FAT file system that has the ability to use long filenames (up to 255 characters). First introduced by Windows 95, it uses a " ...
  50. [50]
    Naming Files, Paths, and Namespaces - Win32 apps - Microsoft Learn
    Aug 28, 2024 · For example, the older MS-DOS FAT file system supports a maximum of 8 characters for the base file name and 3 characters for the extension, for ...<|control11|><|separator|>
  51. [51]
    VFAT - The Linux Kernel documentation
    This document presents a very rough, technical overview of my knowledge of the extended FAT file system used in Windows NT 3.5 and Windows 95.
  52. [52]
    Alternate Data Streams - MS-FSCC - Microsoft Learn
    Apr 7, 2025 · A file system MAY<8> support alternate data streams within a file or a directory. For a general description of file streams, section 1.1.
  53. [53]
    CAPEC-168: Windows ::DATA Alternate Data Stream (Version 3.9)
    Design: Use FAT file systems which do not support Alternate Data Streams. Implementation: Use Vista dir with the -R switch or utility to find Alternate Data ...
  54. [54]
  55. [55]
    Technical Note TN1150: HFS Plus Volume Format - Apple Developer
    Files on an HFS volume have two forks: a data fork and a resource fork, either of which may be empty (zero length). Files and directories also contain a small ...
  56. [56]
    NTFS Filesystem: Alternate Data Stream (ADS) | by David Varghese
    Apr 12, 2024 · It is a feature of NTFS that allows files to contain more than one data stream. ADS makes it possible to store files within files. This feature ...
  57. [57]
    Alternate data streams and cybersecurity vulnerabilities
    Jul 4, 2025 · Alternate data streams (ADS) are a little-known but potent feature of the NTFS file system that enable data to be hidden within files—without ...
  58. [58]
  59. [59]
    Microsoft exFAT/NTFS for Android - Paragon Software
    Install Microsoft exFAT/NTFS for USB On-The-Go by Paragon Software · Choose and install a preferred file manager: – Total Commander – X-Plore File Manager.
  60. [60]
    UMSDOS HOW-TO - The Linux Documentation Project
    Dec 1, 2001 · Its main goal is to achieve easier coexistence with Ms-DOS data by sharing the same partition. This document explain first how to use Umsdos in ...Missing: kernel mechanics
  61. [61]
    [PDF] Linux Bible
    UMSDOS was removed from the Linux 2.6.11 kernel for lack of maintenance. UVFAT, an extension of UMSDOS to use the Windows data structures for long filenames ...
  62. [62]
    US7174420B2 - Transaction-safe FAT file system - Google Patents
    In one aspect, the present disclosure describes a process for maintaining file allocation tables (FATs) for a volume of storage medium.Missing: 512GB | Show results with:512GB
  63. [63]
    Implementation of extended attributes on the FAT file system
    Oct 28, 2000 · EAs are supported directly by the High Performance File System (HPFS). They are stored in an efficient manner; a small EA does not effectively ...
  64. [64]
    exFAT File System Specification - Win32 apps - Microsoft Learn
    This specification describes the exFAT file system and provides all the information necessary for implementing the exFAT file system.
  65. [65]
    A Detailed Guide on the FAT16 File System - File Allocation Table16
    It could support hard drives 16 GB in size with a maximum cluster size of 256 KB. It was efficient enough to remain compatible with GUI-based operating systems ...Versions Of Fat16 · Uses Of Fat16 File System · Part 3. Fat16 Vs. Fat32
  66. [66]
    What is exFAT and why is it useful? - Digital Citizen
    Oct 3, 2025 · exFAT was designed by Microsoft back in 2006 and was a part of the company's Windows CE 6.0 operating system. Windows CE was Microsoft's ...
  67. [67]
    Windows XP exFAT File System Driver - gHacks Tech News
    Jan 29, 2009 · Microsoft has released an update for Windows XP SP2 and SP3 system that adds exFAT file system drivers to the operating system.
  68. [68]
    exFAT Overview. Directory Structure - NTFS.com
    All critical primary directory entries are located in root directory (except file directory entries). ... Directory Entry. 0x81, 1, Allocation Bitmap. 0x82, 2, Up ...
  69. [69]
    exFAT Filesystem - Elm-chan.org
    May 5, 2017 · bit0 (ActiveFat): 0 indicates the first FAT and allocation bitmap are used, 1 indicates the second FAT and allocation bitmap are used (TexFAT ...
  70. [70]
    Capacity (SD/SDHC/SDXC/SDUC) - SD Association
    SDXC standard – over 32GB-2TB SDXC memory card using exFAT file system. SDUC standard – over 2TB-128TB SDUC memory card using exFAT file system. SD Standard ...
  71. [71]
    exFAT in the Linux kernel? Yes! - Microsoft Open Source Blog
    Aug 28, 2019 · We're pleased to announce that Microsoft is supporting the addition of Microsoft's exFAT technology to the Linux kernel.Missing: history | Show results with:history<|separator|>
  72. [72]
    What is ExFAT - R-Studio Data Recovery Software
    Rating 4.8 (373) Also known as exFAT, The Extensible File Allocation Table was unveiled in 2006 and developed specifically for the Windows CE 6.0 operating system (OS).
  73. [73]
    File system formats available in Disk Utility on Mac - Apple Support
    Disk Utility on Mac supports several file system formats: Apple File System (APFS): The file system used by macOS 10.13 or later. MS-DOS (FAT) and ExFAT ...
  74. [74]
    The Differences Between exFAT vs. NTFS - Coursera
    May 27, 2025 · What are the advantages of NTFS? · Journaling function to help prevent data loss or corruption · Useful for large-volume data (up to 16 terabytes).
  75. [75]
    Differences Between NTFS, FAT32 and exFAT - Baeldung
    Mar 18, 2024 · In this tutorial, we'll compare three different file systems: NTFS, FAT32, and exFAT. Each one of these file systems has its advantages and disadvantages.2. Ntfs · 4. Exfat · 5. Comparison
  76. [76]
    Xbox Architecture | A Practical Analysis - Rodrigo Copetti
    Furthermore, the console features an internal hard disk, and it so happens to be set up with three partitions of 750 MiB each reserved for temporary storage.
  77. [77]
    FATX - xboxdevwiki
    Oct 27, 2025 · The file system used on the Xbox is FATX, a variant of FAT16/32 developed by Microsoft specifically for the Xbox.<|separator|>
  78. [78]
    FATX - Filesystem - Free60 Wiki
    FATX is the file system used by the Xbox and the Xbox 360, it is unsupported natively by Windows but has some functionality in Linux.Missing: structure | Show results with:structure
  79. [79]
    Reading And Recovering Data From FATX File Systems - Aerosoul
    Feb 25, 2020 · It supports both 16 and 32 bit file allocation tables, which will depend on the size of the partition.Fatx Structure · File Area · Directory Entries<|separator|>
  80. [80]
    Information - FATXplorer - Eaton Works
    FATXplorer is able to mount partitions on FATX storage devices and turn them into virtual disks, which you can then browse natively like you would a flash drive ...
  81. [81]
    [PDF] Forensic Analysis of Xbox Consoles - Scholarly Commons
    However, these changes are significant enough to prevent FAT32 forensic utilities from reading FATX. Vaughan [16] was the first to examine Xbox security issues ...
  82. [82]
    [PDF] Xbox 360 File Specifications Reference
    XTAF is the file system that is placed upon the raw hard drive of the Xbox 360. It is a derivative of the legacy File Allocation Table file system that was ...
  83. [83]
    16 TB Xbox 360 Internal HDD support + updated USB patches
    Aug 9, 2022 · Today I am pleased to announce the next evolution of Xbox 360 internal HDD upgrades. A comprehensive kernel patch unlocking up to 16 TB of space!
  84. [84]
    Xbox 360 Architecture | A Practical Analysis - Rodrigo Copetti
    This new entry in the console architecture series will give you an additional perspective on how technology was envisioned during the early naughties.
  85. [85]
    FATXplorer - ConsoleMods Wiki
    The FATX file system has the following limits: Partitions larger then 128 GB require a bios to have an LBA48 patch.Missing: structure | Show results with:structure
  86. [86]
    Novell Documentation: NetWare 6 - SET
    Disk cache memory not only speeds up access to file ... Having the turbo FAT index in memory makes reopening the file and accessing information faster.
  87. [87]
    [PDF] NetWare 5.1: Server Memory Administration Guide
    To handle low memory use, you probably won't need to allocate any more cache than NetWare's default. By default, NetWare allocates 20 buffers immediately upon ...
  88. [88]
    10012765: Performance, Tuning and Optimization Prior to NetWare 5.x
    Apr 26, 2006 · Cache memory allocates memory for the hash table, the FAT, the Turbo FAT, suballocation tables, the directory cache, a temporary data ...Missing: RAM | Show results with:RAM
  89. [89]
    File Systems (Linktionary term)
    ... DOS-based file system that is also used by Windows 9x versions. ... It includes such features as elevator seeking, background writes, overlapped seeks, Turbo FAT, ...
  90. [90]
    [PDF] Server Disks and Storage Devices Administration Guide
    When the turbo FAT index is in memory, files can be opened and information accessed faster. If network users frequently access files larger than 64 blocks, use ...
  91. [91]
    15-DOS 3.3, ProDOS & Beyond - Apple II History
    The major limit of DOS 3.3 was that, like its predecessors, it was designed specifically to support the Disk II drive. Hard disks, RAM disks, and 3.5 disks ( ...
  92. [92]
    CrossDOS - Wikipedia
    CrossDOS is a file system handler for accessing FAT formatted media on Amiga computers. It was bundled with AmigaOS 2.1 and later.Missing: 1980s | Show results with:1980s
  93. [93]
    What the FAT – understanding FAT file system types - Tuxera
    Sep 15, 2022 · The FAT (File Allocation Table) file system creates a structured table of those clusters, reducing the time it takes for the device to search ...How Fat Works · Fat12, Fat16, Fat32... · Enter Exfat<|control11|><|separator|>
  94. [94]
    Floppy Disk is Not Accessible, Not Formatted, or Not Recognized by ...
    To resolve this problem, re-format the floppy disk with Windows 98, Windows Millennium Edition, Windows NT, Windows 2000, Windows XP, or Windows Server 2003.
  95. [95]
    File, file system, and memory size limits in Minix
    Jun 29, 2006 · Accessing FAT file systems. Mtools was added to the standard Minix distribution with release 2.0.3. Dosdir|dosread|doswrite can only access ...
  96. [96]
    The BIOS/MBR Boot Process - NeoSmart Technologies
    This article summarizes the process by which traditional BIOS PCs load an operating system, covering the basics and details of the BIOS, MBR, and bootsector.
  97. [97]
  98. [98]
    FAT32 vs. ExFAT vs. NTFS: Which Format Is Best for Your Storage ...
    However, for larger storage devices that have higher file capacity, exFAT may be best. Both formats offer cross-platform compatibility for an external drive you ...
  99. [99]
    What Is FAT32 & how does it work? - IONOS CA
    Sep 11, 2020 · What is exFAT? The exFAT file system was specifically developed for flash storage media like USB sticks and SD cards. As a cross-platform format ...
  100. [100]
    FAT Filesystem Support - ESP32 - — ESP-IDF Programming Guide ...
    The FATFS component supports FAT12, FAT16, and FAT32 file system types. The file system type is determined by the number of clusters (calculated as data sectors ...
  101. [101]
    A Guide to SPIFFS, LittleFS, and FAT” | by Aniket Fasate - Medium
    Sep 14, 2023 · The FAT-Fs file system on ESP32 must be used to store audio, video, images, and other file types when the files need to be stored on external ...Missing: cameras routers
  102. [102]
    What file system are memory cards formatted with?
    Aug 23, 2010 · They're formatted with FAT16 or FAT32 (FAT32 is required for card sizes >2GB), and have a fairly specific (though simple) directory structure.
  103. [103]
    deleted pictures on SD still show on computer import
    Sep 27, 2024 · Cameras use a FAT 32 file system, that uses a 32 bit file structure to identify each file. The drives that store them - be they cards or ...
  104. [104]
    UEFI/GPT-based hard drive partitions - Microsoft Learn
    Feb 10, 2023 · The default partition layout for UEFI-based PCs is: a system partition, an MSR, a Windows partition, and a recovery tools partition.
  105. [105]
    13. Protocols – Media Access - UEFI Forum
    EFI encompasses the use of FAT32 for a system partition, and FAT12 or FAT16 for removable media. The FAT32 system partition is identified by an OSType value ...
  106. [106]
    [Q] 1 ntfs partition for android/ 1 fat32 for recovery? - XDA Forums
    Jan 15, 2013 · I managed to partition my sd card with 2 partitions one being ntfs like 50gb and the other fat32 being only for roms kernels gapps etc for ...[GUIDE] [FAT32] [EXT2] [2.3+] How to Partition your ...What Is Android and Custom Recovery Image..?More results from xdaforums.comMissing: FAT | Show results with:FAT
  107. [107]
    Microsoft is finally removing the FAT32 partition size limit in ...
    Aug 16, 2024 · Microsoft is planning to remove the 32GB size limit for FAT32 partitions in Windows 11. While FAT supports volumes up to 2TB, Windows has had a 32GB arbitrary ...
  108. [108]
    New Windows 11 build removes ancient, arbitrary 32GB size limit for ...
    Aug 16, 2024 · getting fat. New Windows 11 build removes ancient, arbitrary 32GB size limit for FAT32 disks. But the Windows NT-era disk formatting UI hasn't ...
  109. [109]
    A brief history of in-vehicle infotainment and car data storage - Tuxera
    Jul 19, 2021 · Especially in the early years of this decade, USB sticks and SD cards were mostly formatted with the FAT file system. The problem with FAT is ...
  110. [110]
    In-vehicle infotainment gets boost from new Microsoft exFAT file ...
    Jun 19, 2013 · exFAT supports the high-capacity SDXC memory card standard, which is increasingly used for music, pictures, videos and maps for navigation ...
  111. [111]
    FAT File System - TheJat.in
    Despite being considered obsolete for modern computing needs, FAT remains prevalent in various applications due to its simplicity and wide compatibility with ...
  112. [112]
    Tuxera introduces FAT+, a future-proof and interoperable file system ...
    Jul 25, 2017 · Tuxera announces FAT+, its latest file system technology for external storage, recommended by the Universal Flash Storage Association.
  113. [113]
    Microsoft FAT file system patent revoked - Ars Technica
    Sep 30, 2004 · In its application, Microsoft claimed rights to the FAT file systemm dating to 1976 and was granted a patent in 1996. While long since ...
  114. [114]
    US5758352A - Common name space for long and short filenames
    The present invention relates generally to data processing systems and, more particularly, to a common name space for long and short filenames. BACKGROUND OF ...
  115. [115]
    Long discussions about long names - LWN.net
    May 4, 2009 · The VFAT patents are written very broadly, and appear to cover essentially any mechanism that lets you store long names in a database with a ...Missing: 6259958 | Show results with:6259958
  116. [116]
    Microsoft FAT patents - software patents wiki (ESP Wiki)
    Apr 26, 2020 · In December 2003, Microsoft announced licensing demands of four patents for the FAT filesystem: US5,579,517 "The '517 patent"; US5 ...Missing: FAT16 FAT32 1990s
  117. [117]
    Microsoft's FAT patents threaten Linux, say critics - Pinsent Masons
    Jan 11, 2006 · The software giant was granted the first FAT patent in 1996 and in December 2003 ... patents were to be included in a new licensing portfolio.Missing: FAT16 FAT32 1990s
  118. [118]
    Microsoft FAT patent falls flat - CNET
    Sep 30, 2004 · Microsoft FAT patent falls flat. Open-source advocates notch a victory, since the technology is used by Linux. Now Redmond has 90 days to ...Missing: expiration | Show results with:expiration
  119. [119]
    Microsoft's FAT Patents Upheld - BetaNews
    Jan 10, 2006 · Ending a two-year battle over the FAT file system, the U.S. Patent and Trademark Office has reversed a non-final ruling from October and ...
  120. [120]
    Microsoft's FAT patent finally struck down in EU due to prior art from ...
    Dec 7, 2013 · Microsoft's FAT patent finally struck down in EU due to prior art from Linus Torvalds. Could put an end to Microsoft's billions that it gets from Android OEM's.Microsoft readies exFAT patents for Linux and open source - RedditShould we be worried? Microsoft signs up five companies to new ...More results from www.reddit.com
  121. [121]
    Tech Licensing Programs: exFAT and more | Microsoft Legal
    Extended File Allocation Table (exFAT) is Microsoft-patented file system. exFAT can handle extremely large file sizes and enables seamless file exchange ...Missing: history | Show results with:history
  122. [122]
    Microsoft readies exFAT patents for Linux and open source - ZDNET
    Aug 28, 2019 · ExFAT is based on FAT, one of the first floppy disk file systems. Over time, FAT became Microsoft's files ystem of choice for MS-DOS and Windows ...
  123. [123]
    Microsoft Agrees to License Unix - WIRED
    May 19, 2003 · The software giant will pay SCO Group to license Unix patents and source code. SCO says the pact validates its intellectual property claims ...
  124. [124]
    Microsoft and TomTom Settle Patent Infringement Cases - Source
    Mar 30, 2009 · The cases have been settled through a patent agreement under which TomTom will pay Microsoft for coverage under the eight car navigation and file management ...
  125. [125]
    Microsoft licenses out exFAT file system - Ars Technica
    Dec 10, 2009 · In February 2009, news broke that Microsoft had filed a patent infringement lawsuit against TomTom, alleging that the device maker's ...
  126. [126]
  127. [127]
    TECHNOLOGY; Microsoft Eases Policy on Licensing Its Technology
    Dec 4, 2003 · Like most of the technology Microsoft intends to make available, Microsoft will collect royalties on ClearType and FAT, negotiated with the ...Missing: promise assert Linux
  128. [128]
    [PDF] Case COMP/C-3/37.792 - European Commission
    May 27, 2003 · Whatever bundling Microsoft may have engaged in previously, with Windows 98 Second Edition, Microsoft tied for the first time the product ...