# ExFAT

exFAT (Extended File Allocation Table) est un système de fichiers propriétaire conçu par Microsoft principalement pour les mémoires flash et les supports de stockage externes (disques durs et assimilés). Le premier système d'exploitation compatible avec ce système de fichiers fut Windows CE 6.0.
exFAT est utilisé lorsque le système de fichiers NTFS n’est pas utilisable à cause des métadonnées, occupant plus de place et requérant un plus grand nombre d’accès à des endroits différents (comme la MFT par exemple).
C'est le système de fichiers par défaut des cartes SD.

## Fonctions

exFAT possède des avantages par rapport aux différents formats FAT, dont :
* la limite théorique de la taille d'un fichier exFAT est de 2$^{64}$ octets (16 Eio), à comparer aux 2$^{32}$ (4 Gio) de la FAT32 ;
* de plus gros volumes (jusqu'à 64 Zio) alors que FAT32 était limité à des volumes dont la taille devait se situer entre 256 Mio et 8 Tio ;
* taille de cluster maximale de 2$^{255}$ octets, bien que les implémentations actuelles la limitent à 32 Mio ; à comparer avec les 64 kio maximum en pratique de FAT32 sous Windows (mais la limite théorique est supérieure) ;
* performance de l’allocation d’espace libre améliorée grâce à l’introduction de bitmap d’espace libre, sorte de carte logicielle de l’espace libre comme s'il existait une carte de l’espace occupé par les fichiers, ceci permettant de trouver plus facilement un espace libre en fonction de la taille des fichiers à écrire et également plus rapide à l'effacement de ceux-ci ;
* possibilité de stocker plus de 2$^{16}$ fichiers par répertoire ;
* Access Control List ;
* utilisation du transaction-safe FAT (TFAT) file system ou système de fichiers à transactions (modifications) sécurisées de la table d’allocation des fichiers (fonctionnalité optionnelle introduite dans WinCE). En résumé, les métadonnées de la TFAT – ou pour traduire FAT (table d’allocation des fichiers) à transactions sécurisées – sont protégés contre les interruptions survenant lors de la modification d’un fichier en ne sauvegardant les modifications que si celles-ci arrivent à leur terme, ce qui est particulièrement utile dans le cas de supports de stockage amovibles pouvant être retirés à tout moment. Pour ce faire, les modifications des fichiers ou répertoires non terminées sont effectuées dans des blocs séparés alloués dans une des copies de la FAT. Les nouveaux blocs référencés ne remplacent les anciens qu'en fin de transaction, pour synchroniser les copies de la FAT. En cas de problème, les données de la copie de la FAT de travail sont ignorées en y libérant les blocs temporaires des transactions non terminées ;
* possibilité de stocker des paramètres OEM spécifiques dans les métadonnées ;
* utilisation de sommes de contrôle des noms de fichiers (name hashes) pour une vérification plus rapide de ceux-ci.
En revanche :
* La prise en charge est limitée ou inexistante pour les supports antérieurs à 2010 en dehors des ordinateurs.
* Tous les systèmes de sauvegarde qui nécessitent des commandes shell (telles que cp -aRl ou chmod -Ra+w) ont du mal à fonctionner avec des disques au format exFAT.

## Octroi de licences

Les spécifications exactes du format ne sont pas rendues publiques par Microsoft avant l’été 2019. Une licence de Microsoft est alors nécessaire afin d'en développer ou d'en distribuer une implémentation. Les entreprises peuvent intégrer le format exFAT dans certains types de produits incluant les appareils photo, les caméscopes et les cadres photo pour un montant forfaitaire. Les téléphones portables, ordinateurs et réseaux ont un autre modèle de tarification. Cela vaut à Microsoft de toucher quelques euros pour chaque système Android vendu dans le monde ; non qu'Android, fondé sur Linux, ne sache gérer les grands fichiers et les noms longs (avec ext4 entre autres), mais parce que quasiment tous les dispositifs existants utilisent exFAT sur leurs cartes SDXC afin d'être compatibles Windows. Samsung proteste contre cette redevance.
Le 28 août 2019, Microsoft publie les spécifications d’exFAT et transfère la propriété des brevets sur exFAT aux membres de l’Open Invention Network.

## Compatibilité

Le Service Pack 1 de Windows Vista ajoute la prise en charge exFAT. L'exploitation d’exFAT est aussi possible sous Windows XP SP2 et SP3 grâce à la mise à jour KB955704. exFAT est également intégré à Windows 7, Windows 8 et Windows 10.
L'exploitation d’exFAT est intégrée nativement à macOS depuis Mac OS X 10.6.5 « Snow Leopard »$^,$.
exFAT est également supporté sous la plupart des OS GNU/Linux, à travers un pilote libre$^,$ reposant sur FUSE.
Le noyau Linux introduit la prise en charge native du système de fichiers exFAT avec la version 5.4.