# Packet-Writing

Packet-Writing ist eine Technik zum Schreiben („Brennen“) auf optische Medien in einer Art und Weise, wie es auf Festplatten oder Disketten üblich ist. Dies wird auch als „inkrementelles Schreiben“ bezeichnet.

## Technik

Normalerweise können optische Medien, wie etwa die CD-R(W) und die DVD±R(W), nur in einem Stück beschrieben werden (Disc-At-Once, Track-At-Once und Session-At-Once).
Unter dem englischen Begriff „Packet Writing“ versteht man eine Technik zum inkrementellen Beschreiben von optischen Medien. Damit ist es möglich, optische Medien wie eine Festplatte oder eine Diskette zu verwenden. Dateien können somit auf dem jeweiligen optischen Medium kopiert, verschoben, verändert, umbenannt oder gelöscht werden.
Meistens kommt für Packet-Writing das „Universal Disk Format“ (UDF) ab Version 1.50 als Dateisystem zum Einsatz. UDF ist am besten an die Erfordernisse von optischen Medien angepasst und daher das empfohlene Dateisystem auf allen inkrementell beschriebenen optischen Medien.
Um Packet-Writing verwenden zu können, benötigt man ein CD/DVD-Laufwerk, das das Schreiben von Daten in kleinen Einheiten auf das Medium unterstützt. So gut wie alle CD- und DVD-Brenner unterstützen diese Funktion, es könnte jedoch sein, dass diese vor allem bei älteren Geräten fehlt.

### UDF

UDF steht für „Universal Disk Format“ und beschreibt das Dateisystem (oder auch High-Level-Formatierung), in welchem die Daten bzw. Dateien auf das Medium geschrieben werden. UDF wurde dabei mit besonderem Augenmerk auf optische Speichermedien entwickelt.
Für ein optisches Medium ist jeder Schreibzugriff eine Belastung. Verschiedene optische Medien halten unterschiedlich viele solcher Belastungen aus, und dies an jeder Stelle des gesamten Speicherbereichs. Um die Lebensdauer des Mediums möglichst hoch zu halten, ist es daher notwendig, es möglichst gleichmäßig zu belasten.
Zur Nutzung mit Packet-Writing ist das Universal-Disk-Format in Version 1.50 oder höher erforderlich. UDF-Version 1.02 ist ein statisches Dateisystem, vergleichbar mit ISO 9660, das beispielsweise als „ISO/UDF-Bridge“ für DVD-Video zum Einsatz kommt.
Eine der häufigsten Belastungen beim Beschreiben von optischen Medien stellt das Aktualisieren des Inhaltsverzeichnisses dar. Jedes Mal, wenn sich eine Datei ändert, und sei es nur der Dateiname, muss diese Änderung ins Inhaltsverzeichnis geschrieben werden. UDF ab Version 1.50 ist deswegen so gut für Packet-Writing geeignet, weil es das Inhaltsverzeichnis an verschiedenen Stellen auf dem optischen Medium speichert und somit die Belastung verteilt.
Ein anderes Problem stellt die Verwaltung des freien Speicherplatzes dar. Auf Festplatten werden Dateien kurzerhand dort geschrieben, wo sonst keine Datei steht – mit anderen Worten dort, wo zum Beispiel gerade eine Datei gelöscht wurde und jetzt wieder freier Speicher ist. Auf optischen Medien würde dies jedoch bedeuten, dass bereits belasteter (da beschriebener) Speicherbereich erneut belastet (da erneut beschrieben) wird. UDF-Versionen 1.50 und höher führen daher eine Liste von Bereichen, welche schon beschrieben wurden und wie oft diese beschrieben wurden. Wenn in einem solchen UDF-Dateisystem eine neue Datei gespeichert wird, geschieht dies daher an einer Stelle, die noch nicht oder noch nicht so oft belastet wurde, die Gesamtbelastung des optischen Mediums wird somit in etwa an allen Stellen gleich gehalten.
Des Weiteren bietet UDF ein Defekt-Management, das bereits verbrauchte (überlastete, zerstörte) Abschnitte des ursprünglich verfügbaren Speicherplatzes ausblendet. Trotz dieser ausgefallenen Bereiche kann das optische Medium weiter verwendet werden. Die Nutzung dieses Defekt-Managements hängt jedoch von der Software ab, die das UDF-Dateisystem implementiert.
Achtung: Gelöschte oder überschrieben Dateien werden bei UDF vorerst nur im Inhaltsverzeichnis als gelöscht markiert. Dies trifft auch dann zu, wenn die Datei mit spezieller „Eraser-Software“ gelöscht wurde. Das Rekonstruieren von kürzlich gelöschten Dateien ist daher mit relativ geringem Aufwand möglich. Wäre es absolut erforderlich, eine Datei physikalisch vom jeweiligen Medium zu löschen, müsste man den gesamten Speicherbereich mit neuen Daten überschreiben, oder aber das verwendete Eraser-Programm kann mit den Besonderheiten des UDF-Dateisystems umgehen.
Auf nur einmal beschreibbaren Medien (CD-R und DVD±R) ist es aus technischen Gründen nicht möglich, bereits geschriebenes wieder zu löschen oder zu überschreiben. Daher kann das Medium, wenn es einmal voll ist, nur noch gelesen, aber nicht mehr beschrieben werden. Auf solchen Medien gelöschte Dateien sind immer relativ einfach rekonstruierbar.
Wichtig: Wiederbeschreibbare Medien können nur eine bestimmte Anzahl von Schreibzugriffen gewährleisten. Nur das UDF-Dateisystem in Version 1.50 oder höher belastet das Medium gleichmäßig, sodass diese Schreibzugriffe das Medium nicht vorzeitig ruinieren.

