Universal Disk Format

Universal Disk Format (UDF) is a profile of the specification known as ISO/IEC 13346 and ECMA-167[5] and is an open vendor-neutral file system for computer data storage for a broad range of media. In practice, it has been most widely used for DVDs and newer optical disc formats, supplanting ISO 9660. Due to its design, it is very well suited to incremental updates on both recordable and (re)writable optical media. UDF was developed and maintained by the Optical Storage Technology Association (OSTA).

UDF
Developer(s)ISO/ECMA/OSTA
Full nameUniversal Disk Format
Introduced1995 (1995)
Partition identifierNot assigned but suggested:[1]
0x07 (MBR)
EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 (GPT)
Limits
Max. volume size2 TiB (with 512 byte sectors), 8 TiB (with 2 KiB sectors, like most optical discs), 16 TiB (with 4 KiB sectors)[2][3]
Max. file size16 EiB
Max. filename length255 bytes (path 1023 bytes[4])
Allowed characters in filenamesAny 16bit Unicode Code point excluding U+FEFF and U+FFFE
Features
Dates recordedcreation, archive, modification (mtime), attribute modification (ctime), access (atime)
Date range1 January 1 – 31 December 9999
Date resolutionMicrosecond
ForksYes
AttributesVarious
File system permissionsPOSIX
Transparent compressionNo
Other
Supported operating systemsVarious

Usage

Normally, authoring software will master a UDF file system in a batch process and write it to optical media in a single pass. But when packet writing to rewritable media, such as CD-RW, UDF allows files to be created, deleted and changed on-disc just as a general-purpose filesystem would on removable media like floppy disks and flash drives. This is also possible on write-once media, such as CD-R, but in that case the space occupied by the deleted files cannot be reclaimed (and instead becomes inaccessible).

Multi-session mastering is also possible in UDF, though some implementations may be unable to read disks with multiple sessions.[6]

History

The Optical Storage Technology Association standardized the UDF file system to form a common file system for all optical media: both for read-only media and for re-writable optical media. When first standardized, the UDF file system aimed to replace ISO 9660, allowing support for both read-only and writable media. After the release of the first version of UDF, the DVD Consortium adopted it as the official file system for DVD-Video and DVD-Audio.[7]

UDF shares the basic volume descriptor format with ISO 9660. A "UDF Bridge" format is defined since 1.50 so that a disc can also contain a ISO 9660 file system making references to files on the UDF part.[8]

Revisions

Multiple revisions of UDF have been released:[7][9]

  • Revision 1.00[10] (24 October 1995). Original Release.
  • Revision 1.01[10] (3 November 1995). Added DVD Appendix and made a few minor changes.
  • Revision 1.02[11] (30 August 1996). This format is used by DVD-Video discs.
  • Revision 1.50[12] (4 February 1997). Added support for (virtual) rewritability on CD-R/DVD-R media by introducing the VAT structure. Added sparing tables for defect management on rewritable media such as CD-RW, and DVD-RW and DVD+RW. Add UDF bridge.
  • Revision 2.00[13] (3 April 1998). Added support for Stream Files and real-time files (for DVD recording) and simplified directory management. VAT support was extended.
  • Revision 2.01[14] (15 March 2000) is mainly a bugfix release to UDF 2.00. Many of the UDF standard's ambiguities were resolved in version 2.01.
  • Revision 2.50[15] (30 April 2003). Added the Metadata Partition facilitating metadata clustering, easier crash recovery and optional duplication of file system information: All metadata like nodes and directory contents are written on a separate partition which can optionally be mirrored. This format is used by some versions of Blu-rays and most HD-DVD discs.
  • Revision 2.60[16] (1 March 2005). Added Pseudo OverWrite method for drives supporting pseudo overwrite capability on sequentially recordable media. Has read-only compatibility with UDF 2.50 implementations.:10 (Some Blu-rays use this format.)

