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 | |
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.
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 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
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é
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
- Exemple d'inconvénient donné pour le logiciel BackInTime (cf. http://doc.ubuntu-fr.org/sauvegarde)
- (en) Marius Oiaga, « Microsoft Licenses Windows 7’s exFAT Flash File Format », Softpedia.com,
- « Les 310 brevets que Microsoft utilise contre Android », sur iGeneration (consulté le ).
- « Entreprises, E-business, IT Business, Startups et entrepreneurs - Clubic », sur Clubic.com (consulté le ).
- (en) « exFAT Specification », sur Microsoft.com,
- (en) John Gossman, « exFAT in the Linux kernel? Yes! », Microsoft, (consulté le )
- Brandon LeBlanc, « Vista SP1 Whitepaper », Microsoft, (consulté le )
- Mise Ă jour pour Windows XP (KB955704)
- Mac OS X 10.6.5 devrait gérer l'ExFAT, sur le site macgeneration.com
- Mac OS X : la mise Ă jour 10.6.5 pour Snow Leopard disponible, sur le site pcinpact.com
- (en) exfat sur github.com
- « Paquet fuse-exfat », sur debian.org
- (en) Abhishek Prakash, « Linux Kernel 5.4 Release Features », sur itsfoss.com, (consulté le )
Voir aussi
Articles connexes
- Système de fichiers
- File Allocation Table : détaille les structures du système de fichiers
- FAT12
- FAT16
- FAT32
- NTFS
Liens externes
- (en) Personal Storage: Opportunities and challenges for pocket-sized storage devices in the Windows world, présentation Microsoft PowerPoint discutant des enjeux du stockage amovible sous Windows
- (en) TFAT Overview, résumé sur le site de Microsoft du fonctionnement de la TFAT (pour Windows Mobile) intégré depuis dans exFAT sur Windows Vista (dans le service Pack 1) et suivants (Windows 7 par exemple) mais uniquement de façon optionnelle (exFAT est alors appelé TexFAT s'il est installé avec le support transactionnel) et non recommandée (pour les OS non mobiles, Microsoft recommande plutôt NTFS).
- (en) Extended FAT File System, description du nouveau système de fichiers
- (en) Limitations du système de fichiers FAT32 dans Windows XP, article de la base de connaissances Microsoft
- (fr) exFAT dans le noyau Linux ? Microsoft a (enfin) dit oui !