MarketFile Allocation Table
Company Profile

File Allocation Table

File Allocation Table (FAT) is a file system developed for personal computers and was the default file system for the DOS and Windows 9x operating systems. Originally developed in 1977 for use on floppy disks, it was adapted for use on hard disks and other devices. The increase in disk drive capacity over time drove modifications to the design that resulted in versions: FAT12, FAT16, FAT32, and exFAT.

Uses
Historical FAT was used on hard disks throughout the DOS and Windows 9x eras. Microsoft introduced NTFS with the Windows NT platform in 1993, but FAT remained the standard for the home user until the introduction of Windows XP in 2001. Windows Me was the final version of Windows to use FAT as its default file system. For floppy disks, FAT has been standardized as ECMA-107 The FAT file system is used in removable media such as floppy disks, super-floppies, memory and flash memory cards or USB flash drives. FAT is supported by portable devices such as PDAs, digital cameras, camcorders, media players, mobile phones, game consoles, as well as embedded systems such as boomboxes and DVD players and vehicle audio systems with built-in USB ports and SD card readers. The DCF file system adopted by almost all digital cameras since 1998 defines a logical file system with 8.3 filenames and makes the use of either FAT12, FAT16, FAT32 or exFAT mandatory for its physical layer for compatibility. == Technical details ==
Technical details
The file system uses an index table stored on the device to identify chains of data storage areas associated with a file, the File Allocation Table (FAT). The FAT is statically allocated at the time of formatting. The table is a linked list of entries for each cluster, a contiguous area of disk storage. Each entry contains either the number of the next cluster in the file, or else a marker indicating the end of the file, unused disk space, or special reserved areas of the disk. The root directory of the disk contains the number of the first cluster of each file in that directory. The operating system can then traverse the FAT, looking up the cluster number of each successive part of the disk file as a cluster chain until the end of the file is reached. Sub-directories are implemented as special files containing the directory entries of their respective files. Each entry in the FAT linked list is a fixed number of bits: 12, 16 or 32. The maximum size of a file or a disk drive that can be accessed is the product of the largest number that can be stored in the entries (less a few values reserved to indicate unallocated space or the end of a list) and the size of the disk cluster. Even if only one byte of storage is needed to extend a file, an entire cluster must be allocated to it. As a result, large numbers of small files can result in clusters being allocated that may contain mostly "empty" data to meet the minimum cluster size. Originally designed as an 8-bit file system, the maximum number of clusters must increase as disk drive capacity increases, and so the number of bits used to identify each cluster has grown. The successive major variants of the FAT format are named after the number of table element bits: 12 (FAT12), 16 (FAT16), and 32 (FAT32). == Variants ==
Variants
There are several variants of the FAT file system (e.g. FAT12, FAT16 and FAT32). FAT16 refers to both the original group of FAT file systems with 16-bit wide cluster entries and also to later variants. "VFAT" is an optional extension for long file names, which can work on top of any FAT file system. Volumes using VFAT long-filenames can be read also by operating systems not supporting the VFAT extension. Original 8-bit FAT }} The original FAT file system (or FAT structure, as it was called initially) was designed and implemented by Marc McDonald, MS-DOS 3.0 to MS-DOS 3.30 could still access FAT12 partitions under 15 MB, but required all 16 MB-32 MB partitions to be FAT16, and so could not access MS-DOS 2.0 partitions in this size range. MS-DOS 3.31 and higher could access 16 MB-32 MB FAT12 partitions again. Logical sectored FAT MS-DOS and PC DOS implementations of FAT12 and FAT16 could not access disk partitions larger than 32 megabytes. Several manufacturers developed their own FAT variants within their OEM versions of MS-DOS. Also, if they no longer need to be recognized by their original operating systems, existing partitions can be "converted" into FAT12 and FAT16 volumes more compliant with versions of MS-DOS/PC DOS 4.0–6.3, which do not support sector sizes different from 512 bytes, or by formatting the volume on a non-Windows system or on a Windows 9x system with FAT32 support and then transferring it to the Windows NT system. In August 2024, Microsoft released an update to Windows 11 preview builds that allows for the creation of FAT32 partitions up to 2TB in size. The maximal possible size for a file on a FAT32 volume is 4 GB minus 1 byte, or 4,294,967,295 (232 − 1) bytes. This limit is a consequence of the 4-byte file length entry in the directory table and would also affect relatively huge FAT16 partitions enabled by a sufficient sector size. Like FAT12 and FAT16, FAT32 does not include direct built-in support for long filenames, but FAT32 volumes can optionally hold VFAT long filenames in addition to short filenames in exactly the same way as VFAT long filenames have been optionally implemented for FAT12 and FAT16 volumes. Development FAT32 was introduced with Windows 95 OSR2 (MS-DOS 7.1) in 1996, although reformatting was needed to use it, and DriveSpace 3 (the version that came with Windows 95 OSR2 and Windows 98) never supported it. Windows 98 introduced a utility to convert existing hard disks from FAT16 to FAT32 without loss of data. In the Windows NT line, native support for FAT32 arrived in Windows 2000. A free FAT32 driver for Windows NT 4.0 was available from Winternals, a company later acquired by Microsoft. The acquisition of the driver from official sources is no longer possible. Since 1998, Caldera's dynamically loadable DRFAT32 driver could be used to enable FAT32 support in DR-DOS. The first version of DR-DOS to natively support FAT32 and LBA access was OEM DR-DOS 7.04 in 1999. That same year IMS introduced native FAT32 support with REAL/32 7.90, and IBM 4690 OS added FAT32 support with version 2. Ahead Software provided another dynamically loadable FAT32.EXE driver for DR-DOS 7.03 with Nero Burning ROM in 2004. IBM introduced native FAT32 support with OEM PC DOS 7.1 in 1999. Two partition types have been reserved for FAT32 partitions, 0x0B and 0x0C. The latter type is also named FAT32X in order to indicate usage of LBA disk access instead of CHS. On such partitions, CHS-related geometry entries, namely the CHS sector addresses in the MBR as well as the number of sectors per track and the number of heads in the EBPB record, may contain no or misleading values and should not be used. == Extensions ==
Extensions
Extended attributes OS/2 heavily depends on extended attributes (EAs) and stores them in a hidden file called "EA␠DATA.␠SF" in the root directory of the FAT12 or FAT16 volume. This file is indexed by two previously reserved bytes in the file's (or directory's) directory entry at offset 0x14. (This extension is critically incompatible with the /EAS option of the FAT32.IFS method to store OS/2 extended attributes on FAT32 volumes.) == Derivatives ==
Derivatives
Turbo FAT In its NetWare File System (NWFS) Novell implemented a heavily modified variant of a FAT file system for the NetWare operating system. For larger files it utilized a performance feature named Turbo FAT. FATX FATX is a family of file systems designed for Microsoft's Xbox video game console hard disk drives and memory cards, On August 28, 2019, Microsoft published the technical specification for exFAT so that it can be used in the Linux kernel and other operating systems. == Patents ==
Patents
Microsoft applied for, and was granted, a series of patents for key parts of the FAT file system in the mid-1990s. All four pertain to long-filename extensions to FAT first seen in Windows 95: U.S. patent 5,579,517, U.S. patent 5,745,902, U.S. patent 5,758,352, U.S. patent 6,286,013 (all expired since 2013). On December 3, 2003, Microsoft announced Non-Microsoft patents affecting FAT include: U.S. patent 5,367,671, specific to the OS/2 extended object attributes (expired in 2011). Challenges and lawsuits The Public Patent Foundation (PUBPAT) submitted evidence to the U.S. Patent and Trademark Office (USPTO) in 2004 disputing the validity of U.S. patent 5,579,517, The USPTO opened an investigation and concluded by rejecting all claims in the patent. The next year, the USPTO further announced that following the re-examination process, it affirmed the rejection of '517 and additionally found U.S. patent 5,758,352) was invalidated in Germany. After the appeal was withdrawn, this judgment became final on 28 October 2015. == See also ==
tickerdossier.comtickerdossier.substack.com