ExFAT

Last updated
exFAT
Developer(s) Microsoft
Full nameExtensible File Allocation Table
IntroducedNovember 2006;17 years ago (2006-11) with Windows Embedded CE 6.0
Partition IDs
  • MBR/EBR: 0x07 (same as for HPFS/NTFS)
  • BDP/GPT: EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
Structures
Directory contentsTable
File allocation bitmap, linked list
Bad blocksCluster tagging
Limits
Max volume size128  PB, 512  TB  recommended [1] [nb 1]
Max file size128 PB [nb 2]
Max no. of filesup to 2,796,202 per directory [2]
Max filename length255 characters
Allowed filename
characters
all Unicode characters except U+0000 (NUL) through U+001F (US)/ (slash)\ (backslash): (colon)* (asterisk)? (question mark)" (quote)< (less than)> (greater than) and | (pipe)
(encoding in UTF-16LE)[ citation needed ]
Features
Dates recordedCreation, last modified, last access
Date range1980-01-01 to 2107-12-31
Date resolution10 ms
Forks No
AttributesRead-only, hidden, system, subdirectory, archive
File system
permissions
ACL (Windows CE 6 only)
Transparent
compression
No
Transparent
encryption
Yes, EFS supported in Windows 10 v1607 and Windows Server 2016 or later.
Other
Supported
operating systems

exFAT (Extensible File Allocation Table) is a file system introduced by Microsoft in 2006 and optimized for flash memory such as USB flash drives and SD cards. [6] exFAT was proprietary until 28 August 2019, when Microsoft published its specification. [7] Microsoft owns patents on several elements of its design. [2]

Contents

exFAT can be used where NTFS is not a feasible solution (due to data-structure overhead), but where a greater file-size limit than that of the standard FAT32 file system (i.e. 4  GB) is required.

exFAT has been adopted by the SD Association as the default file system for SDXC cards larger than 32  GB.

Windows 8 and later versions natively support exFAT boot, and support the installation of the system in a special way to run in the exFAT volume. [8]

History

exFAT was introduced in late 2006 as part of Windows CE 6.0, an embedded Windows operating system. Support was added to regular Windows with Windows Vista Service Pack 1 and Windows Server 2008, both released on February 4, 2008. An update for Windows XP and Windows Server 2003 was later released.

Most of the vendors signing on for licenses are manufacturers of embedded systems or device manufacturers that produce media formatted with exFAT. The entire File Allocation Table (FAT) family, exFAT included, is used for embedded systems because it is lightweight and is better suited for solutions that have low memory and low power requirements, and can be easily implemented in firmware.

Features

Because file size references are stored in eight instead of four bytes, the file size limit has increased to 16 exabytes (EB) (264 − 1 bytes, or about 1019 bytes, which is otherwise limited by a maximum volume size of 128 PB, [nb 2] or 257 − 1 bytes), raised from 4 GB (232 − 1 bytes) in a standard FAT32 file system. [1] Therefore, for the typical user, this enables seamless interoperability between Windows and macOS platforms for files in excess of 4 GB.

Other specifications, features, and requirements of the exFAT file system include:

Windows XP requires update KB955704 to be installed, and Windows Vista requires its SP1 installed. [15] [16] [17] Windows Vista is unable to use exFAT drives for ReadyBoost. Windows 7 removes this limitation, enabling ReadyBoost caches larger than 4 GB. [18] Windows 10 only allows formatting exFAT and NTFS on non-removeable volumes sized larger than 32 GB with the default user interface, and FAT32 format is suggested for smaller volumes; command-line utilities don't accept quick format using FAT32 if volume is larger than 32 GB.

The standard exFAT implementation is not journaled and only uses a single file allocation table and free-space map. FAT file systems instead used alternating tables, as this allowed recovery of the file system if the media was ejected during a write (which occurs frequently in practice with removable media). The optional TexFAT component adds support for additional backup tables and maps, but may not be supported.

The exFAT format allows individual files larger than 4 GB, facilitating long continuous recording of HD video, which can exceed the 4 GB limit in less than an hour. Current digital cameras using FAT32 will break the video files into multiple segments of approximately 2 or 4 GB.

EFS supported in Windows 10 v1607 and Windows Server 2016 or later. [19]

Efficiency

SDXC cards running at UHS-I have a minimum guaranteed write speed of 10 MB/s, and exFAT plays a factor in achieving this throughput through the reduction of the file-system overhead in cluster allocation. This is achieved through the introduction of a separate cluster bitmap where the reservation state of each cluster (reserved/free) is tracked by only one bit, reducing writes to the much larger FAT that originally served this purpose.

