Universal Disk Format ( UDF ) est un système de fichiers ouvert et indépendant des fournisseurs pour le stockage de données informatiques sur une large gamme de supports. En pratique, il a été le plus largement utilisé pour les DVD et les formats de disques optiques plus récents , supplantant la norme ISO 9660. En raison de sa conception, il est très bien adapté aux mises à jour incrémentielles sur les supports optiques à écriture unique et réinscriptibles . UDF a été développé et maintenu par l' Optical Storage Technology Association (OSTA).
En termes d'ingénierie, Universal Disk Format est un profil des spécifications connues sous le nom d'ISO/IEC 13346 et ECMA-167.
Usage
Normalement, les logiciels de création gèrent un système de fichiers UDF par lots et l'écrivent sur un support optique en une seule passe. Mais lors de l'écriture par paquets sur un support réinscriptible, tel qu'un CD-RW , UDF permet de créer, de supprimer et de modifier des fichiers sur disque, tout comme le ferait un système de fichiers à usage général sur un support amovible, tel qu'une disquette ou une clé USB . Cela est également possible sur un support à écriture unique, tel qu'un CD-R , mais dans ce cas, l'espace occupé par les fichiers supprimés ne peut pas être récupéré (et devient inaccessible).
Le mastering multi-session est également possible dans UDF, bien que certaines implémentations puissent être incapables de lire des disques avec plusieurs sessions.
Histoire
L' Optical Storage Technology Association a normalisé le système de fichiers UDF pour former un système de fichiers commun à tous les supports optiques : à la fois pour les supports en lecture seule et pour les supports optiques réinscriptibles. Lors de sa première normalisation, le système de fichiers UDF visait à remplacer la norme ISO 9660 , permettant la prise en charge des supports en lecture seule et en écriture. Après la sortie de la première version d'UDF, le DVD Consortium l'a adopté comme système de fichiers officiel pour les DVD-Vidéo et les DVD-Audio .
UDF partage le format de descripteur de volume de base avec ISO 9660. Un format « UDF Bridge » est défini depuis la version 1.50 afin qu'un disque puisse également contenir un système de fichiers ISO 9660 faisant référence aux fichiers de la partie UDF.
Révisions
Plusieurs révisions de l'UDF ont été publiées :
- Révision 1.00 (24 octobre 1995). Version originale.
- Révision 1.01 (3 novembre 1995). Ajout de l'annexe DVD et quelques modifications mineures.
- Révision 1.02 (30 août 1996). Ce format est utilisé par les disques DVD-Vidéo .
- Révision 1.50 (4 février 1997). Ajout de la prise en charge de l'écriture par paquets sur CD-R/W et de la réécriture (virtuelle) sur les supports CD-R/DVD-R en introduisant la structure de la table d'allocation virtuelle (VAT). Ajout de tables de réserve pour la gestion des défauts sur les supports réinscriptibles tels que CD-RW, DVD-RW et DVD+RW. Ajout d'un pont UDF.
- Révision 2.00 (3 avril 1998). Ajout du support pour les fichiers de flux, les listes de contrôle d'accès, l'étalonnage de l'alimentation, les fichiers en temps réel (pour l'enregistrement de DVD ) et la gestion simplifiée des répertoires. Le support de la TVA a été étendu.
- La révision 2.01 (15 mars 2000) est principalement une version de correction de bogues de la norme UDF 2.00. De nombreuses ambiguïtés de la norme UDF ont été résolues dans la version 2.01.
- Révision 2.50 (30 avril 2003). Ajout de la partition de métadonnées facilitant le regroupement des métadonnées, la récupération après incident plus facile et la duplication facultative des informations du système de fichiers : toutes les métadonnées telles que les nœuds et le contenu des répertoires sont écrites sur une partition séparée qui peut éventuellement être mise en miroir. Ce format est utilisé par certaines versions de disques Blu-ray et la plupart des disques HD-DVD .
- Révision 2.60 (1er mars 2005). Ajout de la méthode Pseudo OverWrite pour les lecteurs prenant en charge la fonction de pseudo-écrasement sur les supports enregistrables séquentiellement. Compatible en lecture seule avec les implémentations UDF 2.50. (Certains Blu-ray utilisent ce format.)
Les révisions UDF sont codées en interne sous forme de décimales codées en binaire ; la révision 2.60, par exemple, est représentée par 0x0260 . En plus de déclarer sa propre révision, la compatibilité de chaque volume est définie par les révisions minimales de lecture et d'écriture, chacune signalant les exigences pour que ces opérations soient possibles pour chaque structure de cette image. Une révision « d'écriture maximale » enregistre en outre le niveau de prise en charge UDF le plus élevé de toutes les implémentations qui ont écrit sur cette image. Par exemple, un volume UDF 2.01 qui n'utilise pas Stream Files (introduit dans UDF 2.00) mais utilise VAT (UDF 1.50) créé par une implémentation compatible UDF 2.60 peut avoir la révision déclarée comme 0x0201 , la révision de lecture minimale définie sur 0x0150 , l'écriture minimale sur 0x0150 et l'écriture maximale sur 0x0260 .
Caractéristiques
La norme UDF définit trois variantes de systèmes de fichiers , appelées « builds ». Il s'agit de :
- Plain (accès aléatoire en lecture/écriture). Il s'agit du format d'origine pris en charge dans toutes les révisions UDF
- Table d'allocation virtuelle, également connue sous le nom de VAT (écriture incrémentale). Utilisée spécifiquement pour l'écriture sur des supports à écriture unique
- Épargné (accès limité en écriture aléatoire). Utilisé spécifiquement pour l'écriture sur des supports réinscriptibles
Construction simple
Introduit dans la première version de la norme, ce format peut être utilisé sur tout type de disque permettant un accès aléatoire en lecture/écriture, comme les disques durs , les supports DVD+RW et DVD-RAM . Les métadonnées (jusqu'à la version 2.50) et les données de fichiers sont adressées plus ou moins directement. Lors de l'écriture sur un tel disque dans ce format, n'importe quel bloc physique du disque peut être choisi pour l'allocation de fichiers nouveaux ou mis à jour.
Comme il s'agit du format de base , pratiquement tous les systèmes d'exploitation ou pilotes de systèmes de fichiers revendiquant la prise en charge d'UDF devraient pouvoir lire ce format.
Construction de la TVA
Les supports à écriture unique tels que les DVD-R et les CD-R présentent des limites en termes d'écriture, dans la mesure où chaque bloc physique ne peut être écrit qu'une seule fois et l'écriture doit se faire de manière incrémentielle. Ainsi, la version simple de l'UDF ne peut être écrite sur des CD-R qu'en pré-masterisant les données puis en écrivant toutes les données en une seule fois sur le support, de la même manière qu'un système de fichiers ISO 9660 est écrit sur un support CD.
Pour permettre à un CD-R d'être utilisé virtuellement comme un disque dur, ce qui permet à l'utilisateur d'ajouter et de modifier des fichiers sur un CD-R à volonté (ce que l'on appelle « accès par lettre de lecteur » sous Windows), l'OSTA a ajouté la construction VAT à la norme UDF dans sa révision 1.5. La VAT est une structure supplémentaire sur le disque qui permet l'écriture par paquets ; c'est-à-dire le remappage de blocs physiques lorsque des fichiers ou d'autres données sur le disque sont modifiés ou supprimés. Pour les supports à écriture unique, l'intégralité du disque est virtualisée, ce qui rend la nature de l'écriture unique transparente pour l'utilisateur ; le disque peut être traité de la même manière qu'un disque réinscriptible.
La nature inscriptible des supports CD-R ou DVD-R signifie que lorsqu'un fichier est supprimé du disque, les données du fichier restent sur le disque. Il n'apparaît plus dans le répertoire, mais il occupe toujours l'espace d'origine où il était stocké. Au bout d'un certain temps, après avoir utilisé ce système, le disque sera plein, car l'espace libre ne peut pas être récupéré en supprimant des fichiers. Des outils spéciaux peuvent être utilisés pour accéder à l'état précédent du disque (l'état avant la suppression), ce qui rend la récupération possible.
Tous les lecteurs n'implémentent pas entièrement la version 1.5 ou supérieure de l'UDF, et certains peuvent donc être incapables de gérer les builds VAT.
Construction épargnée (RW)
Les supports réinscriptibles tels que les DVD-RW et les CD-RW ont moins de limitations que les supports DVD-R et CD-R. Les secteurs peuvent être réécrits de manière aléatoire (mais par paquets à la fois). Ces supports peuvent être entièrement effacés à tout moment, rendant le disque vierge, prêt à écrire un nouveau UDF ou un autre système de fichiers (par exemple, ISO 9660 ou CD Audio ). Cependant, les secteurs des supports RW peuvent « s'user » après un certain temps, ce qui signifie que leurs données deviennent peu fiables, car elles ont été réécrites trop souvent (généralement après quelques centaines de réécritures, avec les CD-RW).
Les versions simples et VAT du format UDF peuvent être utilisées sur des supports réinscriptibles, avec certaines limitations. Si la version simple est utilisée sur un support -RW, la modification des données au niveau du système de fichiers ne doit pas être autorisée, car cela épuiserait rapidement les secteurs souvent utilisés sur le disque (tels que ceux des données d'allocation de répertoires et de blocs), ce qui passerait alors inaperçu et entraînerait une perte de données. Pour permettre la modification des fichiers sur le disque, les disques réinscriptibles peuvent être utilisés comme des supports -R en utilisant la version VAT . Cela garantit que tous les blocs ne sont écrits qu'une seule fois (successivement), garantissant qu'aucun bloc n'est réécrit plus souvent que d'autres. De cette façon, un disque RW peut être effacé et réutilisé plusieurs fois avant de devenir non fiable. Cependant, il finira par devenir non fiable sans moyen simple de le détecter. Lorsque vous utilisez la version VAT , les supports CD-RW/DVD-RW apparaissent effectivement comme des supports CD-R ou DVD+/-R sur l'ordinateur. Cependant, le support peut être effacé à nouveau à tout moment.
La version Spared a été ajoutée dans la révision 1.5 pour répondre aux particularités des supports réinscriptibles. Cette version ajoute une table de réserve supplémentaire afin de gérer les défauts qui finiront par se produire sur les parties du disque qui ont été réécrites trop de fois. Cette table garde la trace des secteurs usés et les remappe sur ceux qui fonctionnent. La gestion des défauts UDF ne s'applique pas aux systèmes qui implémentent déjà une autre forme de gestion des défauts, comme Mount Rainier (MRW) pour les disques optiques, ou un contrôleur de disque pour un disque dur.
Les outils et les lecteurs qui ne prennent pas entièrement en charge la révision 1.5 de l'UDF ignoreront la table de réserve, ce qui les conduirait à lire les secteurs usés obsolètes, entraînant la récupération de données corrompues.
Une surcharge répartie sur l'ensemble du disque réserve une partie de l'espace de stockage des données, limitant la capacité utilisable d'un CD-RW avec par exemple 650 Mo de capacité d'origine à environ 500 Mo.
Jeu de caractères
Les spécifications UDF n'autorisent qu'un seul jeu de caractères OSTA CS0 , qui peut stocker n'importe quel point de code Unicode à l'exception de U+FEFF et U+FFFE. Les jeux de caractères supplémentaires définis dans ECMA-167 ne sont pas utilisés.
Depuis l'errata DCN-5157, la plage de points de code a été étendue à tous les points de code d'Unicode 4.0 (ou toute version plus récente ou plus ancienne), ce qui inclut les caractères des plans 1 à 16 tels que Emoji . DCN-5157 recommande également de normaliser les chaînes selon la forme de normalisation C.
Le jeu de caractères OSTA CS0 stocke une chaîne Unicode 16 bits « compressée » en unités 8 bits ou 16 bits, précédée d'une balise « compID » à un octet pour indiquer le type de compression. Le stockage 8 bits est fonctionnellement équivalent à ISO-8859-1 , et le stockage 16 bits est UTF-16 en big endian. Les noms de fichiers 8 bits par caractère permettent d'économiser de l'espace car ils ne nécessitent que la moitié de l'espace par caractère, ils doivent donc être utilisés si le nom de fichier ne contient aucun caractère spécial qui ne peut pas être représenté avec 8 bits seulement.
L'algorithme de référence ne vérifie pas les points de code interdits ni n'interprète les paires de substitution , donc comme NTFS, la chaîne peut être mal formée. (Aucune forme spécifique de stockage n'est spécifiée par DCN-5157, mais UTF-16BE est la seule méthode bien connue pour stocker l'intégralité de l'Unicode tout en étant principalement rétrocompatible avec UCS-2 .)
Compatibilité
De nombreux lecteurs de DVD ne prennent en charge aucune révision UDF autre que la version 1.02. Les disques créés avec une révision plus récente peuvent toujours fonctionner sur ces lecteurs si le format de pont ISO 9660 est utilisé. Même si un système d'exploitation prétend pouvoir lire UDF 1.50, il peut toujours ne prendre en charge que la version simple et pas nécessairement les versions UDF VAT ou Spared .
Mac OS X 10.4.5 prétend prendre en charge la révision 1.50 (voir man mount_udf ), mais il ne peut monter correctement que des disques de la version standard et ne fournit aucun support de virtualisation. Il ne peut pas monter de disques UDF avec VAT, comme on l'a vu avec le problème de Sony Mavica. Les versions antérieures à 10.4.11 montent des disques avec Sparing Table mais ne lisent pas correctement ses fichiers. La version 10.4.11 corrige ce problème.
De même, Windows XP Service Pack 2 (SP2) ne peut pas lire les disques DVD-RW qui utilisent les tables de réserve UDF 2.00 comme système de gestion des défauts. Ce problème se produit si le système de gestion des défauts UDF crée une table de réserve qui s'étend sur plusieurs secteurs du disque DVD-RW. Windows XP SP2 peut reconnaître qu'un DVD utilise UDF, mais Windows Explorer affiche le contenu d'un DVD sous forme de dossier vide. Un correctif est disponible pour ce problème et est inclus dans le Service Pack 3.
En raison des versions et options UDF par défaut, une partition UDF formatée par Windows ne peut pas être écrite sous macOS. En revanche, une partition formatée par macOS ne peut pas être directement écrite par Windows, en raison de l'exigence d'une table de partition MBRformat-udf . De plus, Linux ne prend en charge l'écriture que dans UDF 2.01. Un script pour Linux et macOS appelé gère ces incompatibilités en utilisant UDF 2.01 et en ajoutant un faux MBR ; pour Windows, la meilleure solution est d'utiliser l'outil de ligne de commande format /FS:UDF /R:2.01.