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 | 64 ZiB, 512 TiB recommended[1] |
| Max number of files | up to 2,796,202 per directory[2] |
| Max filename length | 255 UTF-16 characters |
| Max volume size | 64 ZiB, 512 TiB recommended[1] |
| 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 | Yes |
| 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) Windows Server 2003 requires SP2 (optional) Windows Vista SP1 and later Windows 7 Windows Server 2008 Windows Server 2008 R2 (Linux) Mac OS X 10.6.5 and Later |
exFAT (Extended File Allocation Table) is a proprietary file system designed especially for flash drives[3] developed by Microsoft, who have applied for patent protection[2]. It is supported in Windows XP and Windows Server 2003 with update KB955704,[1] Windows Embedded CE 6.0, Windows Vista with Service Pack 1,[4] Windows Server 2008,[5] Windows 7, Windows Server 2008 R2 (except Windows Server 2008 Server Core), Mac OS X Snow Leopard starting from 10.6.5,[6] and Mac OS X 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 (without FAT+ extension[7]) is unacceptable.
Contents |
[edit] Advantages
The advantages over FAT file systems include:
- Scalability to large disk sizes: 64 ZiB[nb 1] theoretical max, 512 TiB recommended max, raised from the 2 TiB (16 TiB with 4 KiB sectors) limit of FAT32 partitions.[8]
- File size limit of 16 EiB–1 byte.[nb 2] (limited by volume size), raised from 4 GiB−1 byte in a standard FAT32 filesystem.[1] (The open FAT+[7] specification proposes how to store files larger than 4 GiB on FAT32 volumes as well, but this extension is only implemented in some versions of DR-DOS and FreeDOS so far.)
- Cluster size up to 32 MiB.[1]
- 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).[2]
- Optional support for UTC timestamps (starting with Vista SP2).[9]
- Optional support for access control lists (not supported in Windows Vista SP1).[10]
- 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.
[edit] Disadvantages
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.[11] 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 or no support outside Windows and Mac OS X operating systems as of 2012[update]—most consumer electronic devices, such as televisions and A/V receivers, could only handle FAT12/FAT16/FAT32, rendering exFAT (and flash memory formats using it) impractical as a universal exchange format. (This may change if SDXC cards and Memory Stick XC come into wide use, as they define exFAT as the file system to be used in their specifications even though this is not a technical requirement.)
- Windows XP and Windows Server 2003 users must have Service Pack 2 or later and install an update to support exFAT.
- Windows Vista must be Service Pack 1 or later for exFAT support.
- Drives formatted using exFAT cannot be read by any version of Windows prior to Windows XP or by any version of DOS or OS/2 (unless emulated as otherwise).
- Windows Vista is unable to use exFAT drives for ReadyBoost. Windows 7 removes this limitation, enabling ReadyBoost caches larger than 4 GiB.[12]
- The standard exFAT format 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.[2][nb 3] While Microsoft documents a limit of 65,534 files per sub-directory for their FAT32 implementation, technically there is no such limit and FAT32 implementations in other operating systems allow an unlimited number of files up to the number of available clusters (that is, up to ca. 268,304,373 files, 228 - 11 - 131,072).
- Reduced file data I/O performance compared to FAT32 due to smaller cluster sizes and more complex data structures.
- More complex design results in higher code footprint and memory usage compared to FAT implementations. FAT12/FAT16/FAT32 can be implemented in as little as a 512 bytes code and 1 KB data for low-performance read-only versions and a few kilobytes code plus a few hundred KB data for high-performance read-write versions, allowing native support for them even in light-weight operating systems such as DOS, thereby enabling their usage also on older PCs and in small embedded systems. exFAT implementations require magnitudes more system resources rendering this approach impractical.
[edit] Support on other platforms
An experimental, open source Linux kernel module that supports the reading of exFAT files is currently under development.[13] It cannot become an official part of Linux due to the patent encumbered status of the exFAT filesystem. A FUSE-based full-featured implementation is currently in beta status.[14] Proprietary read/write solutions licensed and derived from the Microsoft exFAT implementation are available for Android, 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.[15] Rtfs (from EBS Embedded Software) is a full-featured implementation for embedded devices.[16]
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.[17] There are no native exFAT real-mode DOS drivers, which would allow usage of, or boot from exFAT volumes.
Mac OS X Snow Leopard 10.6.5 and later can create, read, write, verify and repair exFAT file systems.[18] 10.6.5 was rumoured to broaden support across the range of Mac hardware.[19]
[edit] Licensing
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]
[edit] See also
[edit] Notes
- ^ 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
- ^ 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 limit only applies to subdirectories because the maximum subdirectory is 256 MiB. There is no limit for the root directory
[edit] References
- ^ a b c d e "KB955704". 2009-01-27. http://support.microsoft.com/?kbid=955704. "Description of the exFAT file system driver update package [for 32-bit XP]"
- ^ a b c d US application 2009164440 contains Microsoft exFAT specification (revision 1.00)
- ^ a b Marius Oiaga (2009-12-11). "Microsoft Licenses Windows 7's exFAT Flash File Format". Softpedia.com. http://news.softpedia.com/news/Microsoft-Licenses-Windows-7-s-exFAT-Flash-File-Format-129512.shtml.
- ^ Brandon LeBlanc (2007-08-28). "Vista SP1 Whitepaper". Microsoft. http://windowsvistablog.com/blogs/windowsvista/pages/windows-vista-service-pack-1-beta-whitepaper.aspx#_Toc175944550. Retrieved 2007-08-28.
- ^ "Adding Hard Disk Drives". Microsoft. http://technet.microsoft.com/en-us/library/dd163551.aspx. 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]).
- ^ "Limitations of the FAT32 File System in Windows XP". Microsoft. 2007-12-01. http://support.microsoft.com/kb/314463. Retrieved 2011-02-11.
- ^ Nash, Mike (2008-10-24). "Windows Vista Service Pack 2 Beta". The Windows Blog. http://windowsteamblog.com/blogs/windowsvista/archive/2008/10/24/windows-vista-service-pack-2-beta.aspx. Retrieved 2009-10-02.
- ^ Anandtech - Second Shot: Windows Vista SP1
- ^ "exFAT File System Licensing Program". http://www.microsoft.com/about/legal/en/us/IntellectualProperty/IPLicensing/Programs/exFATFileSystem.aspx. Retrieved 2011-01-04.
- ^ "exFAT Versus FAT32 Versus NTFS". 2008-02-27. http://www.tech-recipes.com/rx/2801/exfat_versus_fat32_versus_ntfs. Retrieved 2009-10-02.
- ^ "exFAT fs and Linux". http://groups.google.com/group/fa.linux.kernel/browse_thread/thread/903eb182127e8f21/e2e23eeb3a016268. Retrieved 2009-09-28.
- ^ "exFAT fs on FUSE". http://code.google.com/p/exfat/. Retrieved 2010-05-15.
- ^ "XCFiles". http://www.datalight.com/products/filesystems/xcfiles. Retrieved 2010-06-21.
- ^ "Rtfs". http://www.ebsembeddedsoftware.com/NewWebSite/AboutRtfs.html. Retrieved 2011-01-19.
- ^ "exFAT". 2011-02-02. http://www.mdgx.com/secrets.htm#XFAT.
- ^ fsck_exfat(8) Mac OS X Manual Page
- ^ "Mac OS X 10.6.5 Note: exFAT Support, Airprint, Flash Player Vulnerability Fixes". 2010-11-11. http://www.macrumors.com/2010/11/11/mac-os-x-10-6-5-notes-exfat-support-airprint-flash-player-vulnerability-fixes/.
[edit] External links
- 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
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||