exFAT
| Developer | Microsoft |
|---|---|
| Full name | Extended File Allocation Table |
| Introduced | November 2006 (Windows Embedded CE 6.0) |
| Partition identifier | MBR/EBR: 0x07 (same as for HPFS/NTFS) BDP/GPT: EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 |
| Structures | |
| Directory contents | Table |
| File allocation | bitmap, linked list |
| Bad blocks | Cluster tagging |
| Limits | |
| Max. file size | 16 EiB[nb 1] |
| Max. number of files | up to 2,796,202 per directory[1] |
| Max. filename length | 255 UTF-16 characters |
| Max. volume size | 64 ZiB, 512 TiB recommended[2] |
| Allowed characters in filenames | Unicode 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 recorded | Creation, modified, access |
| Date range | 1980-01-01 to 2107-12-31 |
| Date resolution | 10 ms |
| Forks | No |
| Attributes | Read-only, hidden, system, volume label, subdirectory, archive |
| File system permissions | ACL (Windows CE 6 only) |
| Transparent compression | No |
| Transparent encryption | No |
| Supported operating systems | Windows 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) 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 and OS X Mountain Lion.
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 FAT+ 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]
Contents |
Advantages [edit]
The advantages over FAT file systems include:
- For the typical user, seamless interoperability between Windows and OS X platforms for files in excess of 4 GiB. NOTE: Windows XP may require Update for Windows XP (KB955704) to manage exFAT formatted drives.
- Scalability to large disk sizes: 64 ZiB[nb 2] theoretical max, 512 TiB recommended max, raised from the 32-bit limit (2 TiB for sector size 512) of FAT32 partitions.[10]
- File size limit of 16 EiB–1 byte.[nb 1] (limited by volume size), raised from 4 GiB−1 byte in a standard FAT32 filesystem.[2] (The open FAT+[7] specification proposes an extension how to store files up to 256 GB on otherwise backward-compatible FAT32 volumes as well. This extension is available in some versions of DR-DOS.)
- Cluster size up to 32 MiB.[2]
- Free space allocation and delete performance improved due to introduction of a free space bitmap.
- Timestamp granularity of 10 ms (same as in FAT12/FAT16/FAT32 for creation time, but not as fine as NTFS's 100 ns).[1]
- Optional support for UTC timestamps (starting with Vista SP2).[11]
- Optional support for access control lists (not supported in Windows Vista SP1).[12]
- Optional support for TexFAT, a transactional file system standard (optionally WinCE activated function).
- Provision for OEM-definable parameters to customize the file system for specific device characteristics.
Disadvantages [edit]
The disadvantages compared to FAT file systems include:
- Microsoft has not released the official exFAT file system specification, and a restrictive license from Microsoft is required in order to make and distribute exFAT implementations. Microsoft also asserts patents on exFAT which make it impossible to re-implement its functionality in a compatible way without violating a large percentage of them.[13] This renders the implementation, distribution, and use of exFAT as a part of free or open-source operating systems or of commercial software, for which the vendors could not obtain a license from Microsoft, not only technically difficult, but legally impossible in countries that recognize United States software patents.
- Limited support outside Windows and Mac OS X operating systems as of 2012[update], when most consumer electronic devices could only handle FAT12/FAT16/FAT32, rendering exFAT (and flash memory formats using it) impractical as a universal exchange format.
- Some distributions of Linux have begun to include support for exFAT. It is however, only available as a file system in user space, as it's not supported by the kernel.
- Older Windows NT versions up to Windows Vista without Service Pack 1 do not support exFAT.
- Windows Vista is unable to use exFAT drives for ReadyBoost. Windows 7 removes this limitation, enabling ReadyBoost caches larger than 4 GiB.[14]
- The standard exFAT implementation 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.
- Support for up to 2,796,202 files per subdirectory only.[1][nb 3] Microsoft documents a limit of 65,534 files per sub-directory for their FAT32 implementation, but other operating systems have no special limit for the number of files in a FAT32 directory. FAT32 implementations in other operating systems allow an unlimited number of files up to the number of available clusters (that is, up to 268,304,373 files on volumes without long filenames).[nb 4]
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.[15][16][17][18] None of the solutions can become an official part of Linux due to the patent encumbered status of the exFAT filesystem.
Proprietary read/write solutions licensed and derived from the Microsoft exFAT implementation are available for Android,[19] 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.[20] Rtfs (from EBS Embedded Software) is a full-featured implementation for embedded devices.[21]
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.[22] 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.[23]
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,[24] Panasonic, Sanyo, Sony, Canon, Aspen Avionics,[25] and BMW.[26]
See also [edit]
- File Allocation Table
- List of file systems and especially UDF
- SDXC
- Memory Stick XC
Notes [edit]
- ^ 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.
- ^ 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
- ^ This limit only applies to subdirectories because the maximum subdirectory is 256 MiB. There is no limit for the root directory
- ^ 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]
- ^ a b c d US application 2009164440 contains Microsoft exFAT specification (revision 1.00)
- ^ 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]"
- ^ a b Marius Oiaga (2009-12-11). "Microsoft Licenses Windows 7's exFAT Flash File Format". Softpedia.com.
- ^ Brandon LeBlanc (2007-08-28). "Vista SP1 Whitepaper". Microsoft. Retrieved 2007-08-28.
- ^ "Adding Hard Disk Drives". Microsoft. Retrieved September 15, 2009.
- ^ http://www.macrumors.com/2010/11/11/mac-os-x-10-6-5-notes-exfat-support-airprint-flash-player-vulnerability-fixes/
- ^ a b Udo Kuhnt, Luchezar Georgiev, Jeremy Davis (2007). FAT+. FATPLUS.TXT, draft revision 2 ([1], [2]).
- ^ "exFAT support on Sony". Retrieved 2013-01-06.
- ^ Hamm, Jeff (2009). "Extended FAT File System". Paradigm Solutions. Retrieved 2013-04-09.
- ^ "Limitations of the FAT32 File System in Windows XP". Microsoft. 2007-12-01. Retrieved 2011-02-11.
- ^ Nash, Mike (2008-10-24). "Windows Vista Service Pack 2 Beta". The Windows Blog. Retrieved 2009-10-02.
- ^ Anandtech - Second Shot: Windows Vista SP1
- ^ "exFAT File System Licensing Program". Retrieved 2011-01-04.
- ^ "exFAT Versus FAT32 Versus NTFS". 2008-02-27. Retrieved 2009-10-02.
- ^ "exFAT fs and Linux". Retrieved 2009-09-28.
- ^ "exFAT fs on FUSE". Retrieved 2010-05-15.
- ^ "exFAT fs on linux UBUNTU". Retrieved 2012-10-11.
- ^ "exFAT in FreeBSD". Retrieved 2013-04-08.
- ^ Clarke, Gavin (August 8, 2012). "Sharp cuts exFAT deal with Microsoft for Android mobes". The Register. Retrieved August 12, 2012.
- ^ "XCFiles". Retrieved 2010-06-21.
- ^ "Rtfs". Retrieved 2011-01-19.
- ^ "exFAT". 2011-02-02.
- ^ fsck_exfat(8) Mac OS X Manual Page
- ^ "Microsoft Licenses exFat to Research In Motion".
- ^ "Microsoft Signs Patent Licensing Agreement With Aspen Avionics".
- ^ "Microsoft Signs exFAT Licensing Agreement With BMW".
External links [edit]
- File System Functionality Comparison of exFAT, FAT32, NTFS, UDF
- exFAT overview in Windows Embedded CE
- Transaction-Safe FAT File System (TexFAT) overview in Windows Mobile 6.5
- Personal Storage : Opportunities and challenges for pocket-sized storage devices in the Windows world (PowerPoint presentation at WinHEC 2006)
- exFAT File System Licensing
- Reverse Engineering the Microsoft exFAT File System, SANS Institute.
- US Patent Application 2009164440, "Quick Filename Lookup Using Name Hash"; Microsoft Corp; contains exFAT specification revision 1.00.
- US Patent Application 2009164539, "Contiguous File Allocation In An Extensible File System"; Microsoft Corp.
- exFAT ships on all SDXC Cards, SD Card Association
|
||||||||||||||||||||||||||||||||||||||