### Packet-Writing ist nicht UDF

Oft wird zwischen UDF und Packet-Writing nicht unterschieden. Da dies zu erheblicher Verwirrung führen kann, soll im Folgenden verdeutlicht werden, wie Packet-Writing mit UDF interagiert, aber auch, was die beiden wesentlich unterscheidet.
Was ist UDF und was ist seine Verwendung?
* UDF ist ein Dateisystem, wie beispielsweise FAT32, NTFS oder ext3.
* Ein Speichermedium, eine Partition oder vergleichbares (etwa ein Loop-Device oder ein virtuelles Laufwerk) kann mit UDF formatiert werden. Theoretisch ist es auch möglich, eine Partition auf der Festplatte mit UDF zu formatieren. Obwohl dies auch praktisch durchführbar ist, scheitert es meist an der Unterstützung seitens des Betriebssystems.
* UDF gibt es in unterschiedlichen Versionen. Der Unterschied zwischen UDF 1.02 und UDF 1.50 ist jedoch derart groß wie beispielsweise der Unterschied zwischen FAT32 (wie in Windows 98/Me) und NTFS (wie in Windows 2000/XP).
* UDF ist ein ISO-Standard und daher von vielen Betriebssystemen zumindest teilweise unterstützt. Die meisten Betriebssysteme können UDF in den Versionen 1.02, 1.50 und/oder 2.01 lesen. Einige Betriebssysteme können UDF auch schreiben (≙ volle UDF-Unterstützung).
Was ist Packet-Writing und wie wird es verwendet?
* Als Packet-Writing bezeichnet man eine Technik, optische Medien in Einheiten von kleinen Paketen zu beschreiben, daher der Name „Packet“ – kleine Pakete, und „Writing“ – beschreiben (auf das optische Medium brennen).
* Packet-Writing ist nur mit geeigneter Hardware möglich. So gut wie alle modernen CD- und DVD-Laufwerke bieten jedoch diese Hardware-Unterstützung.
* Packet-Writing versteht sich dabei als ein Treiber, wie beispielsweise ein ATAPI-Treiber, der den Zugriff auf ein ATAPI-CD-ROM-Laufwerk ermöglicht. Der Packet-Writing-Treiber ermöglicht dabei den Zugriff auf das Medium in der beschrieben Art und Weise: kleine Pakete können gelesen und geschrieben werden, ähnlich wie bei Festplatten die Sektoren gelesen und geschrieben werden können.
** Dies bedeutet, dass Packet-Writing unabhängig vom verwendeten Dateisystem arbeitet. Man kann daher ein Medium, welches über den Packet-Writing-Treiber in ein Betriebssystem eingebunden wurde, mit jedem beliebigen Dateisystem formatieren. In der Praxis ist dies jedoch nicht sehr ratsam, bei manchen Betriebssystemen verhindert sogar der Packet-Writing-Treiber eine Nutzung von anderen Dateisystemen als UDF.
** Zum Beispiel könnte man demnach sogar NTFS auf ein optisches Medium bringen. Davon ist jedoch dringendst abzuraten, da die Lebensdauer des Mediums drastisch sinken würde. Das liegt unter anderem daran, dass NTFS ein journalisierendes Dateisystem ist und bei jeder Dateioperation viele Schreibzugriffe initiiert, welche ein optisches Medium extrem belasten würden. Das Gleiche gilt beispielsweise für ext3, sowie für alle anderen journalisierenden Dateisysteme, da sie primär für Festplatten entwickelt wurden.
** Einfache Dateisysteme wie FAT, FAT32 oder ext2 (mit der noatime-Mount-Option) belasten ein optisches Medium nur begrenzt, schreiben aber das Inhaltsverzeichnis immer an derselben Stelle. Diese Dateisysteme sind daher nur bedingt für Packet-Writing und optische Medien geeignet, können aber in Ausnahmefällen (z. B. zur Kompatibilität mit älteren Betriebssystemen, welche noch kein UDF unterstützten) durchaus zur Anwendung kommen. Generell ist jedoch auch von diesen Dateisystemen abzuraten, da auch hier die Lebensdauer des optischen Mediums mit jedem Schreibzugriff drastisch sinkt.
* Nicht alle Medien benötigen Packet-Writing. Für das Beschreiben von DVD-RAM- und BD-RE-Medien beispielsweise übernimmt die im DVD-RAM- und Blu-Ray-Laufwerk integrierte Logik jene Funktionalität, die der Packet-Writing-Treiber als Software für CD- und DVD-Medien bereitstellt. Die Realisierung in der Hardware ermöglicht für den DVD-RAM-Standard und dessen Nachfolger BD-RE eine bessere Datensicherheit, da alle Schreibzugriffe unabhängig vom verwendeten Betriebssystem überprüft werden und gegebenenfalls ein defekter Sektor erkannt und gekennzeichnet wird (Defekt-Management). Zusätzlich bietet das Medium DVD-RAM eine deutlich erkennbare Sektorisierung und eine einmalig hohe Wiederbeschreibbarkeit von ca. 100.000 Schreibzugriffen. Zum Vergleich: CD-RW-Medien können ca. 1.000 Schreibzugriffe aushalten, defekte Bereiche werden jedoch erst beim nächsten Lesevorgang (welcher nicht gelingt oder falsche Daten liefert) erkannt. Dies kann durch in der Software realisiertes Defekt-Management gemindert werden, was jedoch auch die Schreibgeschwindigkeit auf dem jeweiligen Medium mindert (etwa halbiert). BD-RE-Medien sind nur mehr für 1.000 Schreibzugriffe ausgelegt, es sind jedoch spezielle auf 10.000 Schreibzugriffe getrimmte Medien erhältlich.
* Nicht alle Laufwerke benötigen Packet-Writing. Der „Mount Rainier (MRW)“-Standard sieht vor, dass auch CD-R(W) und DVD±R(W)-Medien wie DVD-RAMs hardwareseitig unterstützt werden und wie Festplatten oder Disketten verwendet werden können. Theoretisch. Denn praktisch muss das Betriebssystem diesen Standard mit einem MRW-Treiber unterstützen, damit es funktioniert. Der Vorteil von Mount-Rainier in der Hardware gegenüber Packet-Writing (mit UDF) in der Software liegt jedoch auf der Hand: Die Hardware regelt das Defekt-Management transparent im Hintergrund, fehlerhafte Sektoren werden bereits beim Schreiben erkannt und ausgeblendet, wodurch sich die Datensicherheit erhöht. Des Weiteren verwendet die MRW-Laufwerkslogik intern das UDF-Dateissystem, ermöglicht es dem Anwender jedoch, jedes beliebige Dateisystem zu verwenden. Dennoch sollte man kein schreibintensives Dateisystem einsetzen, da jeder Schreibvorgang das Medium altern lässt. Hinweis: Einige Packet-Writing-Programme rüsten für das jeweilige Betriebssystem auch die MRW-Unterstützung nach. Auch existieren MRW-Lese-Programme, welche auf MRW-Laufwerken geschriebene Medien in Nicht-MRW-Laufwerken zumindest auslesen können.
* Zur besseren Veranschaulichung:
* Der Packet-Writing-Treiber greift mittels CD-/DVD-Hardware-Treiber auf das Laufwerk zu,
* während der UDF-Treiber, der ja ein Dateisystem-Treiber ist, mittels Packet-Writing-Treiber auf das Laufwerk zugreift.

