Jump to content

File Allocation Table

From Wikipedia, the free encyclopedia
(Redirected fromFAT16B)

FAT
Developer(s)Microsoft,NCR,SCP,IBM,Compaq,Digital Research,Novell,Caldera
Full nameFile Allocation Table
Variants8-bit FAT,FAT12,FAT16,FAT16B,FAT32,ExFAT,FATX,FAT+
Introduced1977(1977)withStandalone Disk BASIC-80
Partition IDsMBR/EBR:
  • FAT12:0x01e.a. (Extended Attribute)
  • FAT16:0x040x060x0Ee.a.
  • FAT32:0x0B0x0Ce.a.
  • BDP:EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
Structures
Directory contentsTable
File allocationLinked list
Bad blocksCluster tagging
Limits
Max volume size
  • FAT12: 32MB(256 MB for 64 KB clusters)
  • FAT16: 2 GB (4 GB for 64 KB clusters)
  • FAT32: 2TB(16 TB for4 KB sectors)
Max file size4,294,967,295 bytes (4GB− 1) with FAT16B and FAT32[1]
Maxno.of files
  • FAT12: 4,068 for 8KBclusters
  • FAT16: 65,460 for 32 KB clusters
  • FAT32: 268,173,300 for 32 KB clusters
Max filename length8.3 filename,or 255UCS-2characters when usingLFN[nb 1]
Features
Dates recorded
  • Modified date/time, creation date/time (DOS 7.0 and higher only),
  • access date (only available withACCDATEenabled),[2]
  • deletion date/time (only with DELWATCH 2)
Date range1980-01-01to2099-12-31(2107-12-31)
Date resolution
  • 2 seconds for last modified time,
  • 10 ms for creation time,
  • 1 day for access date,
  • 2 seconds for deletion time
ForksNot natively
AttributesRead-only, hidden, system, volume, directory, archive
File system
permissions
Transparent
compression
Transparent
encryption
  • FAT12/FAT16: Per-volume only withDR-DOS
  • FAT32: No

File Allocation Table(FAT) is afile systemdeveloped for personal computers and was the default filesystem forMS-DOSandWindows 9x operating systems.[3]Originally developed in 1977 for use onfloppy disks,it was adapted for use onhard disksand other devices. The increase in disk drives capacity required four major variants:FAT12,FAT16,FAT32,andExFAT.FAT was replaced withNTFSas the default file system on Microsoft operating systems starting withWindows XP.[4]Nevertheless, FAT continues to be used onflashand othersolid-statememory cardsand modules (includingUSB flash drives), many portable and embedded devices because of its compatibility and ease of implementation.[5]

Uses

[edit]

Historical

[edit]

FAT was also used onhard disksthroughout theDOSandWindows 9xeras. Microsoft introducedNTFSwith theWindows NTplatform in 1993, but FAT remained the standard for the home user until the introduction ofWindows XPin 2001.Windows Mewas the final version ofWindowsto use FAT as its default file system.

For floppy disks, FAT has been standardized asECMA-107[6]andISO/IEC9293:1994[7](superseding ISO 9293:1987[8]). These standards cover FAT12 and FAT16 with only short8.3 filenamesupport;long filenameswithVFATwere partiallypatented.[9]WhileFAT12is used on floppy disks,FAT16andFAT32are typically found on the larger media.

Modern

[edit]

FAT is used internally for theEFI system partitionin the boot stage ofEFI-compliant computers.[10]Hidden FAT filesystems are also used in theUEFIboot partition on modern PCs.

FAT is still used in drives expected to be used by multiple operating systems, such as in shared Windows,Linuxand DOS environments. Microsoft Windows additionally comes with a pre-installed tool to convert a FAT file system into NTFS directly without the need to rewrite all files, though this cannot be reversed easily.[11]The FAT file system is used in removable media such asfloppy disks,super-floppies,memoryandflash memorycards orUSB flash drives.FAT is supported by portable devices such asPDAs,digital cameras,camcorders,media players,and mobile phones.[3]

TheDCFfile system adopted by almost alldigital camerassince 1998 defines a logical file system with8.3 filenamesand makes the use of either FAT12, FAT16, FAT32 or exFAT mandatory for its physical layer for compatibility.[12]

Technical details

[edit]

The file system uses an index table stored on the device to identify chains of data storage areas associated with a file, theFile Allocation Table(FAT). The FAT is statically allocated at the time of formatting. The table is alinked listof entries for eachcluster,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. Theroot directoryof 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 acluster chainuntil the end of the file is reached.Sub-directoriesare implemented as special files containing thedirectory entriesof 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 and any single cluster can not hold more than a single file, so large clusters waste much disk space if there are large numbers of small files.

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

[edit]

There are several variants of the FAT file system (e.g.FAT12,FAT16andFAT32). 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

[edit]
8-bit FAT
Developer(s)Microsoft,NCR,SCP
Full name8-bit File Allocation Table
Introduced
Limits
Max file size8 MB
File size granularityrecord-granularity (128 bytes)[13][14]
Max filename length6.3 filename(binary files), 9 characters (ASCII files)[13][14]
Max directory depthNo sub-directories
Allowed filename
characters
ASCII(0x00and0xFFnot allowed in first character)[13][14]
Features
Dates recordedNo
AttributesWrite protected,EBCDICconversion, read after write, binary (random rather than sequential file)[13][14]

The original FAT file system (orFAT structure,as it was called initially) was designed and implemented byMarc McDonald,[15]based on a series of discussions between McDonald andBill Gates.[15] It was introduced with8-bittable elements[13][14][15](and valid data cluster numbers up to0xBF[13][14]) in a precursor toMicrosoft'sStandalone Disk BASIC-80for an8080-based successor[nb 2]of theNCR 7200 model VIdata-entry terminal, equipped with 8-inch (200 mm) floppy disks, in 1977[16]or 1978.[nb 2] In 1978,Standalone Disk BASIC-80was ported to the8086using an emulator on a DECPDP-10,[17]since no real 8086 systems were available at this time. The FAT file system was also used in Microsoft'sMDOS/MIDAS,[15]anoperating systemfor 8080/Z80 platforms written by McDonald since 1979. TheStandalone Disk BASICversion supported three FATs,[13][14][18]whereas this was a parameter for MIDAS. Reportedly, MIDAS was also prepared to support 10-bit, 12-bit and 16-bit FAT variants. While the size of directory entries was 16 bytes inStandalone Disk BASIC,[13][14]MIDAS instead occupied 32 bytes per entry.

Tim PatersonofSeattle Computer Products(SCP) was first introduced to Microsoft's FAT structure when he helpedBob O'Rearadapting theStandalone Disk BASIC-86emulator port onto SCP'sS-100 bus8086CPUboard prototype during a guest week at Microsoft in May 1979.[17]The final product was shown atLifeboat Associates' booth stand at theNational Computer Conferencein New York[17]on June 4–7, 1979, where Paterson learned about the more sophisticated FAT implementation in MDOS/MIDAS[15]and McDonald talked to him about the design of the file system.[16]

FAT12

[edit]
FAT12
Developer(s)SCP,Microsoft,IBM,Digital Research,Novell
Full name12-bit File Allocation Table
Introduced
Partition IDsMBR/EBR:
  • FAT12:0x01e.a.
  • BDP:EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