UDF Revisions are internally encoded as binary-coded decimals; Revision 2.60, for example, is represented as 0x0260.[16]:23 In addition to declaring its own revision, compatibility for each volume is defined by the minimum read and minimum write revisions, each signalling the requirements for these operations to be possible for every structure on this image. A "maximum write" revision additionally records the highest UDF support level of all the implementations that has written to this image.[16]:34 For example, a UDF 2.01 volume that does not use Stream Files (introduced in UDF 2.00) but uses VAT (UDF 1.50) created by a UDF 2.60-capable implementation may have the revision declared as 0x0201, the minimum read revision set to 0x0150, the minimum write to 0x0150, and the maximum write to 0x0260.

Specifications

The UDF standard defines three file system variations, called "builds". These are:

  • Plain (Random Read/Write Access). This is the original format supported in all UDF revisions
  • Virtual Allocation Table a.k.a. VAT (Incremental Writing). Used specifically for writing to write-once media
  • Spared (Limited Random Write Access). Used specifically for writing to rewritable media

Plain build

Introduced in the first version of the standard, this format can be used on any type of disk that allows random read/write access, such as hard disks, DVD+RW and DVD-RAM media. Metadata (up to v2.50) and file data is addressed more or less directly. In writing to such a disk in this format, any physical block on the disk may be chosen for allocation of new or updated files.

Since this is the basic format, practically any operating system or file system driver claiming support for UDF should be able to read this format.

VAT build

Write-once media such as DVD-R and CD-R have limitations when being written to, in that each physical block can only be written to once, and the writing must happen incrementally. Thus the plain build of UDF can only be written to CD-Rs by pre-mastering the data and then writing all data in one piece to the media, similar to the way an ISO 9660 file system gets written to CD media.

To enable a CD-R to be used virtually like a hard disk, whereby the user can add and modify files on a CD-R at will (so-called "drive letter access" on Windows), OSTA added the VAT build to the UDF standard in its revision 1.5. The VAT is an additional structure on the disc that allows packet writing; that is, remapping physical blocks when files or other data on the disc are modified or deleted. For write-once media, the entire disc is virtualized, making the write-once nature transparent for the user; the disc can be treated the same way one would treat a rewritable disc.

The write-once nature of CD-R or DVD-R media means that when a file is deleted on the disc, the file's data still remains on the disc. It does not appear in the directory any more, but it still occupies the original space where it was stored. Eventually, after using this scheme for some time, the disc will be full, as free space cannot be recovered by deleting files. Special tools can be used to access the previous state of the disc (the state before the delete occurred), making recovery possible.

Not all drives fully implement version 1.5 or higher of the UDF, and some may therefore be unable to handle VAT builds.

Spared (RW) build

Rewriteable media such as DVD-RW and CD-RW have fewer limitations than DVD-R and CD-R media. Sectors can be rewritten at random (though in packets at a time). These media can be erased entirely at any time, making the disc blank again, ready for writing a new UDF or other file system (e.g., ISO 9660 or CD Audio) to it. However, sectors of -RW media may "wear out" after a while, meaning that their data becomes unreliable, through having been rewritten too often (typically after a few hundred rewrites, with CD-RW).

The plain and VAT builds of the UDF format can be used on rewriteable media, with some limitations. If the plain build is used on a -RW media, file-system level modification of the data must not be allowed, as this would quickly wear out often-used sectors on the disc (such as those for directory and block allocation data), which would then go unnoticed and lead to data loss. To allow modification of files on the disc, rewriteable discs can be used like -R media using the VAT build. This ensures that all blocks get written only once (successively), ensuring that there are no blocks that get rewritten more often than others. This way, a RW disc can be erased and reused many times before it should become unreliable. However, it will eventually become unreliable with no easy way of detecting it. When using the VAT build, CD-RW/DVD-RW media effectively appears as CD-R or DVD+/-R media to the computer. However, the media may be erased again at any time.

The spared build was added in revision 1.5 to address the particularities of rewriteable media. This build adds an extra Sparing Table in order to manage the defects that will eventually occur on parts of the disc that have been rewritten too many times. This table keeps track of worn-out sectors and remaps them to working ones. UDF defect management does not apply to systems that already implement another form of defect management, such as Mount Rainier (MRW) for optical discs, or a disk controller for a hard drive.

The tools and drives that do not fully support revision 1.5 of UDF will ignore the sparing table, which would lead them to read the outdated worn-out sectors, leading to retrieval of corrupted data.

