exFAT

Système de fichiers

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
Développeur Microsoft
Nom anglais Extended File Allocation Table
Introduction 2006
(Windows Embedded CE 6.0)
Identificateur de partition MBR/EBR: 0x07 (même que HPFS/NTFS)
BDP/GPT: EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
Structure
Contenu des répertoires tableaux hiérarchiques
Allocation de fichiers liste chaînée dans la FAT
Mauvais blocs marqués 0x?ffffff7 dans la FAT
Limitations
Taille maximale de fichier 128 Pio (théoriquement : 16 Eio - 1)
Nombre maximal de fichiers 2 796 202 par répertoire
Taille maximale du nom de fichiers 255 caractères (UTF-16)
Taille maximale de volume 128 Pio (recommandé : 512 Tio)
Caractères autorisés dans les noms de fichiers tous les caractères Unicode sauf
le caractère nul, / \ : * ? " < > |
espace en début et fin de nom
Fonctionnalités
Dates enregistrées modification, création, accès
Plage de dates au
Forks non pris en charge
Attributs verrouillé, archivé, caché, système, sous-répertoire
Permissions non pris en charge
Compression intégrée non pris en charge
Chiffrement intégré non pris en charge

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[réf. nécessaire].

Fonctions

modifier

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 264 octets (16 Eio), à comparer aux 232 (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 2255 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 216 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[1].

Octroi de licences

modifier

Les spécifications exactes du format ne sont pas rendues publiques par Microsoft avant l’été . Une licence de Microsoft est alors nécessaire afin d'en développer ou d'en distribuer une implémentation[2]. 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[2]. 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[3]. Samsung proteste contre cette redevance[4].

Le , Microsoft publie les spécifications d’exFAT[5] et transfère la propriété des brevets sur exFAT aux membres de l’Open Invention Network[6].

Compatibilité

modifier

Le Service Pack 1 de Windows Vista ajoute la prise en charge exFAT[7]. L'exploitation d’exFAT est aussi possible sous Windows XP SP2 et SP3 grâce à la mise à jour KB955704[8]. 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 »[9],[10].

exFAT est également supporté sous la plupart des OS GNU/Linux, à travers un pilote libre[11],[12] reposant sur FUSE.

Le noyau Linux introduit la prise en charge native du système de fichiers exFAT avec la version 5.4[13].

Notes et références

modifier
  1. Exemple d'inconvénient donné pour le logiciel BackInTime (cf. http://doc.ubuntu-fr.org/sauvegarde)
  2. a et b (en) Marius Oiaga, « Microsoft Licenses Windows 7’s exFAT Flash File Format », Softpedia.com, .
  3. « Les 310 brevets que Microsoft utilise contre Android », sur iGeneration (consulté le ).
  4. « Entreprises, E-business, IT Business, Startups et entrepreneurs - Clubic », sur Clubic.com (consulté le ).
  5. (en) « exFAT Specification », sur Microsoft.com, .
  6. (en) John Gossman, « exFAT in the Linux kernel? Yes! », Microsoft, (consulté le ).
  7. Brandon LeBlanc, « Vista SP1 Whitepaper », Microsoft, (consulté le ).
  8. Mise à jour pour Windows XP (KB955704)
  9. Mac OS X 10.6.5 devrait gérer l'ExFAT, sur le site macgeneration.com
  10. Mac OS X : la mise à jour 10.6.5 pour Snow Leopard disponible, sur le site pcinpact.com.
  11. (en) exfat sur github.com
  12. « Paquet fuse-exfat », sur debian.org.
  13. (en) Abhishek Prakash, « Linux Kernel 5.4 Release Features », sur itsfoss.com, (consulté le ).

Voir aussi

modifier

Articles connexes

modifier

Liens externes

modifier