Additionally, a single bit in the directory record indicates that the file is contiguous (unfragmented), telling the exFAT driver to ignore the FAT. This optimization is analogous to an extent in other file systems, except that it only applies to whole files, as opposed to contiguous parts of files.

Adoption

exFAT is supported in Windows XP and Windows Server 2003 with update KB955704, [1] Windows Vista Service Pack 1 and later, [20] Windows Server 2008 and later (except Server Core), [21] macOS starting from 10.6.5, Linux via FUSE or natively starting from kernel 5.4, and iPadOS as well as iOS starting from 13.1. [22] [23] [24]

Companies can integrate exFAT into a specific group of consumer devices, including cameras, camcorders, and digital photo frames for a flat fee. Mobile phones, PCs, and networks have a different volume pricing model. [6]

exFAT is supported in a number of media devices such as modern flat-panel TVs, [25] media centers, and portable media players. [26]

exFAT is the official file system of SDXC cards. Because of this, any device not supporting exFAT, such as the Nintendo 3DS, may not legally advertise itself as SDXC compatible, despite supporting SDXC cards as mass storage devices by formatting the card with FAT32 or a proprietary file system tied to the device in question.

Some vendors of other flash media, including USB pen drives, compact flash (CF) and solid-state drives (SSD) ship some of their high-capacity media pre-formatted with the exFAT file system to ensure compatibility with any given device. For example, Sandisk ships their 256 GB CF cards as exFAT.

Microsoft has entered into licensing agreements with BlackBerry, [27] [28] Panasonic, Sanyo, Sony, Canon, Aspen Avionics, [29] Audiovox, Continental, Harman, LG Automotive [30] and BMW. [31]

Mac OS X Snow Leopard 10.6.5 and later can create, read, write, verify, and repair exFAT file systems. [22] [23]

Linux has support for exFAT via FUSE since 2009. [4] In 2013, Samsung Electronics published a Linux driver for exFAT under GPL. [32] On 28 August 2019, Microsoft published the exFAT specification [7] and released the patent to the Open Invention Network members. [33] The Linux kernel introduced native exFAT support with the 5.4 release in November 2019. [34]

ChromeOS can read and write to exFAT partitions. [35]

Technical specifications

Default exFAT cluster sizes in Windows
Volume
size
Cluster
size
Cluster
count
7 MB to <256 MB4 KB<65,536
256 MB to <32 GB32 KB<1,048,576
32 GB to <512 GB [upper-alpha 1] [upper-alpha 2] 128 KB<4,194,304
512 GB to <1 TB256 KB
1 TB to <2 TB512 KB
2 TB to <4 TB1 MB
4 TB to <8 TB2 MB
8 TB to <16 TB4 MB
16 TB to <32 TB8 MB
32 TB to <64 TB16 MB
64 TB to <512 TB32 MB<16,777,216
Notes:
  1. Windows 8/10 defaults to exFAT on volumes sized ≥32 GB, and FAT32 on volumes <32 GB.
  2. Windows XP/Vista/7 defaults to 128 KB clusters for volumes sized ≥32 GB.

File name lookup

exFAT employs a filename hash-based lookup phase to speed certain cases, which is described in US patent Quick File Name Lookup Using Name Hash. [2] Appendix A of the document contains details helpful in understanding the file system.

File and cluster pre-allocation

Like NTFS, exFAT can pre-allocate disk space for a file by just marking arbitrary space on disk as "allocated". For each file, exFAT uses two separate 64-bit fields in the directory: the valid data length (VDL), which indicates the real size of the file, and the physical data length.

To provide improvement in the allocation of cluster storage for a new file, Microsoft incorporated a method to pre-allocate contiguous clusters and bypass the use of updating the FAT table, which was patented December 10, 2013. [36] One feature of exFAT (used in the exFAT implementation within embedded systems) provides atomic transactions for the multiple steps of updating the file-system metadata. The feature called Transaction Safe FAT, or TexFAT, was granted a patent on November 3, 2009. [37]

Directory file set

exFAT and the rest of the FAT family of file systems do not use indexes for file names, unlike NTFS, which uses B-trees for file searching. When a file is accessed, the directory must be sequentially searched until a match is found. For file names shorter than 16 characters in length, one file name record is required but the entire file is represented by three 32-byte directory records. This is called a directory file set, and a 256 MB sub-directory can hold up to 2,796,202 file sets. (If files have longer names, this number will decrease, but this is the maximum based on the minimal three-record file set.) To help improve the sequential searching of the directories (including the root) a hash value of the file name is derived for each file and stored in the directory record. When searching for a file, the file name is first converted to upper case using the upcase table (file names are case-insensitive) and then hashed using a proprietary patented algorithm into a 16-bit (2-byte) hash value. Each record in the directory is searched by comparing the hash value. When a match is found, the file names are compared to ensure that the proper file was located in case of hash collisions. This improves performance because only 2 bytes have to be compared for each file. This significantly reduces the CPU load because most file names are more than 2 characters (bytes) in size and virtually every comparison is performed on only 2 bytes at a time until the intended file is located.