Limits
Max volume size
  • 16 MB (with 4 KB clusters)
  • 32 MB (with 8 KB clusters)
Max file sizeLimited by volume size
File size granularity1 byte
Maxno.of files4,068 for 8 KB clusters
Max filename length8.3 filenamewithOEMcharacters,
255UCS-2characters[nb 1]when usingLFN
Max directory depth32 levels or 66 characters (withCDS),
60 levels or more (without CDS)
Features
Dates recorded
  • Modified date (not with 86-DOS before 0.42),
  • modified time (not with PC DOS 1.0 and 86-DOS), creation date/time (DOS 7.0 and higher only),
  • access date (only available withACCDATEenabled),[2]
  • deletion date/time (only with DELWATCH 2)
Date range1980-01-01to2099-12-31(2107-12-31)
Date resolution
  • 2 seconds for last modified time,
  • 10 ms for creation time,
  • 1 day for access date,
  • 2 seconds for deletion time
AttributesRead-only(since DOS 2.0),hidden,system,volume(sinceMS-DOS 1.28andPC DOS 2.0),directory(sinceMS-DOS 1.40and PC DOS 2.0),archive(since DOS 2.0)
File system
permissions
Transparent
compression
Per-volume,SuperStor,Stacker,DoubleSpace,DriveSpace
Transparent
encryption
Per-volume only withDR-DOS

Between April and August 1980, while borrowing the FAT concept for SCP's own 8086 operating systemQDOS 0.10,[17]Tim Paterson extended the table elements to12 bits,[19]reduced the number of FATs to two, redefined the semantics of some of the reserved cluster values, and modified the disk layout, so that the root directory was now located between the FAT and the data area for his implementation ofFAT12.Paterson also increased the nine-character (6.3) filename[13][14]length limit to eleven characters to supportCP/M-style8.3 filenamesandFile Control Blocks.The format used in MicrosoftStandalone Disk BASIC's8-bit file system precursor was not supported by QDOS. By August 1980, QDOS had been renamed86-DOS.[20]Starting with86-DOS 0.42,the size and layout of directory entries was changed from 16 bytes to 32 bytes[21]in order to add a file date stamp[21]and increase the theoretical file size limit beyond the previous limit of 16 MB.[21] 86-DOS 1.00became available in early 1981. Later in 1981, 86-DOS evolved into Microsoft'sMS-DOSandIBMPC DOS.[15][19][22] The capability to read previously formatted volumes with 16-byte directory entries[21]was dropped withMS-DOS 1.20.

FAT12 used 12-bit entries for the cluster addresses; some values were reserved to mark the end of a chain of clusters, to mark unusable areas of the disk, or for other purposes, so the maximum number of clusters was limited to 4078.[23][24]To conserve disk space, two 12-bit FAT entries used three consecutive 8-bit bytes on disk, requiring manipulation to unpack the 12-bit values. This was sufficient for the original floppy disk drives, and small hard disks up to 32 megabytes. TheFAT16Bversion available with DOS 3.31 supported32-bitsector numbers, and so increased the volume size limit.

All the control structures fit inside the first track, to avoid head movement during read and write operations. Any bad sector in the control structures area would make the disk unusable. The DOS formatting tool rejected such disks completely. Bad sectors were allowed only in the file data area. Clusters containing bad sectors were marked unusable with the reserved value0xFF7in the FAT.

While 86-DOS supported three disk formats (250.25 KB, 616 KB and 1232 KB, withFAT IDs0xFFand0xFE) on 8-inch (200 mm) floppy drives, IBMPC DOS 1.0,released with the originalIBM Personal Computerin 1981, supported only an 8-sector floppy format with a formatted capacity of 160 KB (FAT ID0xFE) for single-sided 5.25-inch floppy drives, andPC DOS 1.1added support for adouble-sidedformat with 320 KB (FAT ID0xFF).PC DOS 2.0introduced support for 9-sector floppy formats with 180 KB (FAT ID0xFC) and 360 KB (FAT ID0xFD).

86-DOS 1.00 and PC DOS 1.0 directory entries included only one date, the last modified date. PC DOS 1.1 added the last modified time. PC DOS 1.xfile attributesincluded a hidden bit and system bit, with the remaining six bits undefined. At this time, DOS did not support sub-directories, but typically there were only a few dozen files on adiskette.

ThePC XTwas the first PC with an IBM-supplied hard drive, and PC DOS 2.0 supported that hard drive with FAT12 (FAT ID0xF8). The fixed assumption of 8 sectors per clusters on hard disks practically limited the maximum partition size to 16 MB for 512 byte sectors and 4 KB clusters.

TheBIOS Parameter Block(BPB) was introduced with PC DOS 2.0 as well, and this version also added read-only,archive,volume label,anddirectoryattribute bits for hierarchical sub-directories.[25]

MS-DOS 3.0introduced support for high-density 1.2 MB 5.25-inch diskettes (media descriptor0xF9), which notably had 15 sectors per track, hence more space for the FATs.

FAT12 remains in use on all commonfloppy disks,including 1.44 MB and later 2.88 MB disks (media descriptor byte0xF0).

Initial FAT16

[edit]
FAT16
Developer(s)Microsoft,IBM,Digital Research,Novell
Full name16-bit File Allocation Table
(with 16-bit sector entries)
Introduced1984-08-14 (PC DOS 3.0)
1984-08 (MS-DOS 3.0)
Partition IDsMBR/EBR:
  • FAT16:0x04e.a.
  • BDP:EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
Limits
Max file size4,294,967,295 bytes (4 GB − 1)
File size granularity1 byte
Maxno.of files65,536 for 32 KB clusters
Max filename length8.3 filenamewithOEMcharacters, 255UCS-2characters[nb 1]when usingLFN
Max directory depth32 levels or 66 characters (withCDS),
60 levels or more (without CDS)
Features
Dates recorded
  • Modified date/time, creation date/time (DOS 7.0 and higher only),
  • access date (only available withACCDATEenabled),[2]
  • deletion date/time (only with DELWATCH 2)
Date range1980-01-01to2099-12-31(2107-12-31)
Date resolution
  • 2 seconds for last modified time,
  • 10 ms for creation time,
  • 1 day for access date,
  • 2 seconds for deletion time
AttributesRead-only,hidden,system,volume,directory,archive
File system
permissions
Transparent
compression
Per-volume,SuperStor,Stacker,DoubleSpace,DriveSpace
Transparent
encryption
Per-volume only withDR-DOS

In 1984, IBM released thePC AT,which required PC DOS 3.0 to access its 20 MB hard disk.[26][27]Microsoft introduced MS-DOS 3.0 in parallel. Cluster addresses were increased to 16-bit, allowing for up to 65,526 clusters per volume. However, the maximum possible number of sectors and the maximumpartitionsize of 32 MB did not change. Although cluster addresses were 16 bits, this format was not what today is commonly understood asFAT16. Apartition type0x04indicates this form of FAT16 with less than 65,536 sectors (less than 32 MB for sector size 512). The benefit of FAT16 was the use of smaller clusters, making disk usage more efficient, particularly for large numbers of files only a few hundred bytes in size.

As MS-DOS 3.0 formatted all 16 MB-32 MB partitions in the FAT16 format, a 20 MB hard disk formatted under MS-DOS 3.0 was not accessible by MS-DOS 2.0.[28]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

[edit]

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.[29]