The so-called UDF overhead that is spread over the entire disc reserves a portion of the data storage space, limiting the useable capacity of CD-RW with e.g. 650 MB of original capacity to around 500 MB.[17]

Character set

The UDF specifications[7] allow only one Character Set OSTA CS0, which can store any Unicode Code point excluding U+FEFF and U+FFFE. Additional character sets defined in ECMA-167 are not used.[5](7.2)

Since Errata DCN-5157, the range of code points was expanded to all code points from Unicode 4.0 (or any newer or older version), which includes Plane 1-16 characters such as Emoji. DCN-5157 also recommends normalizing the strings to Normalization Form C.[18]

The OSTA CS0 character set stores a 16-bit Unicode string "compressed" into 8-bit or 16-bit units, preceded by a single-byte "compID" tag to indicate the compression type. The 8-bit storage is functionally equivalent to ISO-8859-1, and the 16-bit storage is UTF-16 in big endian. The reference algorithm neither checks for forbidden code points nor interprets surrogate pairs, so like NTFS the string may be malformed.[7](2.1.2, 6.4) (No specific form of storage is specified by DCN-5157, but UTF-16BE is the only well-known method for storing all of Unicode while being mostly backward compatible with UCS-2.)[18]

Compatibility

Many DVD players do not support any UDF revision other than version 1.02. Discs created with a newer revision may still work in these players if the ISO 9660 bridge format is used. Even if an operating system claims to be able to read UDF 1.50, it still may only support the plain build and not necessarily either the VAT or Spared UDF builds.

Mac OS X 10.4.5 claims to support Revision 1.50 (see man mount_udf), yet it can only mount disks of the plain build properly and provides no virtualization support at all. It cannot mount UDF disks with VAT, as seen with the Sony Mavica issue.[19][20] Releases before 10.4.11 mount disks with Sparing Table but does not read its files correctly. Version 10.4.11 fixes this problem.[21][22]

Similarly, Windows XP Service Pack 2 (SP2) cannot read DVD-RW discs that use the UDF 2.00 sparing tables as a defect management system.[23] This problem occurs if the UDF defect management system creates a sparing table that spans more than one sector on the DVD-RW disc. Windows XP SP2 can recognize that a DVD is using UDF, but Windows Explorer displays the contents of a DVD as an empty folder. A hotfix is available for this[24] and is included in Service Pack 3.[25]

Due to the default UDF versions and options, a UDF partition formatted by Windows cannot be written under macOS. On the other hand, a partition formatted by macOS cannot be directly written by Windows, due to the requirement of a MBR partition table. In addition, Linux only supports writing to UDF 2.01. A script for Linux and macOS called format-udf handles these incompatibilities by using UDF 2.01 and adding a fake MBR;[26] for Windows the best solution is using the command-line tool format /FS:UDF /R:2.01.

Table of operating systems
  • Unless otherwise noted, read and write support means that only the plain UDF build is supported, but not the VAT and spared build.
  • Support for "read" means that a UDF formatted disk can be mounted by the system. It enables the user to read files from the UDF volume using the same interface that is used to access files on other disks connected to the computer.
  • Support for "write" means that, in addition to reading files from a mounted UDF volume, data such as files can be modified, added, or deleted.
