exFAT

From Wikipedia, the free encyclopedia - View original article

exFAT
DeveloperMicrosoft
Full nameExtended File Allocation Table
IntroducedNovember 2006 (Windows Embedded CE 6.0)
Partition identifierMBR/EBR: 0x07 (same as for HPFS/NTFS)
BDP/GPT: EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
Structures
Directory contentsTable
File allocationbitmap, linked list
Bad blocksCluster tagging
Limits
Max. file size16 EiB[nb 1]
Max. number of filesup to 2,796,202 per directory[1]
Max. filename length255 UTF-16 characters
Max. volume size64 ZiB, 512 TiB recommended[2]
Allowed characters in filenamesUnicode UTF-16 except U+0000 (NUL) through U+001F (US) / (slash) \ (backslash) : (colon) * (asterisk) ? (Question mark) " (quote) < (less than) > (greater than) and | (pipe)
Features
Dates recordedCreation, modified, access
Date range1980-01-01 to 2107-12-31
Date resolution10 ms
ForksNo
AttributesRead-only, hidden, system, volume label, subdirectory, archive
File system permissionsACL (Windows CE 6 only)
Transparent compressionNo
Transparent encryptionNo
Supported operating systemsWindows Embedded CE 6.0
Windows XP (including x64) SP2 and later (optional[2])
Windows Server 2003 SP2 (optional[2])
Windows Vista SP1 and later
Windows 7
Windows 8
Windows Server 2008
Windows Server 2008 R2
Linux (via FUSE)
Mac OS X 10.6.5 and later
 
Jump to: navigation, search
exFAT
DeveloperMicrosoft
Full nameExtended File Allocation Table
IntroducedNovember 2006 (Windows Embedded CE 6.0)
Partition identifierMBR/EBR: 0x07 (same as for HPFS/NTFS)
BDP/GPT: EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
Structures
Directory contentsTable
File allocationbitmap, linked list
Bad blocksCluster tagging
Limits
Max. file size16 EiB[nb 1]
Max. number of filesup to 2,796,202 per directory[1]
Max. filename length255 UTF-16 characters
Max. volume size64 ZiB, 512 TiB recommended[2]
Allowed characters in filenamesUnicode UTF-16 except U+0000 (NUL) through U+001F (US) / (slash) \ (backslash) : (colon) * (asterisk) ? (Question mark) " (quote) < (less than) > (greater than) and | (pipe)
Features
Dates recordedCreation, modified, access
Date range1980-01-01 to 2107-12-31
Date resolution10 ms
ForksNo
AttributesRead-only, hidden, system, volume label, subdirectory, archive
File system permissionsACL (Windows CE 6 only)
Transparent compressionNo
Transparent encryptionNo
Supported operating systemsWindows Embedded CE 6.0
Windows XP (including x64) SP2 and later (optional[2])
Windows Server 2003 SP2 (optional[2])
Windows Vista SP1 and later
Windows 7
Windows 8
Windows Server 2008
Windows Server 2008 R2
Linux (via FUSE)
Mac OS X 10.6.5 and later

exFAT (Extended File Allocation Table) is a Microsoft file system optimized for flash drives.[3] It is proprietary and patent-pending.[1] It is supported in Windows XP and Windows Server 2003 with update KB955704,[2] Windows Embedded CE 6.0, Windows Vista with Service Pack 1,[4] Windows Server 2008,[5] Windows 7, Windows 8, Windows Server 2008 R2 (except Windows Server 2008 Server Core), Mac OS X Snow Leopard starting from 10.6.5,[6] Mac OS X Lion, OS X Mountain Lion, and OS X Mavericks.

exFAT can be used where the NTFS file system is not a feasible solution (due to data structure overhead), or where the file size limit of the standard FAT32 file system (that is, without FAT32+ extension[7]) is unacceptable.

Unlike NTFS, exFAT cannot pre-allocate disk space for a file by just marking arbitrary space on disk as 'allocated'. As in FAT, when creating a file of known length, exFAT must perform a complete physical write equal to the size of the file.

exFAT is also supported in a number of media devices such as modern flat panel TVs,[8] media centers, and portable media players.[9]

Advantages[edit]

The advantages over FAT file systems include:

Disadvantages[edit]

The disadvantages compared to FAT file systems include:

Support on other platforms[edit]

A FUSE-based implementation named fuse-exfat, or exfat-fuse, with read/write support is available for FreeBSD and multiple Linux distributions.[17][18][19][20] None of the solutions can become an official part of Linux due to the patent encumbered status of the exFAT filesystem. A non-FUSE implementation has also been released, written by Samsung.[21] It was initially released on GitHub unintentionally,[22] and later released officially by Samsung in compliance with the GPL.[23]

