exFAT

From Wikipedia, the free encyclopedia
  (Redirected from Exfat)
Jump to: navigation, search
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—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

  1. ^ 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
  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 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.
  3. ^ This limit only applies to subdirectories because the maximum subdirectory is 256 MiB. There is no limit for the root directory

[edit] References

  1. ^ 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]" 
  2. ^ a b c d US application 2009164440  contains Microsoft exFAT specification (revision 1.00)
  3. ^ 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. 
  4. ^ 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. 
  5. ^ "Adding Hard Disk Drives". Microsoft. http://technet.microsoft.com/en-us/library/dd163551.aspx. Retrieved September 15, 2009. 
  6. ^ http://www.macrumors.com/2010/11/11/mac-os-x-10-6-5-notes-exfat-support-airprint-flash-player-vulnerability-fixes/
  7. ^ a b Udo Kuhnt, Luchezar Georgiev, Jeremy Davis (2007). FAT+. FATPLUS.TXT, draft revision 2 ([1], [2]).
  8. ^ "Limitations of the FAT32 File System in Windows XP". Microsoft. 2007-12-01. http://support.microsoft.com/kb/314463. Retrieved 2011-02-11. 
  9. ^ 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. 
  10. ^ Anandtech - Second Shot: Windows Vista SP1
  11. ^ "exFAT File System Licensing Program". http://www.microsoft.com/about/legal/en/us/IntellectualProperty/IPLicensing/Programs/exFATFileSystem.aspx. Retrieved 2011-01-04. 
  12. ^ "exFAT Versus FAT32 Versus NTFS". 2008-02-27. http://www.tech-recipes.com/rx/2801/exfat_versus_fat32_versus_ntfs. Retrieved 2009-10-02. 
  13. ^ "exFAT fs and Linux". http://groups.google.com/group/fa.linux.kernel/browse_thread/thread/903eb182127e8f21/e2e23eeb3a016268. Retrieved 2009-09-28. 
  14. ^ "exFAT fs on FUSE". http://code.google.com/p/exfat/. Retrieved 2010-05-15. 
  15. ^ "XCFiles". http://www.datalight.com/products/filesystems/xcfiles. Retrieved 2010-06-21. 
  16. ^ "Rtfs". http://www.ebsembeddedsoftware.com/NewWebSite/AboutRtfs.html. Retrieved 2011-01-19. 
  17. ^ "exFAT". 2011-02-02. http://www.mdgx.com/secrets.htm#XFAT. 
  18. ^ fsck_exfat(8) Mac OS X Manual Page
  19. ^ "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

Personal tools
Namespaces

Variants
Actions
Navigation
Interaction
Toolbox
Print/export
Languages