UDF revision (read + write) Non-plain
Operating system 1.02 1.50 2.0x 2.50 2.60 VAT Sparing Tables Note
AIX 5.2, 5.3, 6.1 Yes Yes No No 1.5 is default[27]
AmigaOS 4.0 Yes Yes
BeOS/magnussoft ZETA/Haiku Yes Yes Yes Yes Yes
OS/2 (including eComStation and ArcaOS) Yes Additional fee drivers on OS/2.
FreeBSD 5.0 and new read only read only[28] No No No No Yes
Linux kernel 2.2 No No No No No No No
Linux kernel 2.4 Yes Yes Yes[29] No No Yes Yes
Linux kernel 2.6.0 - 2.6.25 Yes Yes Yes No No Yes Yes Kernel versions prior to 2.6.10 supported fewer media types.
Linux kernel 2.6.26 and newer Yes Yes Yes read only[30] read only[16]:10 Yes Yes Permission-related mounting options added in 2.6.30.[31] Auto-detection of UDF file system on hard disk is supported since version 2.6.30. Auto-detection of UDF file system on disk images was fixed in 4.11.
Mac OS 8.1 - 8.5 Yes No No No No No No Some earlier versions of Mac OS, such as 7.5, 7.6, and 8.0 are also supported via third-party utilities, along with additional UDF version support for 8.1 and 8.5.[32]
Mac OS 8.6, Mac OS 9 Yes Yes No No No No No Additional UDF version support via third-party utilities.[32]
Mac OS X 10.0 - 10.3 Yes Yes[33] No[33] No No No No
Mac OS X 10.4 Yes Yes Yes No[34][35] No[36] No Yes[37] Can create UDF 1.50 (plain build) volumes using the drutil utility.
Mac OS X 10.5 and newer Yes Yes Yes Yes[38][35] read only[38][39] Yes Yes To create, use newfs_udf utility.
NetBSD 4.0 read only[40] read only read only read only read only Yes Yes Reading multi-session VAT, spared and metapartition variants
from all CD, DVD and BD variants as well as HDD and Flash media.
NetBSD 5.0 Yes Yes Yes Yes Yes Yes Yes Write support for all builds and media including multi-session VAT.[41] Create new with newfs_udf.
Limited writing on 2.50/2.60 (due to needing pre-allocated, fixed sized metadata partition).[42]
NetWare 5.1
NetWare 6
OpenBSD 3.8 - 3.9 read only[43] No No No No No No
OpenBSD 4.0 - 4.6 read only read only[44] No No No Yes[44] No
OpenBSD 4.7 read only read only read only read only[45] read only[45] Yes Yes
Solaris 7 11/99+ Yes Yes
Solaris 8/9/10 Yes Yes
DOS, FreeDOS, Windows 3.11, Windows 95, Windows 95 OSR2+ and other DOS based OS No[46] No No No No No No No native support. Filesystems that have an ISO9660 backward compatibility structure can be read.
Windows 98, Windows Me read only and only for CD/DVD optical disks[47][48][49][46] No No No No No No Additional read/write support via third party utilities[50]
Windows 2000 read only[49][51][52][53][46] read only No No No No No Additional read/write support via third party utilities[50]
Windows XP/Server 2003 read only[52][53][46] read only read only No No Yes Yes[54] Additional read/write support via third party utilities[50]
Windows Vista Yes[55][56][53][46] Yes Yes Yes read only[55][56][53][46] Yes Yes Referred to by Microsoft as Live File System. Requires fake MBR partition on non-optical devices.
Windows 7, Windows 8, Windows 10 Yes[46] Yes Yes Yes Yes Yes Yes
Operating system 1.02 1.50 2.0x 2.50 2.60 VAT Sparing Tables Note
UDF revision (read + write) Non-plain

See also