Some vendors (ASTandNEC[29]) supportedeight,instead of the standardfour,primary partition entries in their custom extendedMaster Boot Record(MBR), and they adapted MS-DOS to use more than a single primary partition.

Other vendors worked around the volume size limits imposed by the 16-bit sector entries by increasing the apparentsizeof the sectors the file system operated on. Theselogical sectorswere larger (up to 8192 bytes) than thephysical sectorsize (still 512 bytes) on the disk. The DOS-BIOS or System BIOS would then combine multiple physical sectors into logical sectors for the file system to work with.

These changes were transparent to the file system implementation in the DOS kernel. The underlying DOS-BIOS translated these logical sectors into physical sectors according to partitioning information and the drive's physical geometry.

The drawback of this approach was increased memory used for sector buffering and deblocking. Since older DOS versions could not use large logical sectors, the OEMs introduced new partition IDs for their FAT variants in order to hide them from off-the-shelf issues of MS-DOS and PC DOS. Known partition IDs for logical sectored FATs include:0x08(CommodoreMS-DOS 3.x),0x11(Leading EdgeMS-DOS 3.x),0x14(AST MS-DOS 3.x),0x24(NEC MS-DOS 3.30[29]),0x56(AT&TMS-DOS 3.x),0xE5(TandyMS-DOS),0xF2(Sperry ITMS-DOS 3.x,UnisysMS-DOS 3.3 – also used byDigital ResearchDOS Plus2.1).[30]OEM versions like Toshiba MS-DOS, Wyse MS-DOS 3.2 and 3.3,[31]as well as Zenith MS-DOS are also known to have utilized logical sectoring.[32]

While non-standard and sub-optimal, these FAT variants are perfectly valid according to the specifications of the file system itself.[citation needed]Therefore, even if default issues of MS-DOS and PC DOS were not able to cope with them, most of these vendor-specific FAT12 and FAT16 variants can be mounted by more flexible file system implementations in operating systems such as DR-DOS, simply by changing the partition ID to one of the recognized types.[nb 3]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,[33]by switching to aBPB with 32-bit entryfor the number of sectors, as introduced since DOS 3.31 (seeFAT16Bbelow), keeping the cluster size and reducing thelogical sector size in the BPBdown to 512 bytes, while at the same time increasing the counts of logical sectors per cluster, reserved logical sectors, total logical sectors, and logical sectors per FAT by the same factor.

A parallel development in MS-DOS / PC DOS which allowed an increase in the maximum possible FAT size was the introduction of multiple FAT partitions on a hard disk. To allow the use of more FAT partitions in a compatible way, a new partition type was introduced in PC DOS 3.2 (1986), theextended partition(EBR),[15]which is a container for an additional partition calledlogical drive.Since PC DOS 3.3 (April 1987), there is another, optional extended partition containing the nextlogical drive,and so on. TheMBRof a hard disk can either define up to four primary partitions, or an extended partition in addition to up to three primary partitions.

Final FAT16

[edit]
FAT16B
Developer(s)Compaq,Digital Research,IBM,Microsoft,Novell
Full name16-bit File Allocation Table
(with 32-bit sector entries)
Introduced
Partition IDsMBR/EBR:
Limits
Min volume size
  • 8MB(with 128 byte sectors)
  • 32 MB (with512byte sectors)
  • 256 MB (with4 KBsectors)
Max volume size
  • 2GB(with 32KBclusters)
  • 4 GB (with 64 KB clusters) (NT 4, PTS-DOS, EDR-DOS)
  • 8 GB (with 128 KB clusters and 1 or 2 KB sectors) (NT 4 and EDR-DOS only)
  • 8 GB (with 128 KB clusters and 512 byte sectors) (EDR-DOS only)
  • 16 GB (with 256 KB clusters and 2 or 4 KB sectors) (NT 4 only)
Max file size
  • 2,147,483,647 bytes (2 GB − 1) (withoutLFS)
  • 4,294,967,295 bytes (4 GB − 1) (withLFS)
  • limited by volume size only (with FAT16+[34])
File size granularity1 byte
Maxno.of files65,460 for 32 KB clusters
Max filename length8.3 filenamewithOEMcharacters,
255UCS-2characters[nb 1]when usingLFN
Max directory depth32 levels or 66 characters (withCDS),
60 levels or more (without CDS)
Features
Dates recorded
  • Modified date/time, creation date/time (DOS 7.0 and higher only),
  • access date (only available withACCDATEenabled),[2]
  • deletion date/time (only with DELWATCH 2)
Date range1980-01-01to2099-12-31(2107-12-31)
Date resolution
  • 2 seconds for last modified time,
  • 10 ms for creation time,
  • 1 day for access date,
  • 2 seconds for deletion time
AttributesRead-only,hidden,system,volume,directory,archive
File system
permissions
Transparent
compression
Per-volume,SuperStor,Stacker,DoubleSpace,DriveSpace
Transparent
encryption
Per-volume only withDR-DOS

In November 1987,Compaq Personal Computer DOS 3.31(a modified OEM version of MS-DOS 3.3 released by Compaq with their machines) introduced what today is simply known asthe FAT16format, with the expansion of the 16-bit disk sector count to 32 bits in the BPB. Although the on-disk changes were minor, the entire DOS disk driver had to be converted to use 32-bit sector numbers, a task complicated by the fact that it was written in 16-bitassembly language. The result was initially called theDOS 3.31 Large File System.Microsoft'sDSKPROBEtool refers to type0x06asBigFAT,[35]whereas some older versions ofFDISKdescribed it asBIGDOS.Technically, it is known asFAT16B.

Since older versions of DOS were not designed to cope with more than 65,535 sectors, it was necessary to introduce a new partition type for this format in order to hide it from pre-3.31 issues of DOS. The original form of FAT16 (with less than 65,536 sectors) had apartition type0x04.To deal with disks larger than this, type0x06was introduced to indicate 65,536 or more sectors. In addition to this, the disk driver was expanded to cope with more than 65,535 sectors as well. The only other difference between the original FAT16 and the newer FAT16B format is the usage of anewer BPBformat with 32-bit sector entry. Therefore, newer operating systems supporting the FAT16B format can cope also with the original FAT16 format without any necessary changes.

If partitions to be used by pre-DOS 3.31 issues of DOS need to be created by modern tools, the only criteria theoretically necessary to meet are a sector count of less than 65536, and the usage of the old partition ID (0x04). In practice however, type0x01and0x04primary partitions should not be physically located outside the first 32 MB of the disk, due to other restrictions in MS-DOS 2.x, which could not cope with them otherwise.

In 1988, the FAT16B improvement became more generally available throughDR DOS3.31, PC DOS 4.0,OS/21.1, and MS-DOS 4.0. The limit on partition size was dictated by the 8-bitsignedcount of sectors per cluster, which originally had a maximum power-of-two value of 64. With the standard hard disk sector size of 512 bytes, this gives a maximum of 32 KB cluster size, thereby fi xing the "definitive" limit for the FAT16 partition size at 2 GB for sector size 512. Onmagneto-opticalmedia, which can have 1 or 2 KB sectors instead of 0.5 KB, this size limit is proportionally larger.

