cdck
Der Shell-Befehl cdck liest Compact Discs lowlevel aus und misst Block für Block, wie lange es dauert, bis die Daten zur Verfügung stehen.
Dass diese Zeit ein Mass für die Zahl der zu kompensierenden Lesefehler ist, ergibt sich aus der Funktionsweise der Fehlerkorrekturverfahren, die bei optischen Medien zum Einsatz kommen: Sie arbeiten mit einer Kombination aus den Paritätsbit und Interleaving, also dem Verstreuen von aufeinanderfolgenden Bit auf der CD-Oberfläche. Lägen die Datenbit nacheinander auf der Scheibe, so wären Paritätschecks bei Kratzern überfordert, da wegen der geringen Grösse der Vertiefungen stets aufeinanderfolgende Bit betroffen wären. Bei verstreuten Daten tritt dies dagegen viel seltener auf. Abhängig davon, wie viele Daten zerstört sind, muss das Laufwerk unterschiedlich weit vorauslesen, bis eine Rekonstruktion gelingt. Dann dauert es auch bei modernen Laufwerken mit Cache länger, bis die Daten eines Blocks bereitstehen.
Nach dem Test des Mediums zeigt cdck einen Bericht über dessen Zustand.
- Unter "CD overall" werden echte Lesefehler aufgelistet, die bereits eingetretenen Datenverlust bedeuten.
- Unter "CD-Timings" werden die minimale, die maximale und die durchschnittliche Zugriffszeit angegeben, die beim Auslesen der Sektoren gemessen wurde.
Verwendung
Auslesen einer selbstgebrannten zwei Jahre alten CD-ROM mit nur sehr wenigen feinen Haarkratzern.
$ cdck Reading sectors 1-356475 356472 ok CD overall: Sectors total: 356475: Good sectors: 356475: Bad sectors (incl. with poor timing): 0 CD timings: Minimal = 3 usec (0.000003s) Maximal = 2362682 usec (2.362682s) Average = 745 usec (0.000745s) Conclusion: Even there is no unreadable sectors, disc is unstable!
Bei Aufruf mit dem Schalter "-p" erzeugt cdck eine Protokolldatei, die sich mit Gnuplot visualisieren lässt.