Metadata and checksums

exFAT introduces metadata integrity through the use of checksums. There are three checksums currently in use.

  1. The volume boot record (VBR) is a 12-sector region that contains the boot records, BIOS parameter block (BPB), OEM parameters and the checksum sector. (There are two VBR type regions, the main VBR and the backup VBR.) The checksum sector is a checksum of the previous 11 sectors, with the exception of three bytes in the boot sector (flags and percent used). This provides integrity of the VBR by determining whether the VBR was modified. The most common cause could be a boot-sector virus, but this would also catch any other corruption to the VBR.
  2. A second checksum is used for the upcase table. This is a static table and should never change. Any corruption in the table could prevent files from being located because this table is used to convert the filenames to upper case when searching to locate a file.
  3. The third checksum is in the directory file sets. Multiple directory records are used to define a single file, and this is called a file set. This file set has metadata including the file name, time stamps, attributes, address of first cluster location of the data, file lengths, and the file name. A checksum is taken over the entire file set, and a mismatch would occur if the directory file set was accidentally or maliciously changed.

When the file system is mounted, and the integrity check is conducted, these hashes are verified. Mounting also includes comparison of the version of the exFAT file system by the driver to make sure the driver is compatible with the file system it is trying to mount, and to make sure that none of the required directory records are missing (for example, the directory record for the upcase table and allocation bitmap are required, and the file system can't run if they are missing). If any of these checks fail, the file system should not be mounted, although in certain cases it may mount read-only.

The file system provides extensibility through template-based metadata definitions using generic layouts and generic patterns. [38] [39]

Flash optimizations

exFAT contains a few features that, according to Microsoft, makes it flash-friendly:

The first feature requires support from the formatting software. Compliant implementations will follow existing offsets. The OEM parameter may be ignored. Implementations may also use TRIM to reduce wear.

Flash device features in exFAT implementations
Boundary alignment (format)OEM parameters (use)TRIM (use)Note
Windows CEYesYesUn­known
Windows Desktop and ServerYesYesNo
Linux kernelsince 5.7 [41] ignoredsince 5.13 [42] exfatprogs [43] is assumed to be used for formatting.

Other implementations

exFAT was a proprietary file system until 2019, when Microsoft released the specification and allowed OIN members to use their patents. [44] This lack of documentation along with the threat of a patent infringement lawsuit, as happened previously when Microsoft sued various companies over the VFAT long file name patent (before it expired), hampered the development of free and open-source drivers for exFAT, and led to a situation where Linux distributions could not even tell users how to get an exFAT driver. Accordingly, exFAT official support was effectively limited to Microsoft's own products and those of Microsoft's licensees. This, in turn, inhibited exFAT's adoption as a universal exchange format, as it was safer and easier for vendors to rely on FAT32 than it was to pay Microsoft or risk being sued.

Interoperability requires that certain results be achieved in a particular, predefined way (an algorithm). For exFAT, this potentially requires every implementation to perform certain procedures in exactly the same way as Microsoft's implementation. Some of the procedures used by Microsoft's implementation are patented, and these patents are owned by Microsoft. [45] A license to use these algorithms can be purchased from Microsoft, [46] [45] and some companies  including Apple, Google and Samsung   have done so. [47] However, in the open-source ecosystem, users have typically responded to vendors being unwilling to pay for patent licenses by procuring an implementation for themselves from unofficial sources. For example, this is what happened with LAME when MP3 patents were still valid. (Alternatively, the user may decide that the feature is unimportant to them.)

Regardless of whether open-source or not, Microsoft stated that "a license is required in order to implement exFAT and use it in a product or device". [45] Unlicensed distribution of an exFAT driver would make the distributor liable for financial damages if the driver is found to have violated Microsoft's patents. [48] [49] While the patents may not be enforceable, this can only be determined through a legal process, which is expensive and time-consuming. It may also be possible to achieve the intended results without infringing Microsoft's patents. [50] In October 2018, Microsoft released 60,000 patents to the Open Invention Network members for Linux systems, but exFAT patents were not initially included at the time. There was, however, discussion within Microsoft over whether Microsoft should allow exFAT in Linux devices, [51] [52] which eventually resulted in Microsoft publishing the official specification for open usage [7] and releasing the exFAT patents to the OIN in August 2019. [33]

List of implementations

A FUSE-based implementation named fuse-exfat, or exfat-fuse, [4] with read/write support is available for FreeBSD, multiple Linux distributions, and older versions of Mac OS X. It supports TRIM. [53] [54] [55] [56] [57] An implementation called exFATFileSystem, based on fuse-exfat, is available for AmigaOS 4.1. [58]

A Linux kernel implementation by Samsung Electronics is available. [59] It was initially released on GitHub unintentionally, [60] and later released officially by Samsung in compliance with the GPLv2 in 2013. [61] [62] (This release does not make exFAT royalty-free, as licensing from Samsung does not remove Microsoft's patent rights.) [63] [64] A version of this driver was first incorporated into version 5.4 of the Linux kernel. [65] [66] [67] A much newer version of the driver, with several bug fixes and improved reliability, was incorporated into kernel 5.7. [68] [41] Prior to its being merged into the Linux kernel, this newer version had already seen adoption on Android smartphones and continued to be used on both Linux and Android thereafter. [69] [70]

Proprietary read/write solutions licensed and derived from the Microsoft exFAT implementation are available for Android, [71] Linux, and other operating systems from Paragon Software Group and Tuxera.

XCFiles (from Datalight) is a proprietary, full-featured implementation, intended to be portable to 32-bit systems. [72] Rtfs (from EBS Embedded Software) is a full-featured implementation for embedded devices. [73]

Two experimental, unofficial solutions are available for DOS. The loadable USBEXFAT driver requires Panasonic's USB stack for DOS and only works with USB storage devices; the open-source EXFAT executable is an exFAT file-system reader and requires the HX DOS extender to work. [74] There are no native exFAT real-mode DOS drivers, which would allow usage of, or booting from, exFAT volumes.

The renaming of ExFAT file system labels is natively supported by Microsoft Windows Explorer, while Linux relies on the exfatlabel and tune.exfattools (both part of exfatprogs). [75]

See also

Notes

  1. 1 2 The theoretical maximum volume size is defined by up to 232  11 possible clusters with up to 225 bytes per cluster ≈ 128 PB. The cluster count is limited to 32-bit integers. The cluster size is not limited by data type; it's probably set in consideration of the LBA48 addressing scheme, as with a 512-byte sector size, only 248 × 512 = 257 bytes = 128 PB can be addressed.
  2. 1 2 Although Microsoft published a different value in KB955704, the file size is in bytes and is stored as a 64-bit number. The largest theoretical file size would be 16 EB  1 byte, the same as in NTFS. However, since the maximum volume size under the current specification cannot exceed ~128 PB, a file can never reach that file length.
  3. This limit applies because the maximum directory size is 256 MB.
  4. 1 2 268,304,373 files = 228 − 11 reserved clusters − 131,072, the minimum number of 64 KB clusters occupied for the 268,435,445 directory entries (32 bytes) without VFAT LFNs, which are required for 268,435,445 files with sizes between 1 and 65,535 bytes. With VFATs, the 131,072 number must be multiplied by 21 (worst case), which would result in 265,682,933 files instead.

Related Research Articles

New Technology File System (NTFS) is a proprietary journaling file system developed by Microsoft. Starting with Windows NT 3.1, it is the default file system of the Windows NT family. It superseded File Allocation Table (FAT) as the preferred filesystem on Windows and is supported in Linux and BSD as well. NTFS reading and writing support is provided using a free and open-source kernel implementation known as NTFS3 in Linux and the NTFS-3G driver in BSD. By using the convert command, Windows can convert FAT32/16/12 into NTFS without the need to rewrite all files. NTFS uses several files typically hidden from the user to store metadata about other files stored on the drive which can help improve speed and performance when reading data. Unlike FAT and High Performance File System (HPFS), NTFS supports access control lists (ACLs), filesystem encryption, transparent compression, sparse files and file system journaling. NTFS also supports shadow copy to allow backups of a system while it is running, but the functionality of the shadow copies varies between different versions of Windows.

File Allocation Table (FAT) is a file system developed for personal computers and was the default filesystem for MS-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 drives capacity required three major variants: FAT12, FAT16 and FAT32. FAT was replaced with NTFS as the default file system on Microsoft operating systems starting with Windows XP. Nevertheless, FAT continues to be used on flash and other solid-state memory cards and modules, many portable and embedded devices because of its compatibility and ease of implementation.

Linux has several filesystem drivers for the File Allocation Table (FAT) filesystem format. These are commonly known by the names used in the mount command to invoke particular drivers in the kernel: msdos, vfat, and umsdos.

<span class="mw-page-title-main">GNU GRUB</span> Boot loader package

GNU GRUB is a boot loader package from the GNU Project. GRUB is the reference implementation of the Free Software Foundation's Multiboot Specification, which provides a user the choice to boot one of multiple operating systems installed on a computer or select a specific kernel configuration available on a particular operating system's partitions.

Large-file support (LFS) is the term frequently applied to the ability to create files larger than either 2 or 4 GiB on 32-bit filesystems.

X.Org Server is the free and open-source implementation of the X Window System (X11) display server stewarded by the X.Org Foundation.

The Installable File System (IFS) is a filesystem API in MS-DOS/PC DOS 4.x, IBM OS/2 and Microsoft Windows that enables the operating system to recognize and load drivers for file systems.

<span class="mw-page-title-main">UEFI</span> Operating system and firmware specification

Unified Extensible Firmware Interface is a specification that defines the architecture of the platform firmware used for booting the computer hardware and its interface for interaction with the operating system. Examples of firmware that implement the specification are AMI Aptio, Phoenix SecureCore, TianoCore EDK II, InsydeH2O. UEFI replaces the BIOS which was present in the boot ROM of all personal computers that are IBM PC compatible, although it can provide backwards compatibility with the BIOS using CSM booting. Intel developed the original Extensible Firmware Interface (EFI) specification. Some of the EFI's practices and data formats mirror those of Microsoft Windows. In 2005, UEFI deprecated EFI 1.10.

The Direct Rendering Manager (DRM) is a subsystem of the Linux kernel responsible for interfacing with GPUs of modern video cards. DRM exposes an API that user-space programs can use to send commands and data to the GPU and perform operations such as configuring the mode setting of the display. DRM was first developed as the kernel-space component of the X Server Direct Rendering Infrastructure, but since then it has been used by other graphic stack alternatives such as Wayland and standalone applications and libraries such as SDL2 and Kodi.

<span class="mw-page-title-main">Free and open-source graphics device driver</span> Software that controls computer-graphics hardware

A free and open-source graphics device driver is a software stack which controls computer-graphics hardware and supports graphics-rendering application programming interfaces (APIs) and is released under a free and open-source software license. Graphics device drivers are written for specific hardware to work within a specific operating system kernel and to support a range of APIs used by applications to access the graphics hardware. They may also control output to the display if the display driver is part of the graphics hardware. Most free and open-source graphics device drivers are developed by the Mesa project. The driver is made up of a compiler, a rendering API, and software which manages access to the graphics hardware.

DriveSpace is a disk compression utility supplied with MS-DOS starting from version 6.0 in 1993 and ending in 2000 with the release of Windows Me. The purpose of DriveSpace is to increase the amount of data the user could store on disks by transparently compressing and decompressing data on-the-fly. It is primarily intended for use with hard drives, but use for floppy disks is also supported. This feature was removed in Windows XP and later.

The following tables compare general and technical information for a number of file systems.

The Linux Unified Key Setup (LUKS) is a disk encryption specification created by Clemens Fruhwirth in 2004 and originally intended for Linux.

In Unix-like operating systems, a device file or special file is an interface to a device driver that appears in a file system as if it were an ordinary file. There are also special files in DOS, OS/2, and Windows. These special files allow an application program to interact with a device by using its device driver via standard input/output system calls. Using standard system calls simplifies many programming tasks, and leads to consistent user-space I/O mechanisms regardless of device features and functions.

<span class="mw-page-title-main">Mode setting</span>

Mode setting is a software operation that activates a display mode for a computer's display controller by using VESA BIOS Extensions or UEFI Graphics extensions.

<span class="mw-page-title-main">Tuxera</span> Finnish software company

Tuxera Inc. is a Finnish company that develops and sells file systems, flash management and networking software. The company was founded in 2008 and is headquartered in Espoo, Finland. Tuxera's other offices are located in the US, South Korea, Japan, Hungary, Germany, Taiwan and China.

The FAT file system is a file system used on MS-DOS and Windows 9x family of operating systems. It continues to be used on mobile devices and embedded systems, and thus is a well suited file system for data exchange between computers and devices of almost any type and age from 1981 through the present.

<span class="mw-page-title-main">Windows Subsystem for Linux</span> Compatibility layer for running Linux binary executables natively on Windows

Windows Subsystem for Linux (WSL) is a feature of Windows that allows developers to run a Linux environment without the need for a separate virtual machine or dual booting. There are two versions of WSL: WSL 1 and WSL 2. WSL 1 was first released on August 2, 2016, and acts as a compatibility layer for running Linux binary executables by implementing Linux system calls on the Windows kernel. It is available on Windows 10, Windows 10 LTSB/LTSC, Windows 11, Windows Server 2016, Windows Server 2019 and Windows Server 2022.

EROFS is a lightweight read-only file system initially developed by Huawei for the Linux kernel and now maintained by an open-source community from all over the world.

References

  1. 1 2 3 4 5 "KB955704". January 27, 2009. Archived from the original on May 24, 2011. Retrieved January 27, 2009. Description of the exFAT file system driver update package [for Windows XP and Windows Server 2003]
  2. 1 2 3 4 5 US 8321439,Pudipeddi, Ravisankar V.; Ghotge, Vishal V.& Thind, Ravinder S.,"Quick filename lookup using name hash",published 2012-11-27, assigned to Microsoft Corp. ; contains Microsoft exFAT specification (revision 1.00).
  3. corbet (2019-11-25). "The 5.4 kernel has been released". LWN.net. Retrieved 2019-12-01.
  4. 1 2 3 "exfat -Free exFAT file system implementation". GitHub . Archived from the original on December 31, 2015. Retrieved October 14, 2015.
  5. Eric Slivka (2010-11-11). "Mac OS X 10.6.5 Notes: exFAT Support, AirPrint, Flash Player Vulnerability Fixes". MacRumors. Retrieved 2023-12-26.
  6. 1 2 Marius Oiaga (December 11, 2009). "Microsoft Licenses Windows 7's exFAT Flash File Format". Softpedia.com. Archived from the original on December 14, 2009. Retrieved December 12, 2009.
  7. 1 2 3 Microsoft (August 28, 2019). "exFAT Specification". Archived from the original on 2020-07-19.
  8. Install Windows 11 on exFAT partition , retrieved 2022-07-10
  9. "File System Functionality Comparison". Microsoft. Archived from the original on April 7, 2015. Retrieved February 26, 2015..
  10. "Limitations of the FAT32 File System in Windows XP". Microsoft. December 1, 2007. Archived from the original on February 24, 2015. Retrieved February 11, 2011.
  11. Nash, Mike (October 24, 2008). "Windows Vista Service Pack 2 Beta". The Windows Blog. Archived from the original on May 9, 2013.
  12. "A Second Shot: Windows Vista SP1". Archived from the original on December 2, 2008. Retrieved November 5, 2013.
  13. "Licensing exFAT". Microsoft . Archived from the original on March 2, 2017. Retrieved March 1, 2017.
  14. "OEM Parameter Definition with exFAT (Windows Embedded CE 6.0)". Archived from the original on December 3, 2013. Retrieved November 25, 2013.
  15. 1 2 "Description of the exFAT file system driver update package". Microsoft. Archived from the original on February 26, 2015. Retrieved February 26, 2015.
  16. "Information about support for exFAT under Windows Vista". Microsoft . Archived from the original on May 7, 2013.
  17. "Download Windows Vista Service Pack 1 Five Language Standalone (KB936330) from Official Microsoft Download Center". Microsoft. Archived from the original on February 26, 2015. Retrieved February 26, 2015.
  18. "exFAT Versus FAT32 Versus NTFS". February 27, 2008. Archived from the original on January 29, 2013. Retrieved October 2, 2009.
  19. "[MS-FSCC]: Appendix B: Product Behavior". msdn.microsoft.com. Retrieved 2017-10-02.
  20. LeBlanc, Brandon (August 28, 2007). "Vista SP1 Whitepaper". Microsoft. Archived from the original on September 2, 2007. Retrieved August 28, 2007.
  21. "Adding Hard Disk Drives". Microsoft TechNet. Retrieved September 15, 2009.
  22. 1 2 "Mac OS X 10.6.5 Notes: exFAT Support, AirPrint, Flash Player Vulnerability Fixes". 11 November 2010. Archived from the original on June 18, 2013. Retrieved November 25, 2013.[ unreliable source? ]
  23. 1 2 "fsck_exfat(8) Mac OS X Manual Page". Archived from the original on June 2, 2012. Retrieved November 25, 2013.
  24. O'Hara, Andrew (June 7, 2019). "How to use external storage on iPad and iPhone with iOS 13". AppleInsider. Archived from the original on 2019-08-02. Retrieved 2020-02-26.
  25. "exFAT support on Sony". Archived from the original on February 19, 2012. Retrieved January 6, 2013.
  26. Hamm, Jeff (2009). "Extended FAT File System" (PDF). Paradigm Solutions. Archived (PDF) from the original on March 14, 2016. Retrieved April 9, 2013.
  27. "Microsoft Licenses exFAT to Research In Motion". Tom's Hardware. September 20, 2012.
  28. "Microsoft Signs Licensing Agreement With Research In Motion" (Press release). Microsoft. 18 September 2012. Archived from the original on 10 September 2014. Retrieved 17 March 2015.
  29. "Microsoft Signs Patent Licensing Agreement With Aspen Avionics" (Press release). Microsoft. Archived from the original on 2013-05-15. Retrieved 2013-05-13.
  30. "In-vehicle infotainment gets boost from new Microsoft exFAT file system deals". Stories. June 19, 2013. Archived from the original on July 28, 2019. Retrieved July 28, 2019.
  31. "Microsoft Signs exFAT Licensing Agreement With BMW" (Press release). Microsoft. Archived from the original on 2013-01-19. Retrieved 2013-01-17.
  32. "Conservancy Helps Samsung Resolve GPL Compliance Matter Amicably". Software Freedom Conservancy. Archived from the original on 2019-02-03. Retrieved 2019-03-15.
  33. 1 2 John Gossman (2019-08-28). "exFAT in the Linux kernel? Yes!". Microsoft. Archived from the original on 2019-09-01. Retrieved 2019-09-02.
  34. Abhishek Prakash (November 25, 2019). "Linux Kernel 5.4 Release Features". itsfoss.com. Archived from the original on December 8, 2019. Retrieved April 1, 2020.
  35. "File types and external devices that work on Chromebooks". Google Inc. Archived from the original on 2014-01-11. Retrieved 2021-06-08.
  36. US 8606830,Pudipeddi, Ravisankar V.; Ghotge, Vishal V.& Thind, Ravinder S.et al.,"Contiguous file allocation in an extensible file system",published 2013-12-10, assigned to Microsoft Corp.
  37. US 7613738,Patel, Sachin; Gopalan, Yadhu& Rogers, Andrew,"FAT directory structure for use in transaction safe file system",published 2009-11-03, assigned to Microsoft Corp.
  38. US 10614032,Pudipeddi, Ravisankar V.; Ghotge, Vishal V.& Thind, Ravinder S.,"Quick filename lookup using name hash",published 2020-04-07, assigned to Microsoft Technology Licensing LLC ; contains exFAT specification revision 1.00. See Tables 8, 12, 13, 14, 15, 16, 17.
  39. US 9639554,Pudipeddi, Ravisankar V.; Ghotge, Vishal V.& Havewala, Sarosh C.et al.,"Extensible file system",published 2017-05-02, assigned to Microsoft Technology Licensing LLC ; states in abstract and elsewhere that directory records can be custom-defined.
  40. "OEM Parameter Definition with exFAT (Windows Embedded CE 6.0)". Microsoft documentation. 5 January 2012. Archived from the original on 2020-07-26. Retrieved 2020-04-17.
  41. 1 2 Larabel, Michael (April 4, 2020). "The New Microsoft exFAT File-System Driver Has Landed In Linux 5.7". Phoronix. Archived from the original on March 5, 2021. Retrieved March 11, 2021.
  42. "Kernel/Git/Torvalds/Linux.git - Linux kernel source tree". Archived from the original on 2021-04-30. Retrieved 2021-10-14.
  43. mkfs.exfat(8)    Linux Programmer's Manual – Administration and Privileged Commands
  44. Larabel, Michael (28 August 2019). "Microsoft Publishes exFAT Specification, Encourages Linux Support". Phoronix. Archived from the original on 3 September 2019. Retrieved 28 August 2019.
  45. 1 2 3 "Licensing exFAT", Microsoft IP licensing, Microsoft Legal Resources, 1 March 2017, archived from the original on 2 March 2017, retrieved 1 March 2017
  46. Protalinski, Emil (December 10, 2009), "Microsoft licenses out exFAT file system", ArsTechnica, archived from the original on July 8, 2017, retrieved November 18, 2017.
  47. Girard, David (21 June 2013), "Can Microsoft's exFAT file system bridge the gap between OSes?", ArsTechnica, archived from the original on 1 December 2017, retrieved 18 November 2017.
  48. Corbet, Jonathan (July 24, 2013), The exfiltrated exFAT driver, LWN, archived from the original on December 2, 2013, retrieved November 25, 2013.
  49. Finley, Klint; McMillan, Robert (July 25, 2013), "Free Software Robin Hood Liberates Leaked Samsung Code", Wired Magazine, archived from the original on June 28, 2018, retrieved November 18, 2017.
  50. Else, Sylvia (November 19, 2016), exFat patent avoidance, Linux.com kernel development forums, archived from the original on December 1, 2017, retrieved November 18, 2017.
  51. Vaughan-Nichols, Steven J. "What does Microsoft joining the Open Invention Network mean for you?". ZDNet. Archived from the original on 2019-02-07. Retrieved 2018-12-29.
  52. Larabel, Michael (July 10, 2019). "Merging exFAT Support For Linux Is Being Talked About - Waiting On Microsoft's Blessing - Phoronix". www.phoronix.com. Archived from the original on 2019-08-08. Retrieved 2019-08-08.
  53. "exFAT fs and Linux". Archived from the original on September 16, 2009. Retrieved September 28, 2009.[ unreliable source? ]
  54. "exFAT fs on FUSE". GitHub . Archived from the original on December 31, 2015. Retrieved May 15, 2010.
  55. "exFAT fs on linux UBUNTU". Archived from the original on September 28, 2012. Retrieved October 11, 2012.
  56. "exFAT in FreeBSD". Archived from the original on June 15, 2013. Retrieved April 8, 2013.
  57. "ExFAT support for Mac OS X 10.5 Leopard and 10.4 Tiger (via Homebrew and Fuse for macOS)". GitHub . Archived from the original on October 13, 2019. Retrieved July 6, 2018.
  58. "Amigaworld.net". Archived from the original on February 26, 2015. Retrieved February 18, 2015.
  59. "Open Source Release Center". Samsung. Archived from the original on December 2, 2013. Retrieved November 25, 2013.
  60. Corbet, Jonathan (July 24, 2013). "The exfiltrated exFAT driver". LWN.net. Archived from the original on December 2, 2013. Retrieved November 25, 2013.
  61. "Conservancy Helps Samsung Resolve GPL Compliance Matter Amicably". Software Freedom Conservancy. August 16, 2013. Archived from the original on November 20, 2013. Retrieved November 25, 2013.
  62. "GPL'ed sources for the Samsung exfat module as released by Samsung". GitHub . Retrieved 2017-08-20.
  63. Corbet, Jonathan (August 16, 2013), Samsung releases exFAT filesystem source, LWN, archived from the original on July 31, 2017, retrieved November 18, 2017.
  64. McMillan, Robert (August 20, 2013), "Busted for Dodging Linux License, Samsung Makes Nice With Free Code", Wired.com, archived from the original on September 6, 2020, retrieved November 18, 2017.
  65. Larabel, Michael (September 29, 2019). "Linux 5.4 Features Are Huge From exFAT To New GPUs To Enabling Lots Of New Hardware". Phoronix. Archived from the original on April 10, 2021. Retrieved March 11, 2021.
  66. Larabel, Michael (November 17, 2019). "The Exciting Linux 5.4 Changes From exFAT Support To Intel Tiger Lake Graphics". Phoronix. Archived from the original on March 4, 2021. Retrieved March 11, 2021.
  67. Larabel, Michael (November 24, 2019). "Linux 5.4 Kernel Released With exFAT Support, Faster Radeon Graphics, New Hardware". Phoronix. Archived from the original on March 9, 2021. Retrieved March 11, 2021.
  68. Larabel, Michael (January 20, 2020). "Samsung's Better exFAT Driver Gets Revised Ahead Of Mainline Linux Integration". Phoronix. Archived from the original on May 16, 2021. Retrieved March 11, 2021.
  69. Larabel, Michael (December 30, 2019). "Linux's exFAT Driver Looking To Still Be Replaced By A Newer Driver From Samsung". Phoronix. Archived from the original on March 5, 2021. Retrieved March 11, 2021.
  70. Larabel, Michael (March 7, 2020). "The New Microsoft exFAT File-System Driver Is Set To Land With Linux 5.7". Phoronix. Archived from the original on April 23, 2021. Retrieved March 11, 2021.
  71. Clarke, Gavin (August 8, 2012). "Sharp cuts exFAT deal with Microsoft for Android mobes". The Register . Archived from the original on August 11, 2012. Retrieved August 12, 2012.
  72. "XCFiles". Archived from the original on July 30, 2010. Retrieved June 21, 2010.
  73. "Rtfs". Archived from the original on June 12, 2011. Retrieved January 19, 2011.
  74. "exFAT". February 2, 2011.
  75. exfatlabel(8)    Linux Programmer's Manual – Administration and Privileged Commands
    tune.exfat(8)    Linux Programmer's Manual – Administration and Privileged Commands