Much later,Windows NTincreased the maximum cluster size to 64 KB, by considering the sectors-per-cluster count as unsigned. However, the resulting format was not compatible with any other FAT implementation of the time, and it generated greaterinternal fragmentation.Windows 98,SE and ME also supported reading and writing this variant, but its disk utilities did not work with it and someFCBservices are not available for such volumes. This contributes to a confusing compatibility situation.

Prior to 1995, versions of DOS accessed the disk viaCHSaddressing only. WhenWindows 95(MS-DOS 7.0) introducedLBAdisk access, partitions could start being physically located outside the first c. 8 GB of this disk and thereby out of the reach of the traditional CHS addressing scheme. Partitions partially or fully located beyond the CHS barrier therefore had to be hidden from non-LBA-enabled operating systems by using the new partition type0x0Ein the partition table instead. FAT16 partitions using this partition type are also namedFAT16X.[36]The only difference, compared to previous FAT16 partitions, is the fact that some CHS-related geometry entries in the BPB record, namely the number of sectors per track and the number of heads, may contain no or misleading values and should not be used.

The number of root directory entries available for FAT12 and FAT16 is determined when the volume is formatted, and is stored in a 16-bit field. For a given numberRDEand sector sizeSS,the numberRDSof root directory sectors isRDS = ceil((RDE × 32) / SS),andRDEis normally chosen to fill these sectors, i.e.,RDE × 32 = RDS × SS.FAT12 and FAT16 media typically use 512 root directory entries on non-floppy media. Some third-party tools, like mkdosfs, allow the user to set this parameter.[37]

FAT32

[edit]
FAT32
Developer(s)Microsoft,Caldera
IntroducedAugust 1996 (Windows 95 OSR2)
Partition IDsMBR/EBR:
Limits
Min volume size
  • 32MB– 4.5KB(with 65525 clusters and 512 byte sectors)
  • 256 MB – 36 KB (with 65525 clusters and 4KBsectors)
Max volume size
  • 2TB(with 512 byte sectors)
  • 8 TB (with 2 KB sectors and 32 KB clusters)
  • 16 TB (with 4 KB sectors and 64 KB clusters)
Max file size
  • 2,147,483,647 bytes (2 GiB − 1 byte) (withoutLFS)
  • 4,294,967,295 bytes (4 GiB − 1 byte)[1](withLFS)
  • 274,877,906,943 bytes (256 GiB − 1 byte) (only with FAT32+[34])
File size granularity1 byte
Maxno.of files268,173,300 for 32 KB clusters
Max filename length8.3 filenamewithOEMcharacters,
255UCS-2characters[nb 1]when usingLFN
Max directory depth32 levels or 66 characters (withCDS),
60 levels or more (without CDS)
Features
Dates recorded
  • Modified date/time, creation date/time (DOS 7.0 and higher only),
  • access date (only available withACCDATEenabled),[2]
  • deletion date/time (only with DELWATCH 2)
Date range1980-01-01to2099-12-31(2107-12-31)
Date resolution
  • 2 seconds for last modified time,
  • 10 ms for creation time,
  • 1 day for access date,
  • 2 seconds for deletion time
AttributesRead-only,hidden,system,volume,directory,archive
File system
permissions
Partial, only withDR-DOS,REAL/32and4690 OS
Transparent
compression
Yes

In order to overcome the volume size limit of FAT16, while at the same time allowing DOSreal-modecode to handle the format, Microsoft designed a new version of the file system,FAT32,which supported an increased number of possible clusters, but could reuse most of the existing code, so that theconventional memoryfootprint was increased by less than 5 KB under DOS.[38]Cluster values are represented by32-bitnumbers, of which 28 bits are used to hold the cluster number.

Maximal sizes

[edit]

The FAT32 boot sector uses a 32-bit field for the sector count, limiting the maximal FAT32 volume size to 2terabyteswith a sector size of 512bytes.The maximum FAT32 volume size is 16 TB with a sector size of 4,096 bytes.[39][40]The built-inWindows shelldisk format tool on Windows NT arbitrarily only supports volume sizes up to 32 GB,[nb 4]but Windows supports reading and writing to preexisting larger FAT32 volumes, and these can be created with thecommand prompt,PowerShellor third-party tools,[42]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.

The maximal possible size for a file on a FAT32 volume is 4GBminus 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 holdVFATlong 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

[edit]

FAT32 was introduced withWindows 95OSR2(MS-DOS 7.1) in 1996, although reformatting was needed to use it, andDriveSpace 3(the version that came with Windows 95 OSR2 and Windows 98) never supported it.Windows 98introduced 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 inWindows 2000.A free FAT32 driver forWindows NT 4.0was available fromWinternals,a company later acquired by Microsoft. The acquisition of the driver from official sources is no longer possible. Since 1998, Caldera's dynamically loadableDRFAT32driver could be used to enable FAT32 support in DR-DOS.[43][44]The first version of DR-DOS to natively support FAT32 and LBA access was OEM DR-DOS 7.04 in 1999. That same yearIMSintroduced native FAT32 support withREAL/327.90, andIBM 4690 OSadded FAT32 support with version 2.[45]Ahead Softwareprovided another dynamically loadable FAT32.EXE driver for DR-DOS 7.03 withNero Burning ROMin 2004. IBM introduced native FAT32 support with OEM PC DOS 7.1 in 1999.

Two partition types have been reserved for FAT32 partitions,0x0Band0x0C.The latter type is also namedFAT32Xin order to indicate usage of LBA disk access instead of CHS.[43][46][47][48][49]On such partitions, CHS-related geometry entries, namely theCHS sector addressesin the MBR as well as the number ofsectors per trackand thenumber of headsin the EBPB record, may contain no or misleading values and should not be used.[50][48][49]

Extensions

[edit]

Extended attributes

[edit]

OS/2heavily depends onextended attributes(EAs) and stores them in a hidden file called "EA␠DATA.␠SF"in theroot directoryof theFAT12orFAT16volume. This file is indexed by two previously reserved bytes in the file's (or directory's)directory entryat offset0x14.[51]In theFAT32format, these bytes hold the upper 16 bits of the starting cluster number of the file or directory, hence making it impossible to storeOS/2 EAson FAT32 using this method.

However, the third-party FAT32installable file system(IFS) driver FAT32.IFS version 0.70 and higher by Henk Kelder & Netlabs for OS/2,eComStationandArcaOSstores extended attributes in extra files with filenames having the string "␠EA.␠SF"appended to the regular filename of the file to which they belong. The driver also utilizes the byte at offset0x0Cin directory entries to store a special mark byte indicating the presence of extended attributes to help speed up things.[52][53](This extension is critically incompatible with the FAT32+ method to store files larger than 4 GB minus 1 on FAT32 volumes.)[34]

Extended attributes are accessible via theWorkplace Shelldesktop, throughREXXscripts, and many systemGUIandcommand-lineutilities (such as4OS2).[54]

To accommodate itsOS/2subsystem,Windows NTsupports the handling of extended attributes inHPFS,NTFS,FAT12 and FAT16. It stores EAs on FAT12, FAT16 and HPFS using exactly the same scheme as OS/2, but does not support any other kind ofADSas held on NTFS volumes. Trying to copy a file with any ADS other than EAs from an NTFS volume to a FAT or HPFS volume gives a warning message with the names of the ADSs that will be lost. It does not support the FAT32.IFS method to store EAs on FAT32 volumes.

