Package: gddrescue Version: 1.15-1 Severity: wishlist Dear Maintainer,
While I was waiting hours for 'ddrescue' to scan a scratchy borrowed DVD, it seemed likely that most waiting time was spent on the drive trying to read scratched areas where data cannot be read. If we could predict where scratches were, we could elect not to waste time failing read them, and the job could go faster. The scratches are visible to the naked eye. Usually continuous straight lines or curves, or at worst, concentric. The optical drive has no eyeball though, and just sees one spot at a time. If it's possible to map optical disc blocks to a virtual image of a disk, (i.e. polar coordinates), then it should be also possible to interpolate where the scratched out blocks would most likely occur. Simplest case: a disc with one long radial scratch at 6 o'clock. To predict where the scratch is be we read an entire track... if the track has a bad block, we note the polar angle of the block, then skip ahead 100 tracks, and see if there's another bad block in line with the prior one, note the polar angle of that spot, and continue skipping many tracks, each time noting bad block angles, until there's no bad block. Assuming the bad blocks all line up nicely, we back up 50 tracks, and half again, until we find the scratch endpoint, and we mark what's in between as bad. Of course a robust algorithm for a very scratchy disk would be more complex than that, but one has to start somewhere. Possibly the drive electronics might force it to cache read a bad block we don't want it to read while reading a nearby good block. In which case we'd have to find out how close to the bad block the drive can go without reading it, and allow for that. Hope this helps... -- System Information: Debian Release: wheezy/sid APT prefers unstable APT policy: (500, 'unstable'), (1, 'experimental') Architecture: i386 (i686) Kernel: Linux 3.1.0-1-686-pae (SMP w/2 CPU cores) Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968) (ignored: LC_ALL set to C) Shell: /bin/sh linked to /bin/dash Versions of packages gddrescue depends on: ii dpkg 1.16.1.2 ii install-info 4.13a.dfsg.1-8 ii libc6 2.13-24 ii libgcc1 1:4.6.2-11 ii libstdc++6 4.6.2-11 gddrescue recommends no packages. gddrescue suggests no packages. -- no debconf information -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org