275 lines
12 KiB
HTML
275 lines
12 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
|
|
<title>Questions and Answers</title>
|
|
<link rel="stylesheet" type="text/css" href="../include/dvdisaster.css">
|
|
</head>
|
|
<body>
|
|
|
|
<!-- Title header -->
|
|
<table width="100%" cellpadding="0" border="0">
|
|
<tr>
|
|
<td align="left">
|
|
<span class="fxxl"><b>dvdisaster</b></span>
|
|
<i>Version 0.72.4 / 0.72 (pl4)</i>
|
|
</td>
|
|
<td align="right">
|
|
<span class="fxxl"> </span><a href="http://dvdisaster.net/en/">To the Internet version</a>
|
|
<a href="../cs/qa.html"></a>
|
|
<a href="../de/qa.html"></a>
|
|
|
|
<a href="../ru/qa.html"></a>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<!-- Language chooser or separator -->
|
|
<table width="100%" cellpadding="0" border="0">
|
|
<tr>
|
|
<td colspan="2" class="hsep"></td>
|
|
</tr>
|
|
<tr><td colspan="2" style="height: 10px">
|
|
</td></tr>
|
|
</table>
|
|
|
|
<!-- Main body (Navigation, actual page content, optional news column) -->
|
|
<table width="100%" cellspacing=0>
|
|
<tr>
|
|
<!-- Navigation -->
|
|
<td style="background-color:#f0f0f0; vertical-align:top; width:20%;">
|
|
<table width="100%" cellpadding="10">
|
|
<tr>
|
|
<td>
|
|
<span class="fs"><b>Contents</b></span>
|
|
<table width="100%" cellpadding="0" cellspacing="0">
|
|
<tr>
|
|
<td class="hsep"></td>
|
|
</tr>
|
|
</table><p>
|
|
|
|
<table width="100%">
|
|
<tr><td colspan=3><span class="fs"><a href="news.html">News</a></span></td></tr>
|
|
<tr><td></td><td></td><td style="height:10px;"></td></tr>
|
|
<tr><td colspan=3><span class="fs"><a href="index.html">Overview</a></span></td></tr>
|
|
<tr><td></td><td></td><td style="height:10px;"></td></tr>
|
|
<tr><td colspan=3><span class="fs"><a href="howtos.html">Howtos</a></span></td></tr>
|
|
<tr><td></td><td></td><td style="height:10px;"></td></tr>
|
|
<tr><td colspan=3><span class="fs"><a href="download.html">Download</a></span></td></tr>
|
|
<tr><td></td><td></td><td style="height:10px;"></td></tr>
|
|
<tr><td colspan=3><span class="fs">Questions and Answers</span></td></tr>
|
|
<tr><td style="width:1%; vertical-align:top;">·</td><td colspan=2><span class="fs"><a href="qa10.html">Technical Questions</a></span></td></tr>
|
|
<tr><td style="width:1%; vertical-align:top;">·</td><td colspan=2><span class="fs"><a href="qa20.html">Error messages</a></span></td></tr>
|
|
<tr><td style="width:1%; vertical-align:top;">·</td><td colspan=2><span class="fs"><a href="qa30.html">Background information</a></span></td></tr>
|
|
<tr><td></td><td></td><td style="height:10px;"></td></tr>
|
|
<tr><td colspan=3><span class="fs"><a href="feedback.html">Bug reporting</a></span></td></tr>
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td></td>
|
|
|
|
<!-- Actual page contents -->
|
|
<td style="vertical-align:top; width:77%;" rowspan="2">
|
|
|
|
<!-- Insert actual page content below -->
|
|
|
|
<h3 class="top"><a name="top">General questions and answers</a></h3>
|
|
|
|
<a href="qa.html#pronounce">1.1 How is "dvdisaster" pronounced?</a><p>
|
|
<a href="qa.html#pipo">1.2 What are quality scans and why don't you support more?</a><p>
|
|
<a href="qa.html#compat">1.3 Is dvdisaster compatible with future releases?</a><p>
|
|
<a href="qa.html#eccpos">1.4 Augmented images have the error correction data appended at the end of the medium. Isn't that a bad choice?</a><p>
|
|
<a href="qa.html#recovery">1.5 What's the difference between image based and file based data recovery?</a><p>
|
|
|
|
<hr><p>
|
|
|
|
<b><a name="pronounce">1.1 How is "dvdisaster" pronounced?</a></b><p>
|
|
Since the word stems from the english language, simply spell "dv" before
|
|
saying "disaster". Perhaps "dee-vee-disaster" is a suitable
|
|
phonetic circumscription.
|
|
<div class="talignr"><a href="qa.html#top">↑</a></div>
|
|
|
|
<b><a name="pipo">1.2 What are quality scans and why don't you support more?</a></b><p>
|
|
Optical media have a built-in error correction which is similar to
|
|
the method used in dvdisaster.
|
|
Some drives can report the number of errors corrected
|
|
while reading a medium. This provides a rough estimate
|
|
of the writing and media qualities.<p>
|
|
|
|
Since dvdisaster is free software, it can only include code and information
|
|
which can be redistributed freely. This is currently true
|
|
for C2 <a href="howtos10.html">scanning</a> of CD media,
|
|
which is officially standardized and has free documentation available.<p>
|
|
|
|
On the other hand, DVD quality scans ("PI/PO scans") are not standardized.
|
|
Those drive vendors who support it are using proprietary programming
|
|
interfaces. The respective specifications seem not to be available
|
|
for use in free software. So we must patiently wait until manufacturers
|
|
understand that having free software available for a drive
|
|
will sell more drives. <p>
|
|
|
|
<div class="talignr"><a href="qa.html#top">↑</a></div>
|
|
|
|
<b><a name="compat">1.3 Is dvdisaster compatible with future releases?</a></b><p>
|
|
Yes, dvdisaster files are intended for an archival time of many years.
|
|
When upgrading to a newer version of dvdisaster you can continue using
|
|
images and error correction data created from previous versions.
|
|
There is <i>no</i> need to recreate them again.
|
|
|
|
<div class="talignr"><a href="qa.html#top">↑</a></div><p>
|
|
|
|
<b><a name="eccpos">1.4 Augmented images have the error correction data appended at the end of the medium. Isn't that a bad choice?</a></b><p>
|
|
No. First a bit of terminology:
|
|
If we augment 80 bytes of user data with 20 bytes of error correction
|
|
data, we get an "ecc block" comprised of 100 bytes.
|
|
Now take the following into consideration about the ecc block:
|
|
|
|
<ol>
|
|
<li>The position of the error correction data within the ecc block
|
|
does not matter.<p>
|
|
The RS decoder does not differentiate between
|
|
user data and error correction data. In the view of the RS decoder
|
|
our ecc block is a sequence of 100 bytes from which an arbitrary
|
|
subset of 20 bytes can be recovered. It can recover
|
|
the first 20 bytes, the last 20 bytes, or any
|
|
combination from within as long as the remaining 80 bytes
|
|
are still intact.
|
|
From this it follows that the position of the
|
|
ecc data within the ecc block does not matter; whether it is appended
|
|
at one end of the user data or is interleaved with it
|
|
has no influence on the error correcting capability.</li>
|
|
|
|
<li>Properly distributing the ecc block offsets influence of bad media spots.<p>
|
|
Optical media have a higher probability of failing in the outer area;
|
|
for technical reasons this is
|
|
the only place where the error correction data can be stored.
|
|
However this effect is offset
|
|
by distributing the ecc block content over the medium. Let's assume that our
|
|
medium is filled 80% with user data, leaving the remaining 20% free for
|
|
error correction data. Now consider the 100 byte ecc block again.
|
|
We need to pick 80 bytes from the user data for it and require 20
|
|
additional byte positions in the error correction data area.
|
|
Even under these constraints it is possible to evenly distribute the
|
|
100 bytes over the medium, from the
|
|
inside to the outside, each having a maximum distance to its neighbors.
|
|
Together with point (1), this negates the influence of bad spots on the
|
|
medium. Symmetry implies that for each error correction byte
|
|
stored in the (bad) outer region there will
|
|
be a user data byte located in the (good) inner medium region.
|
|
<p>
|
|
(If you do not already see the point, imagine putting the ecc data into
|
|
the inner medium region and the user data in the outer region. Consider
|
|
point (1) again to see that nothing changes with respect to the error
|
|
correction.)
|
|
</li>
|
|
</ol>
|
|
<div class="talignr"><a href="qa.html#top">↑</a></div><p>
|
|
|
|
|
|
<b><a name="recovery">1.5 What's the difference between image based and file based data recovery?</a></b><p>
|
|
|
|
Optical media are comprised of 2048 byte-wide sectors. Most of those sectors
|
|
are used to store file data, but some of them hold so-called "meta data",
|
|
e.g. information on directory folders.<br>
|
|
In figure 1.5.1 (below) there is
|
|
a directory "Pics" holding three files "forest.jpg", "rock.jpg" and
|
|
"protect.par"<a href="qa.html#note1"><sup>1)</sup></a>.
|
|
Note how these files are mapped onto physical sectors
|
|
(green/blue squares) on the medium,
|
|
and that an additional meta data sector (red square) is needed
|
|
for storing the "Pics" directory structure.<p>
|
|
|
|
<table width="100%"><tr><td align="center"><img src="images/metadata1.png" alt="Relation between file system and sectors on media"></td></tr></table><p>
|
|
|
|
<b>Shortcoming of file based recovery on optical media.</b><br>
|
|
Now let's assume that we are working with file based error correction.
|
|
The file "protect.par" holds error correction information which can be used
|
|
to recover unreadable sectors within the files "forest.jpg" and "rock.jpg".
|
|
This will only work as long as we need to recover sectors which are part
|
|
of a file. But if meta data sectors become unreadable, the
|
|
file based protection will collapse. Consider figure 1.5.2. When the
|
|
red directory sector becomes unreadable, not only the directory "Pics"
|
|
but also all files under "Pics" become inaccessible.
|
|
This is due to the logical structure of the ISO/UDF file system,
|
|
as there is no way to tell how the green and blue sectors relate
|
|
to files anymore when the directory is lost. So we have
|
|
a complete data loss although all sectors comprising the files
|
|
are still physically readable.<p>
|
|
|
|
<table width="100%"><tr><td align="center"><img src="images/metadata2.png" alt="Losing metadata sector produces complete data loss"></td></tr></table><p>
|
|
|
|
<p>Please note that moving "protect.par" to a separate medium does not
|
|
rectify the problem - the directory block is still not recoverable as
|
|
it is not protected by the error correction data in "protect.par".<p>
|
|
|
|
<b>Advantages of image level recovery on optical media.</b><br>
|
|
|
|
dvdisaster applies an image level approach to error recovery.
|
|
The medium is read and processed as an ISO image.
|
|
The ISO image contains a sequence of all sectors found on
|
|
the medium, including those which are meta data for the file system.
|
|
Since the dvdisaster error correction data protects <i>all sectors</i> in the
|
|
ISO image, file contents as well as meta data sectors (e.g. directories)
|
|
can be restored. See fig. 1.5.3 for the different range of protection.
|
|
|
|
<table width="100%"><tr><td align="center"><img src="images/metadata3.png" alt="Image level protection"></td></tr></table><p>
|
|
|
|
In addition, neither reading the damaged ISO image nor applying the
|
|
error correction requires any information from the file system
|
|
contained on the medium. As long as the
|
|
drive is still able to recognize the medium, dvdisaster will be able
|
|
to recover the still readable sectors from it. Therefore
|
|
there are no "single sectors of failure" as in the file based approach.
|
|
|
|
<table width="30%" cellpadding="0">
|
|
<tr><td class="hsep"></td></tr>
|
|
</table>
|
|
<a name="note1"><sup>1)</sup>
|
|
No offense intended against the PAR/PAR2 project.
|
|
Carsten is just confident that file based protection does not work
|
|
on optical media :-)</a>
|
|
|
|
|
|
<div class="talignr"><a href="qa.html#top">↑</a></div><p>
|
|
|
|
<!-- do not change below -->
|
|
|
|
</td> <!-- end of page contents -->
|
|
|
|
</tr>
|
|
|
|
<!--
|
|
<tr valign="bottom">
|
|
<td style="background-color:#f0f0f0;">
|
|
<table cellpadding="10"><tr><td><a href="http://dvdisaster.net/legacy/en/index.html"><span class="fs"></span></a></td></tr></table>
|
|
</td>
|
|
<td></td>
|
|
<td></td>
|
|
</tr>
|
|
-->
|
|
</table> <!-- end of main body table -->
|
|
|
|
|
|
<!-- Page footer -->
|
|
<table width="100%" cellpadding="0" border="0">
|
|
<tr><td colspan="2" style="width:100%; height:10px;"></td>
|
|
</tr>
|
|
<tr><td colspan="2" class="hsep"></td>
|
|
</tr>
|
|
<tr>
|
|
<td align="center">
|
|
<span class="fs">
|
|
<i> Copyright 2004-2012 Carsten Gnörlich.<br>
|
|
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
|
|
</i>
|
|
</span>
|
|
</td>
|
|
</tr>
|
|
<tr><td colspan="2" class="hsep"></td>
|
|
</tr>
|
|
</table>
|
|
</body>
|
|
</html>
|