Windows 2000onward acts exactly as Windows NT, except that it ignores EAs when copying to FAT32 without any warning (but shows the warning for other ADSs, like "Macintosh Finder Info" and "Macintosh Resource Fork" ).

Cygwinuses "EA␠DATA.␠SF"files as well.

Long file names

[edit]

One of theuser experiencegoals for the designers ofWindows 95was the ability to uselong filenames(LFNs—up to 255UTF-16code unitslong),[nb 1]in addition to classic8.3 filenames(SFNs). Forbackwardandforward compatibility,LFNs were implemented as an optional extension on top of the existing FAT file system structures using aworkaroundin the way directory entries are laid out.

This transparent method to store long file names in the existing FAT file systems without altering their data structures is usually known asVFAT(for "Virtual FAT" ) after the Windows 95virtual device driver.[nb 5]

Non VFAT-enabled operating systems can still access the files under their short file name alias without restrictions; however, the associated long file names may be lost when files with long filenames are copied under non VFAT-aware operating systems.

In Windows NT, support for VFAT long filenames began with version3.5.

Linux provides a VFAT filesystem driver to work with FAT volumes with VFAT long filenames. For some time, aUVFATdriver was available to provide combined support forUMSDOS-style permissions with VFAT long filenames.

OS/2added long filename support to FAT usingextended attributes(EA) before the introduction of VFAT. Thus, VFAT long filenames are invisible to OS/2, and EA long filenames are invisible to Windows; therefore, experienced users of both operating systems would have to manually rename the files.

Human68Ksupported up to18.3 filenamesand (Shift JIS)Kanjicharacters in a proprietary FAT file system variant.

In order to supportJavaapplications, theFlexOS-basedIBM 4690 OSversion 2 introduced its ownvirtual file system(VFS) architecture to store long filenames in the FAT file system in a backwards-compatible fashion. If enabled, the virtual filenames (VFN) are available under separate logical drive letters, whereas the real filenames (RFN) remain available under the original drive letters.[55]

Forks and alternate data streams

[edit]

The FAT file system itself is not designed for supportingalternate data streams(ADS), but some operating systems that heavily depend on them have devised various methods for handling them on FAT volumes. Such methods either store the additional information in extra files and directories (classic Mac OSandmacOS), or give new semantics to previously unused fields of the FAT on-disk data structures (OS/2andWindows NT).

Mac OS usingPC Exchangestores its various dates, file attributes and long filenames in ahidden filecalled "FINDER.DAT",andresource forks(a common Mac OS ADS) in a subdirectory called "RESOURCE.FRK",in every directory where they are used. From PC Exchange 2.1 onwards, they store the Mac OS long filenames as standard FAT long filenames and convert FAT filenames longer than 31 characters to unique 31-character filenames, which can then be made visible to Macintosh applications.