Proprietary read/write solutions licensed and derived from the Microsoft exFAT implementation are available for Android,[24] 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.[25] Rtfs (from EBS Embedded Software) is a full-featured implementation for embedded devices.[26]

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 filesystem reader, and requires the HX DOS extender to work.[27] There are no native exFAT real-mode DOS drivers, which would allow usage of, or booting from exFAT volumes.

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

Licensing[edit]

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

Microsoft has entered into licensing agreements with BlackBerry,[29] Panasonic, Sanyo, Sony, Canon, Aspen Avionics,[30] and BMW.[31]

See also[edit]

Notes[edit]

  1. ^ a b 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 EiB−1 byte, the same as NTFS. However, since the true theoretical maximum volume size under the current specification cannot exceed 128 PiB, a file can never reach that file length.
  2. ^ This value was calculated based on the 64-bit value of number of sectors with a sector size of 4096 bytes. However, based on the current exFAT specification the FAT is 32 bits and the largest cluster is 25 bits resulting in a maximum addressable volume size of close to 128 PiB
  3. ^ This limit only applies to subdirectories because the maximum subdirectory is 256 MiB. There is no limit for the root directory
  4. ^ 268,304,373 files = 2^28 - 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 65535 bytes. With VFATs, the 131,072 number must be multiplied by 21 (worst case), which would result in 265,682,933 files instead.

References[edit]

  1. ^ a b c d US application 2009164440  contains Microsoft exFAT specification (revision 1.00)
  2. ^ a b c d e f "KB955704". 2009-01-27. "Description of the exFAT file system driver update package [for Windows XP and Windows Server 2003]" 
  3. ^ a b Marius Oiaga (2009-12-11). "Microsoft Licenses Windows 7's exFAT Flash File Format". Softpedia.com. 
  4. ^ Brandon LeBlanc (2007-08-28). "Vista SP1 Whitepaper". Microsoft. Retrieved 2007-08-28. 
  5. ^ "Adding Hard Disk Drives". Microsoft. Retrieved September 15, 2009. 
  6. ^ "Mac OS X 10.6.5 Notes: exFAT Support, AirPrint, Flash Player Vulnerability Fixes". Retrieved 25 November 2013. [unreliable source?]
  7. ^ a b Davis, Jeremy; Kuhnt, Udo; Georgiev, Luchezar (2007). "FATPLUS.TXT". FAT+. Draft revision 2. Retrieved 25 November 2013. [unreliable source?][self-published source?]
  8. ^ "exFAT support on Sony". Retrieved 2013-01-06. 
  9. ^ Hamm, Jeff (2009). "Extended FAT File System". Paradigm Solutions. Retrieved 2013-04-09. 
  10. ^ "Limitations of the FAT32 File System in Windows XP". Microsoft. 2007-12-01. Retrieved 2011-02-11. 
  11. ^ Nash, Mike (2008-10-24). "Windows Vista Service Pack 2 Beta". The Windows Blog. Retrieved 2009-10-02. 
  12. ^ "A Second Shot: Windows Vista SP1". Retrieved 25 November 2013. 
  13. ^ "OEM Parameter Definition with exFAT (Windows Embedded CE 6.0)". Retrieved 25 November 2013. 
  14. ^ "exFAT File System Licensing Program". Retrieved 2011-01-04. 
  15. ^ microsoft.com/en-us/download/details.aspx?id=19364
  16. ^ "exFAT Versus FAT32 Versus NTFS". 2008-02-27. Retrieved 2009-10-02. 
  17. ^ "exFAT fs and Linux". Retrieved 2009-09-28. [unreliable source?]
  18. ^ "exFAT fs on FUSE". Retrieved 2010-05-15. 
  19. ^ "exFAT fs on linux UBUNTU". Retrieved 2012-10-11. 
  20. ^ "exFAT in FreeBSD". Retrieved 2013-04-08. 
  21. ^ "Open Source Release Center". Samsung. Retrieved 25 November 2013. 
  22. ^ Corbet, Jonathan (24 July 2013). "The exfiltrated exFAT driver". LWN.net. Retrieved 25 November 2013. 
  23. ^ "Conservancy Helps Samsung Resolve GPL Compliance Matter Amicably". Software Freedom Conservancy. 16 August 2013. Retrieved 25 November 2013. [self-published source?]
  24. ^ Clarke, Gavin (August 8, 2012). "Sharp cuts exFAT deal with Microsoft for Android mobes". The Register. Retrieved August 12, 2012. 
  25. ^ "XCFiles". Retrieved 2010-06-21. 
  26. ^ "Rtfs". Retrieved 2011-01-19. 
  27. ^ "exFAT". 2011-02-02. 
  28. ^ "fsck_exfat(8) Mac OS X Manual Page". Retrieved 25 November 2013. 
  29. ^ "Microsoft Licenses exFat to Research In Motion". 
  30. ^ "Microsoft Signs Patent Licensing Agreement With Aspen Avionics". 
  31. ^ "Microsoft Signs exFAT Licensing Agreement With BMW". 

External links[edit]