## Software

Um Packet-Writing nutzen zu können, benötigt man entweder einen Treiber oder ein Packet-Writing-Programm. Diese stellen erst die Packet-Writing-Funktion im Betriebssystem bzw. dem Benutzer zur Verfügung. Um das übliche UDF-Dateisystem verwenden zu können, benötigt man zusätzlich einen UDF-Treiber. Bei einigen Betriebssystemen werden diese beiden Funktionen (Packet-Writing und UDF) in einem einzigen Treiber realisiert. Packet-Writing-Programme integrieren beide Funktionen in einem Programm.
Ist das Betriebssystem vorbereitet und sind beispielsweise die Treiber installiert, können optische Medien zuerst formatiert, anschließend wie eine Festplatte in der im Betriebssystem üblichen Art und Weise verwendet werden.
Im Folgenden findet sich eine unvollständige Liste von Treibern und Packet-Writing-Programmen für verschiedene Betriebssysteme.
GNU/Linux
* pktcdvd ist in aktuellen Linux-Kernel der Version 2.6 integriert
* udffs ist seit Linux-Kernel 2.4 integriert
Mac OS
* SAI WriteUDF! UDF Writer für Mac OS (Software Architects, Inc.)
Windows
* B's CLiP (B.H.A Corporation)
* DLA: Drive Letter Access (Sonic Solutions)
* Drag-to-Disc, ehemals DirectCD (Roxio, früher Adaptec)
* DVD Write Now – Freeware
* Nero InCD (Nero AG, früher Ahead)
* SAI WriteDVD! and ReadDVD! (Software Architects, Inc.)
* ab Windows Vista integriert unter der Bezeichnung Livedateisystem
Embedded
* TinyUDF (StorageLabs B.V.)
Kostenlose „UDF-Reader“-Programme, die lediglich das Lesen von UDF-Dateisystemen ermöglichen:
* B's CLiP UDF Reader/MRW Remapper, Version 5.02 Leseunterstützung bis UDF-Version 1.50 für Windows 95 OSR2/98/Me
* B's CLiP UDF NT Reader, Version 1.00 Leseunterstützung bis UDF-Version 1.50 für Windows NT 4.0 SP6
* Nero InCD Reader, Version 5: Leseunterstützung bis UDF-2.60 für Windows 2000/XP/2003/Vista (32-bit) und Version 4: Leseunterstützung bis UDF-Version 2.60 für Windows 98/Me/2000/XP/2003
* Veritas DLA UDF Reader, Version 2.55 von IBM (MIGR-42199) Leseunterstützung (UDF-Version unbekannt) für Windows 95/98/98SE/Me/NT/2000/XP Unter „File link“ die Datei b91z06us.exe mit der Beschreibung Veritas DLA UDF reader (German) herunterladen.