exFAT

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Nvychivwyxan (talk | contribs) at 17:16, 24 August 2010 (wl). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

exFAT
Developer(s)Microsoft
Full nameExtended File Allocation Table
IntroducedNovember 2006 with Windows Embedded CE 6.0
Partition IDs0x07 (MBR)
EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 (GPT)
Structures
Directory contentsTable
File allocationbitmap, linked list
Bad blocksCluster tagging
Limits
Max volume size64 ZiB, 512 TiB recommended[1]
Max file size64 ZiB, 512 TiB recommended[1]
Max no. of filesup to 2,796,202 per directory[2]
Max filename length255 characters (16-bit)
Allowed filename
characters
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 recordedCreation, modified, access
Date rangeJanuary 1, 1980 - December 31, 2107
Date resolution10 ms
ForksYes
AttributesRead-only, hidden, system, volume label, subdirectory, archive
File system
permissions
ACL (WinCE 6 only)
Transparent
compression
No
Transparent
encryption
No
Other
Supported
operating systems
Windows Embedded CE 6.0
Windows XP (including x64) SP2 & later (optional)
Windows Server 2003 requires SP2 (optional)
Windows Vista SP1 & later
Windows 7
Windows Server 2008
Linux

exFAT (Extended File Allocation Table), (also sometimes referred to as FAT64) is a proprietary, patent-pending[2] file system suited especially for USB flash drives,[citation needed] introduced by Microsoft for embedded devices in Windows Embedded CE 6.0, in their desktop operating systems Windows Vista Service Pack 1[3] and Windows 7, and in their server operating system Windows Server 2008.[4]

exFAT can be used where the NTFS file system is not a feasible solution, due to data structure overhead, or where the file size or directory restrictions of previous versions of the FAT file system are unacceptable.

Windows XP and Windows Server 2003 (both x86 and x64) users can add support for exFAT by installing an update from Microsoft.[1] An experimental, open source Linux kernel module that supports the reading of exFAT files is currently under development.[5] A FUSE-based full-featured implementation is currently in beta status.[6] A proprietary, read/write solution, licensed and derived from the Microsoft exFAT implementation, is available for Android, Linux and other operating systems from Tuxera.[7] A proprietary, full-featured implementation—XCFiles—is available from Datalight.[8] A third party open source driver is available for DOS.[9]

Advantages

The advantages over previous File Allocation Table (FAT) file system versions include:

  • Scalability to large disk sizes: 64 ZiB[10] theoretical max, 512 TiB recommended max, raised from the 2 TiB limit of FAT32 partitions. Note that the built-in Windows XP format utility limits new FAT32 partitions to 32 GiB.[1]
  • Cluster size up to 32 MiB[1]
  • Subdirectory size up to 256 MiB[1]
  • File size limit of 16 EiB[11] (Limited by volume size), raised from close to 4 GiB in FAT32[1]
  • Free space allocation and delete performance improved due to introduction of a free space bitmap
  • Support for up to 2,796,202 files per subdirectory[2] [12], increased from 65,536
  • Support for access control lists (not supported yet in Windows Vista SP1)[13]
  • Support for TFAT, a transactional file system standard (optionally WinCE activated function)
  • Provision for OEM-definable parameters to customize the file system for specific device characteristics
  • Support for UTC timestamps (starting with Vista SP2)[14]
  • Timestamp granularity of 10 ms (better than previous FAT versions' 2 s, but worse than NTFS's 100 ns)[2]

Disadvantages

The disadvantages compared to previous FAT versions include:

  • 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
  • Devices 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).
  • Devices using exFAT are unable to use Windows Vista's ReadyBoost capability (Windows 7 adds support for ReadyBoost on exFAT formatted drives and enables a larger ReadyBoost cache due to the removal of the 4GB file size limit of FAT32)[15]
  • Microsoft has not released the official exFAT file specification, and a license from Microsoft is required in order to make and distribute exFAT implementations[16]
  • Limited or no support outside PC environment at present — most current consumer electronics, such as televisions and A/V receivers, can only handle previous FAT versions (this may change with the new SDXC cards and Memory Stick XC requiring exFAT)

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

See also

References

  1. ^ a b c d e f g "KB955704". 2009-01-27. Description of the exFAT file system driver update package [for 32-bit XP]
  2. ^ a b c d US application 20,090,164,440  contains Microsoft exFAT specification (revision 1.00)
  3. ^ Brandon LeBlanc (2007-08-28). "Vista SP1 Whitepaper". Microsoft. Retrieved 2007-08-28.
  4. ^ ""Adding Hard Disk Drives"". Microsoft. Retrieved September 15, 2009.
  5. ^ "Fat64 / exFat fs and Linux". Retrieved 2009-09-28.
  6. ^ "Fat64 / exFat fs on FUSE". Retrieved 2010-05-15.
  7. ^ "Tuxera exFAT for Linux Systems". Retrieved 2009-09-02.
  8. ^ "XCFiles". Retrieved 2010-06-21.
  9. ^ "exFAT reader for DOS". 2010-05-03.
  10. ^ 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
  11. ^ Although Microsoft published a different value in the KB, the file size is in bytes and is stored in a 64 bit number. The largest theoretical file size would be 16 EiB, 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
  12. ^ this limit only applies to subdirectories because the maximum subdirectory is 256MB. There is no limit for the root directory
  13. ^ Anandtech - Second Shot: Windows Vista SP1
  14. ^ Nash, Mike (2008-10-24). "Windows Vista Service Pack 2 Beta". The Windows Blog. Retrieved 2009-10-02.
  15. ^ "exFAT Versus FAT32 Versus NTFS". 2008-02-27. Retrieved 2009-10-02.
  16. ^ "exFAT File System Licensing Program". Retrieved 2009-06-02.
  17. ^ Marius Oiaga (2009-12-11). "Microsoft Licenses Windows 7's exFAT Flash File Format". {{cite web}}: Unknown parameter |Publisher= ignored (|publisher= suggested) (help)

External links