References

  1. "Serverfault answer for: What is the partition id / filesystem type for UDF?".
  2. 232 × block size
  3. "Wenguang's Introduction to Universal Disk Format (UDF)". Google Sites. 1 February 2009. Section 5.1 Highlight of the UDF Format. Retrieved 16 July 2014.
  4. This restriction might be lifted in newer versions.
  5. ECMA-167 - Volume and File Structure for Write-Once and Rewritable Media using Non-Sequential Recording for Information Interchange
  6. Multi-session mastering has always been part of the UDF specification. See [UDF 2.01/6.10.1], though earlier documents were not very clear that the anchor offsets are specified to be from the last session.
  7. OSTA - UDF Specifications
  8. "ECMA Technical Report TR/71: DVD Read-Only Disk File System Specifications" (PDF). February 1998.
  9. Wenguang's Introduction to Universal Disk Format (UDF)
  10. Mentioned only in history of Revision 1.02
  11. OSTA Universal Disk Format Specification Revision 1.02
  12. OSTA Universal Disk Format Specification Revision 1.50
  13. OSTA Universal Disk Format Specification Revision 2.00
  14. OSTA Universal Disk Format Specification Revision 2.01
  15. OSTA Universal Disk Format Specification Revision 2.50
  16. OSTA Universal Disk Format Specification Revision 2.60
  17. "PC Hardware in a Nutshell: A Desktop Quick Reference" by Robert Bruce Thompson, Barbara Fritchman Thompson (2003) −– Chapter 11 (starting page 340): CD writers
  18. "UDF 2.60 approved errata" (PDF). Retrieved 22 April 2018.
  19. "Sony Mavica UDF Compatibility Issue". Apple. 19 February 2012. Archived from the original on 26 April 2012. Retrieved 16 July 2014.
  20. "Mac OS X UDF Compatibility Issues". Free(code). 11 July 2012. Retrieved 16 July 2014.
  21. "Intel Update". Apple. 14 November 2007. Archived from the original on 28 March 2010. Retrieved 16 July 2014.
  22. "PowerPC Update". Apple. 14 November 2007. Archived from the original on 31 May 2010. Retrieved 16 July 2014.
  23. "Microsoft Windows UDF Read Troubleshooting". microsoft.com.
  24. "Windows XP UDF hotfix". microsoft.com.
  25. "MS Windows and UDF optical discs".
  26. "JElchison/format-udf: Bash script to format a block device (hard drive or Flash drive) in UDF". GitHub. 27 June 2020. The output is a drive that can be used for reading/writing across multiple operating system families: Windows, macOS, and Linux. This script should be capable of running in macOS or in Linux.
  27. "Welcome to the AIX 6.1 Information Center". IBM. Retrieved 25 September 2010.
  28. "FreeBSD 5.0-RELEASE Release Notes".
  29. Linux version 2.3.17 - 2.4.5 supports only UDF revision up to 2.00, Linux version 2.4.6 and newer supports also UDF revision 2.01
  30. "Linux 3.13: fs/udf/udf_sb.h". 24 September 2013. Retrieved 29 January 2014.
  31. "Linux 2.6.30 Changelog". 12 June 2009. Retrieved 13 September 2015.
  32. Read and (depending on which utility is used) write support for UDF versions 1.02, 1.50, 2.00, and 2.01 (support for 1.50 is not natively present in 8.1 or 8.5, and 2.00 onwards was not supported by the classic Mac OS at all) on optical disks available with third party utilities such as Adaptec's UDF Volume Access or Software Architects' DVD-RAM Tune-Up utilities.
  33. "mount_udf manpage for Mac OS X 10.3". UDF 1.50 is supported. UDF 2.0 and later is not.
  34. Support via third party utility Toast 9+ HD Plugin
  35. "Disc Recording Release Notes for OS X v10.5". This release note describes changes to the Disc Recording frameworks from OS X version 10.4. The Disc Recording content creation engine now supports writing UDF 2.0 discs in addition to UDF 1.02 and 1.5.
  36. Support via third party utility Toast 9+
  37. Since version 10.4.11
  38. "mount_udf manpage for Mac OS X 10.5". Reading of all UDF revisions (1.02 - 2.60) on both block device (e.g. hard drives and USB drives) and most optical media is supported. Writing to block devices, DVD-RW and DVD+RW is supported with the following exceptions: (1) Cannot write Finder Info, Resource Fork, or other extended attributes in UDF volumes of revision 1.02 and 1.50; (2) Cannot write to mirrored metadata partition.
  39. "Mac Technology Overview - Kernel and Device Drivers Layer". OS X supports reading UDF revisions 1.02 through 2.60 on both block devices and most optical media, and it supports writing to block devices and to DVD-RW and DVD+RW media using UDF 2.00 through 2.50 (except for mirrored metadata partitions in 2.50).
  40. "Announcing NetBSD 4.0". Added UDF support for optical media and block devices, see mount_udf(8). Read-only for now.
  41. "NetBsd 5 release notes". NetBSD.
  42. "NetBSD System Manager's Manual". Retrieved 25 September 2010.
  43. "OpenBSD 3.8".
  44. "OpenBSD 4.0".
  45. "The OpenBSD 4.7 Release". OpenBSD. Retrieved 25 September 2010.
  46. "[MS-FSCC]: File System Control Codes: 6 Appendix B: Product Behavior". Windows UDF File System Support table
  47. Microsoft Corporation (January 1998). "Chapter 10 - Disks and File Systems". Microsoft Windows 98 Resource Kit. Microsoft Press. p. 442. ISBN 978-1-57231-644-7. Retrieved 9 September 2017. Windows 98 has a new read-only Universal Disk Format (UDF) system, which supports reading media formatted according to UDF specification 1.02.
  48. Microsoft Corporation (January 1998). "Chapter 28 - Windows 98 Architecture". Microsoft Windows 98 Resource Kit. Microsoft Press. p. 1316. ISBN 978-1-57231-644-7. Retrieved 9 September 2017. The 32-bit, protected-mode UDF file system in Windows 98 is implemented according to Revision 1.02 of Universal Disk Format Specification by Optical Storage Technology Association (OSTA). It provides read-only access to UDF-formatted media, such as DVD discs. The UDF file system uses VCACHE and is dynamic, requiring no configuration or static allocation on the part of the user.
  49. Matt Pietrek (November 1997). "A Programmer's Perspective on New System DLL Features in Windows NT 5.0, Part I". Microsoft Systems Journal. Retrieved 9 September 2017. Windows NT 5.0 also adds UDF (Universal Disk Format). ... The UDF implementations shipping in both Windows 98 (UDF 1.02) and Windows NT 5.0 (UDF 1.50) are read-only.
  50. Read and write support for other UDF versions on optical disks available with third party utilities such as DLA, InCD or Toshiba/Panasonic/Matsushita UDF 2.5 driver. Read and write support for removable disks and hard disks available with third party utilities such as SAI's WriteUDF!.
  51. Russinovich, M. E.; Solomon, D. A. (2000). "Chapter 12 - File Systems". Inside Microsoft Windows 2000 (Third ed.). Redmond, Washington: Microsoft Press. ISBN 978-0-7356-1021-7. The Windows 2000 UDF file system implementation is ISO 13346-compliant and supports UDF versions 1.02 and 1.5. ... the Windows 2000 UDF driver (Udfs.sys) provides read-only support.
  52. Russinovich, M. E.; Solomon, D. A. (2005). "Chapter 12 - File Systems". Microsoft Windows Internals, Fourth Edition: Microsoft Windows Server 2003, Windows XP, and Windows 2000 (Fourth ed.). Redmond, Washington: Microsoft Press. p. 691. ISBN 0-7356-1917-4. The UDF driver supports UDF versions 1.02, version 1.5 on Windows 2000, and versions 2.0 and 2.01 on Windows XP and Windows Server 2003. ... the Windows UDF driver (Udfs.sys) provides read-only support. Windows does not implement support for other UDF features, including named streams, access control lists, or extended attributes.
  53. WinHEC 2004 Version (5 May 2004). "2.3 About the UDF File System" (doc). Local File Systems for Windows (Report). Microsoft Corporation. pp. 6–8.
  54. Service Pack 3 required
  55. Russinovich, M. E.; Solomon, D. A.; Ionescu, A. (2009). "Chapter 12 - File Systems". Windows Internals, 5th Edition: Windows Vista and Windows Server 2008 (5th ed.). Redmond, Washington: Microsoft Press. p. 981. ISBN 978-0-7356-3796-2. The UDF driver supports UDF versions up to 2.60. The Windows UDF driver (Udfs.sys) provides read-write support ... when using UDF 2.50 and read-only support when using UDF 2.60. However, Windows does not implement support for certain UDF features such as named streams and access control lists.
  56. Russinovich, M. E.; Solomon, D. A.; Ionescu, A. (2012). "Chapter 12 - File Systems". Windows Internals, Part 2, 6th Edition: Windows 7 and Windows Server 2008 R2 (6th ed.). Redmond, Washington: Microsoft Press. p. 393. ISBN 978-0-7356-6587-3. The UDF driver supports UDF versions up to 2.60. The Windows UDF driver (Udfs.sys) provides read-write support ... when using UDF 2.50 and read-only support when using UDF 2.60. However, Windows does not implement support for certain UDF features such as named streams and access control lists.

Further reading

  • ISO/IEC 13346 standard, also known as ECMA-167.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.