macOSstoresresource forksand metadata (file attributes, other ADS) usingAppleDouble formatin a hidden file with a name constructed from the owner filename prefixed with "._",andFinderstores some folder and file metadata in a hidden file called ".DS_Store"(but note that Finder uses.DS_Storeeven on macOS' native filesystem,HFS+).

UMSDOS permissions and filenames

[edit]

Early Linux distributions also supported a format known asUMSDOS,a FAT variant with Unix file attributes (such as long file name and access permissions) stored in a separate file called "--linux-.---".UMSDOS fell into disuse afterVFATwas released and it is not enabled by default inLinuxfrom version 2.5.7 onwards.[56]For some time, Linux also provided combined support for UMSDOS-style permissions and VFAT long filenames throughUVFAT.

FAT+

[edit]

In 2007 the openFAT+draft proposed how to storelarger filesup to 256 GB minus 1 byte, or 274,877,906,943 (238− 1) bytes, on slightly modified and otherwise backward-compatible FAT32 volumes,[34]but imposes a risk that disk tools or FAT32 implementations not aware of this extension may truncate or delete files exceeding the normal FAT32 file size limit. Support forFAT32+andFAT16+is limited to some versions ofDR-DOSand not available in mainstream operating systems.[57](This extension is critically incompatible with the/EASoption of the FAT32.IFS method to storeOS/2 extended attributeson FAT32 volumes.)

Derivatives

[edit]

Turbo FAT

[edit]

In itsNetWare File System(NWFS)Novellimplemented a heavily modified variant of a FAT file system for theNetWareoperating system. For larger files it utilized a performance feature namedTurbo FAT.

FATX

[edit]

FATX is a family of file systems designed forMicrosoft'sXboxvideo game consolehard diskdrives andmemory cards,[58][59]introduced in 2001.

While resembling the same basic design ideas asFAT16andFAT32,theFATX16andFATX32on-disk structures are simplified, but fundamentally incompatible with normal FAT16 and FAT32 file systems, making it impossible for normal FAT file system drivers to mount such volumes.

The non-bootablesuperblocksector is 4 KB in size and holds an 18 byte large BPB-like structure completely different from normalBPBs.Clusters are typically 16 KB in size and there is only one copy of the FAT on the Xbox. Directory entries are 64 bytes in size instead of the normal32 bytes.Files can have filenames up to 42 characters long using theOEM character setand be up to 4 GB minus 1 byte in size. The on-disk timestamps hold creation, modification and access dates and times but differ from FAT: in FAT, theepochis1980;in FATX, the epoch is2000.On theXbox 360,the epoch is 1980.[60]

exFAT

[edit]

exFAT is a file system introduced withWindows Embedded CE 6.0in November 2006 and brought to the Windows NT family withVista Service Pack 1andWindows XP Service Pack 3(or separate installation of Windows XP Update KB955704). It is loosely based on the File Allocation Table architecture, but incompatible, proprietary and protected by patents.[61]

exFAT is intended for use onflash drivesandmemory cardssuch asSDXCandMemory Stick XC,where FAT32 is otherwise used. Vendors usually pre-format SDXC cards with it. Its main benefit is its exceeding of the 4 GB file size limit, as file size references are stored with eight instead of four bytes, increasing the limit to 264− 1 bytes.

Microsoft'sGUIand command-line format utilities offer it as an alternative toNTFS(and, for smaller partitions, toFAT16BandFAT32). TheMBRpartition typeis0x07(the same as used forIFS,HPFS,and NTFS). Logical geometry information located in theVBRis stored in a format not resembling any kind of BPB.

In early 2010, the file system wasreverse-engineeredby theSANS Institute.[62]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.[63]

Patents

[edit]

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 inWindows 95:U.S. patent 5,579,517,[64]U.S. patent 5,745,902,[65]U.S. patent 5,758,352,[66]U.S. patent 6,286,013 (all expired since 2013).[67]

On December 3, 2003, Microsoft announced[68]that it would be offering licenses for use of its FAT specification and "associated intellectual property", at the cost of aUS$0.25royalty per unit sold, with aUS$250,000maximum royalty per license agreement.[69]To this end, Microsoft cited four patents on the FAT file system as the basis of its intellectual property claims.

In the EFI FAT32 specification,[10]Microsoft specifically grants a number of rights, which many readers have interpreted as permitting operating system vendors to implement FAT.[70]Non-Microsoft patents affecting FAT include: U.S. patent 5,367,671, specific to theOS/2extended object attributes (expired in 2011).[71]

Challenges and lawsuits

[edit]

ThePublic Patent Foundation(PUBPAT) submitted evidence to theUS Patent and Trademark Office(USPTO) in 2004 disputing the validity of U.S. patent 5,579,517,[64]including prior art references fromXeroxand IBM.[72]The USPTO opened an investigation and concluded by rejecting all claims in the patent.[73]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[66]invalid on the grounds that the patent had incorrect assignees.

However, in 2006, the USPTO ruled that features of Microsoft's implementation of the FAT system were "novel and non-obvious", reversing both earlier decisions and leaving the patents valid.[74]

In February 2009, Microsoft filed apatent infringementlawsuit againstTomTomalleging that the device maker's products infringe on patents related toVFATlong filenames. As some TomTom products are based onLinux,this marked the first time that Microsoft tried to enforce its patents against the Linux platform.[75]The lawsuit was settled out of court the following month with an agreement that Microsoft be given access to four of TomTom's patents, that TomTom will drop support for the VFAT long filenames from its products, and that in return Microsoft not seek legal action against TomTom for the five-year duration of the settlement agreement.[76]

In October 2010, Microsoft filed a patent infringement lawsuit againstMotorolaalleging several patents (including two of the VFAT patents) were not licensed for use in theAndroidoperating system.[77]They also submitted a complaint to theITC.[78] Developers of open source software have designed methods intended to circumvent Microsoft's patents.[79][80]

In 2013, patent EP0618540 "common name space for long and short filenames" (expired since 2014[81]) was invalidated in Germany.[82]After the appeal was withdrawn, this judgment became final on the 28th October 2015.[83]

See also

[edit]

Notes

[edit]
  1. ^abcdefSinceWindows 2000,Microsoft Windows usesUTF-16instead ofUCS-2for theinternal "Unicode".In UTF-16, a "character" (code point) may take up two code units.
  2. ^abSources differ in regard to the first NCR data entry terminal integrating support for the FAT file system. According toStephen Manesand Paul Andrews, "Gates", development was for aNCR 8200in late 1977, incorrectly classified as a floppy-based upgrade to theNCR 7200,which had been released in 1975-11 (model IandIV) and was built around anIntel 80808-bit processor, but was cassette-based only. However, the NCR Century 8200 was a 16-bit minicomputer, onto which several data entry terminals could be hooked up.Marc McDonaldeven remembered aNCR 8500,a mainframe of the Criterion series, which can be ruled out as well. Announced 1977-10 for shipment in 1978-02, NCR also introduced theNCR I-8100series including the 8080-basedNCR I-8130andNCR I-8150models of small business systems featuring dual floppy disks. Other sources indicate that either the NCR 7200 series itself or the successor series were the actual target platform.NCR Basic Plus 6(based onMicrosoft Extended BASIC-80) became available for the cassette-basedNCR 7200 model VIin Q1/1977. TheNCR 7500series was released in 1978, based on a similar 8080 hardware, but now includingNCR 7520and7530models featuring 8-inch diskettes.NCR Basic +6,a precursor or adaptation ofStandalone Disk BASIC-80was available for them at least since 1979. One source claims that a special NCR 7200 model variant with two 8-inch diskettes and Microsoft BASIC existed and was imported by NCR Sydney into Australia the least.
  3. ^DR-DOS is able to boot off FAT12/FAT16 logical sectored media withlogical sector sizesup to 1024 bytes.
  4. ^This was a decision taken by the developer in question, who assumed his decision would be revised later, something that never happened.[41]
  5. ^A driver namedVFATappeared beforeWindows 95,inWindows for Workgroups3.11, but this older version was only used for implementing32-bit file accessand did not supportlong file names.

References

[edit]
  1. ^ab"File Systems".Microsoft TechNet.2001.Archivedfrom the original on 2011-08-12.Retrieved2011-07-31.
  2. ^abcdeMicrosoft (2006-11-15).Windows 95 CD-ROM CONFIG.TXT FileArchived2020-07-31 at theWayback MachineArticle 135481, Revision: 1.1, retrieved 2011-12-22: "For each hard disk, specifies whether to record the date that files are last accessed. Last access dates are turned off for all drives when your computer is started in safe mode, and are not maintained for floppy disks by default. Syntax:ACCDATE=drive1+|- [drive2+|-]..."
  3. ^abBhat, W. A. (2010)."Review of FAT data structure of FAT32 file system".Oriental Journal of Computer Science and Technology.3(1): 161–164.S2CID58178285.
  4. ^"Comparing NTFS and FAT file systems".Microsoft.Archivedfrom the original on 2016-06-20.Retrieved2014-01-27.
  5. ^"A brief introduction to FAT (File Allocation Table) formats".wizcode.Archived fromthe originalon September 25, 2015.RetrievedSeptember 24,2015.
  6. ^"Volume and File Structure of Disk Cartridges for Information Interchange".Standard ECMA-107 (2nd ed., June 1995).ECMA.1995.Archivedfrom the original on 2018-10-07.Retrieved2011-07-30.
  7. ^"Information technology – Volume and file structure of disk cartridges for information interchange".ISO/IEC 9293:1994.ISOcatalogue. 1994.Archivedfrom the original on 2012-01-17.Retrieved2012-01-06.
  8. ^"Information processing – Volume and file structure of flexible disk cartridges for information interchange".ISO 9293:1987.ISOcatalogue. 1987.Archivedfrom the original on 2012-01-17.Retrieved2012-01-06.
  9. ^Reynolds, Aaron R.;Adler, Dennis R.; Lipe, Ralph A.; Pedrizetti, Ray D.; Parsons, Jeffrey T.; Arun, Rasipuram V. (1998-05-26)."Common name space for long and short filenames".US Patent 5758352.Retrieved2012-01-19.[dead link]
  10. ^ab"Microsoft Extensible Firmware Initiative FAT32 File System Specification, FAT: General Overview of On-Disk Format".Microsoft.2011-03-30.Archivedfrom the original on 2021-07-23.Retrieved2018-12-21.
  11. ^"How to Convert a Drive from FAT32 to NTFS without Data Loss".WindowsLoop.2021-07-11.Archivedfrom the original on 2021-08-08.Retrieved2021-08-08.
  12. ^JEIDA/JEITA/CIPA (2010)."Standard of the Camera & Imaging Products Association, CIPA DC-009-Translation-2010, Design rule for Camera File system: DCF Version 2.0 (Edition 2010)"(PDF).Archived fromthe original(PDF)on September 30, 2013.Retrieved2011-04-13.
  13. ^abcdefghijXerox BASIC-80 – basic-80 reference manual(PDF).5.0.Microsoft,Xerox.1979. 610P70641.Archived(PDF)from the original on 2016-03-04.Retrieved2014-06-02.(NB. For Microsoft (Standalone Disk / Disk / Extended / 8K) BASIC-80, (Standalone Disk / Extended) BASIC-86, BASIC Compiler, release 5.0)
  14. ^abcdefghijMICROSOFT BASIC-80 version 5.0 reference manual / BASIC-80 Interpreter and Compiler Addendum Release 5.1(PDF).5.1.Microsoft.1979.Archived(PDF)from the original on 2016-03-04.Retrieved2014-06-02.(NB. For Microsoft (Standalone Disk / Disk / Extended / 8K) BASIC-80, (Standalone Disk / Extended) BASIC-86, BASIC Compiler, release 5.1)
  15. ^abcdefgDuncan, Ray; Bostwick, Steve; Burgoyne, Keith (1988).The MS-DOS Encyclopedia: versions 1.0 through 3.2(Completely reworked ed.). Redmond, Washington, USA:Microsoft Press.ISBN1-55615-049-0.LCCN87-21452.OCLC16581341.(xix+1570 pages; 26 cm) (NB. This edition was published in 1988 after extensive rework of the withdrawn 1986 first edition by a different team of authors.[1]Archived2018-10-14 at theWayback Machine)
  16. ^abManes, Stephen; Andrews, Paul (1993).Gates: How Microsoft's Mogul Reinvented an Industry—and Made Himself the Richest Man in America.Doubleday.ISBN0-385-42075-7.
  17. ^abcdHunter, David (1983)."Tim Paterson – The roots of DOS".Softalk for the IBM Personal Computer(March 1983). Archived fromthe originalon 2019-09-06.Retrieved2014-06-02.
  18. ^Schulman, Andrew;Brown, Ralf D.;Maxey, David; Michels, Raymond J.; Kyle, Jim (1994) [November 1993].Undocumented DOS: A programmer's guide to reserved MS-DOS functions and data structures - expanded to include MS-DOS 6, Novell DOS and Windows 3.1(2 ed.). Reading, Massachusetts:Addison Wesley.p.11.ISBN0-201-63287-X.(xviii+856+vi pages, 3.5 "-floppy) Errata:[2][3]
  19. ^abPaterson, Tim(2007-09-30)."Design of DOS".DosMan Drivel.Archivedfrom the original on 2013-01-20.Retrieved2011-07-04.
  20. ^Seattle Computer Products(August 1980)."86-DOS - 8086 OPERATING SYSTEM - $95".Byte(Advertisement). Vol. 5, no. 8.BYTE Publications Inc.p. 173.ISSN0360-5280.CODENBYTEDJ.Retrieved2013-08-18.[4]Archived2020-02-01 at theWayback Machine(NB. The SCP advertisement already calls the product86-DOS,but does not mention a specific version number. Version 0.3 is known to be called 86-DOS already, so the name change must have taken place either for version 0.2 or immediately afterwards in August 1980.)
  21. ^abcdSeattle Computer Products (1981)."SCP 86-DOS 1.0 Addendum"(PDF).Archived(PDF)from the original on 2012-10-03.Retrieved2013-03-10.
  22. ^Wallace, James; Erickson, Jim; (1992);Hard Drive: Bill Gates and the Making of the Microsoft Empire,John Wiley & Sons,ISBN0-471-56886-4
  23. ^Norton, Peter;(1986);Inside the IBM PC, Revised and Enlarged,Brady,ISBN0-89303-583-1,p. 157
  24. ^Jenkinson, Brian; Sammes, A. J. (2000).Forensic Computing: A Practitioner's Guide (Practitioner Series).Berlin: Springer. p.157.ISBN1-85233-299-9.... only 2^12 (that is, 4096) allocation units or clusters can be addressed. In fact, the number is less than this, since 000h and 001h are not used and FF0h to FFFh are reserved or used for other purposes, leaving 002h to FEFh (2 to 4079) as the range of possible clusters.
  25. ^Paterson, Tim (1983)."An Inside Look at MS-DOS".Byte.Archived fromthe originalon July 20, 2011.Retrieved2011-07-18.The numbering starts with 2; the first two numbers, 0 and 1, are reserved.
  26. ^IBM (1984).IBM PC DOS 3.0 announcement letter.
  27. ^IBM (1985).IBM PC DOS Technical Reference.First Edition, P/N 6024181, dated February 1985.
  28. ^"Microsoft Knowledge Base article:" MS-DOS Partitioning Summary "".Archivedfrom the original on 2018-06-12.Retrieved2018-06-02.
  29. ^abcFYI – Installing DR DOS on NEC DOS 3.3 Partitions,Novell, 1993-01-05, FYI.M.1101,archivedfrom the original on 2016-03-04,retrieved2014-08-12
  30. ^Brouwer, Andries."List of partition identifiers for PCs".Archivedfrom the original on 2019-04-23.Retrieved2012-01-11.
  31. ^"Q78407: Wyse DOS 3.3 Partitions Incompatible with MS-DOS 5.x and 6.x".Microsoft. 2000-12-17.[dead link]Alt URL
  32. ^"Q68176: Upgrading Pre-4.0 Systems with Logical Drive(s) > 32 MB".Microsoft. 2000-12-17.[dead link]Alt URL
  33. ^Brouwer, Andries."Properties of partition tables".Archivedfrom the original on 2019-04-23.Retrieved2012-01-11.
  34. ^abcdKuhnt, Udo; Georgiev, Luchezar I.; Davis, Jeremy (2007)."FAT+ draft revision 2"(2 ed.). Archived fromthe original(FATPLUS.TXT)on 2015-02-19.Retrieved2015-08-05.
  35. ^"Dskprobe Overview: Data Recovery".Microsoft TechNet.2003-03-28.Archivedfrom the original on 2011-07-03.Retrieved2011-08-03.
  36. ^"Errors Creating Files or Folders in the Root Directory".Microsoft Help and Support. 2004-12-16.Archivedfrom the original on 2020-07-31.Retrieved2006-10-14.
  37. ^"mkdosfs man page".Archivedfrom the original on 2006-10-07.Retrieved2006-11-21.
  38. ^"Windows 98 Resource Kit – Chapter 10 – Disks and File Systems".Microsoft TechNet.1998.Archivedfrom the original on 2012-05-01.Retrieved2012-07-16.
  39. ^"Limitations of FAT32 File System".Microsoft Knowledge Base.2007-03-26.Archivedfrom the original on 2020-07-31.Retrieved2011-08-21.Clusters cannot be 64 kilobytes (KB) or larger
  40. ^"Limitations of the FAT32 File System in Windows XP".Microsoft Knowledge Base.2007-12-01.Archivedfrom the original on 2020-07-31.Retrieved2011-08-21.
  41. ^"Explained: The thinking behind the 32GB Windows Format limit on FAT32".
  42. ^Glenn, Walter (2017-07-20)."How to Format USB Drives Larger Than 32GB With FAT32 on Windows".How-To Geek.Archivedfrom the original on 2021-01-26.Retrieved2021-01-26.
  43. ^abREADME.TXT – Caldera DR-DOS FAT32 Enabled Boot Disk (DRFAT32).Caldera, Inc. 1998-07-24.
  44. ^DRFAT32.SYS R1.00 INT 13h Interface for FAT32 Redirector,Caldera, Inc., 1998-09-11
  45. ^IBM;4690 OS User's Guide Version 5.2,IBM document SC30-4134-01, 2008-01-10 ([5]Archived2022-01-25 at theWayback Machine)
  46. ^Karpowitz, Christina (1998-09-23)."PowerQuest PartitionMagic 4.0 now available".PowerQuest.Archived fromthe originalon 1999-02-08.Retrieved2015-04-17.
  47. ^Livingston, Brian (1998-10-28)."FAT-32X may operate differently than FAT-32 on large hard drives".InfoWorld.Vol. 20, no. 43.Archivedfrom the original on 2015-11-12.Retrieved2015-04-17.
  48. ^abDuitz, Neal (2001-07-17)."Can anyone explain FAT32X?".Win98 Private FAQ, Windows 98 Consumer Preview Program. Archived fromthe originalon 2004-06-13.Retrieved2015-04-17.
  49. ^abCostanzo, Lance (1998-05-14)."FAT32X".Archived fromthe originalon 1998-05-21.Retrieved2015-04-17.
  50. ^Steinberg, David (1998-05-01)."What is a FAT32X partition?".Tech Tip / FAQ.PowerQuestTechnical Support.Archivedfrom the original on 2015-09-21.Retrieved2015-04-17.
  51. ^Eager, Bob; Tavi Systems (October 28, 2000);Implementation of extended attributes on the FAT file system([6]ArchivedJune 13, 2006, at theWayback Machine)
  52. ^Kelder, Henk; (2003);FAT32.TXT for FAT32.IFS version 0.9.13. "([7]Archived2013-05-11 at theWayback Machine): "This byte [...] is not modified while runningWindows 95and neighter[sic]bySCANDISKorDEFRAG.[...] If another program sets the value to0x00for a file that hasEAsthese EAs will no longer be found using DosFindFirst/Next calls only. The otherOS/2calls for retrieving EAs (DosQueryPathInfo, DosQueryFileInfo and DosEnumAttribute) do not rely on this byte. Also the opposite could [...] occur. [...] In this situation only the performance of directory scans will be decreased. Both situations [...] are corrected byCHKDSK".
  53. ^Kelder, Henk;FAT32.TXT for FAT32.IFS version 0.74("@Macarlo, Inc".Archived fromthe originalon March 30, 2012.RetrievedJanuary 14,2012.). Comment: This older version of the README file still discusses the old0xEAand0xECmagic values.
  54. ^Eager, Bob (2000-10-28)."Implementation of extended attributes on the FAT file system".Tavi OS/2 pages.Archived fromthe originalon 2006-06-13.Retrieved2006-10-14.
  55. ^IBM;4690 OS Programming Guide Version 5.2,IBM document SC30-4137-01, 2007-12-06 ([8]Archived2022-01-25 at theWayback Machine)
  56. ^"Release notes for v2.5.7".The Linux Kernel archives. 2002-03-12.Archivedfrom the original on 2006-04-15.Retrieved2006-10-14.
  57. ^Kuhnt, Udo (2011-07-21)."DR-DOS/OpenDOS Enhancement Project".Archivedfrom the original on 2016-07-06.Retrieved2015-04-20.
  58. ^"FATX Specification".free60 wiki.Archivedfrom the original on 2018-07-26.Retrieved2011-08-16.
  59. ^de Quincey, Andrew; Murray-Pitts, Lucien (2008-08-29)."Xbox partitioning and file system details".0.13. Xbox-Linux project. Archived fromthe originalon 2010-06-17.Retrieved2014-05-25.
  60. ^Steil, Michael (2008-02-26) [2003]."Differences between Xbox FATX and MS-DOS FAT".Xbox-Linux project. Archived fromthe originalon 2010-06-17.Retrieved2014-05-25.
  61. ^Microsoft."exFAT File System Intellectual Property licensing program".Microsoft.Archived fromthe originalon May 7, 2013.Retrieved2013-04-23.
  62. ^"Reverse Engineering the Microsoft exFAT File System | SANS Institute".Archivedfrom the original on 2021-04-21.Retrieved2021-03-20.
  63. ^"exFAT in the Linux kernel? Yes!".Microsoft Open Source Blog.2019-08-28.Archivedfrom the original on 2019-09-01.Retrieved2019-10-06.
  64. ^abUS 5579517,Reynolds, Aaron R.; Adler, Dennis R. & Lipe, Ralph A. et al., "Common name space for long and short filenames", issued 1996
  65. ^US 5745902,Miller, Thomas J. & Kimura, Gary D., "Method and system for accessing a file using file names having different file name formats", issued 1998
  66. ^abUS 5758352,Reynolds, Aaron R.; Adler, Dennis R. & Lipe, Ralph A. et al., "Common name space for long and short filenames", issued 1998
  67. ^US 6286013,Reynolds, Aaron R.; Adler, Dennis R. & Lipe, Ralph A. et al., "Method and system for providing a common name space for long and short file names in an operating system", issued 1996
  68. ^MicrosoftArchivedAugust 22, 2009, at theWayback Machine
  69. ^"FAT File System".Intellectual Property Licensing.Microsoft. Archived fromthe originalon 2016-09-21.
  70. ^Garrett, Matthew (2012-01-19)."EFI and Linux: the future is here, and it's awful".linux.conf.au.YouTube.Archivedfrom the original on 2021-11-02.Retrieved2014-01-12.
  71. ^US 5367671,Feigenbaum, Barry A. & Miro, Felix, "System for accessing extended object attribute (EA) data through file name or EA handle linkages in path tables", issued 1994
  72. ^Ravicher, Daniel B. (2004-04-15)."PUBPAT's Request for Reexamination of Microsoft's FAT Patent"(PDF).Public Patent Foundation.Archived(PDF)from the original on 2013-06-07.Retrieved2014-01-12.
  73. ^USPTO(2004-09-30)."Patent Office's Office Action Rejecting Microsoft FAT Patent"(PDF).Public Patent Foundation.Archived(PDF)from the original on 2013-05-26.Retrieved2014-01-12.
  74. ^Broache, Anne (2006-01-10)."Microsoft's file system patent upheld".CNET News.Archivedfrom the original on 2016-05-03.Retrieved2016-04-07.
  75. ^Paul, Ryan (2009-02-25)."Microsoft suit over FAT patents could open OSS Pandora's Box".arstechnica.Archivedfrom the original on 2009-02-27.Retrieved2009-02-28.
  76. ^Fried, Ina (2009-03-30)."Microsoft, TomTom settle patent dispute".cnet.Archivedfrom the original on 2009-08-05.Retrieved2009-08-22.
  77. ^"Microsoft Motorola Patent Suit".2010-10-01.Archivedfrom the original on 2010-10-06.Retrieved2010-10-02.
  78. ^Protalinski, Emil (2010-10-01)."Microsoft sues Motorola, citing Android patent infringement".arstechnica.Archivedfrom the original on 2010-10-02.Retrieved2010-10-02.
  79. ^Paul, Ryan (2009-07-02)."New Linux patch could circumvent Microsoft's FAT patents".ArsTechnica.Archivedfrom the original on 2013-11-01.Retrieved2013-10-30.
  80. ^Brown, Eric (2009-07-02)."Can FAT patch avoid Microsoft lawsuits?".DesktopLinux.Com. Archived fromthe originalon 2013-01-31.Retrieved2009-08-23.
  81. ^[9],"Common name space for long and short filenames", issued 1994-03-31"EP0618540B1 - Common name space for long and short filenames - Google Patents".Archived from the original on 2020-03-28.Retrieved2021-05-07.{{cite web}}:CS1 maint: bot: original URL status unknown (link)
  82. ^Müller, Florian (2013-12-05)."Federal Patent Court of Germany invalidates Microsoft FAT patent, appeals court may disagree".FOSS Patents.Archivedfrom the original on 2014-01-04.Retrieved2014-01-12.
  83. ^Labesius, Stefan (2017-05-28)."Bundespatentgericht erklärt VFAT-Patent erneut für nichtig".ifrOSS.Archivedfrom the original on 2019-08-02.Retrieved2019-08-02.
[edit]