Complete skipping of errors on a disc

vbimport

#1

As far as I know, re-reading of erroneous sectors is mostly hardware-based - although software can extend the amount of retries, etc - the drive/firmware ultimately decides if it want to try and read the sectors again.

So, how do I disable this?
If I’ve got a disc I know is damged, I’d want to skip those sectors, and not waste hours on the drive trying to read these over. I must admit that through the the past years, I’ve never gotten a read error from a disc, except copy-protected ones, or low-grade media / wasted discs. Based on this experience (and I have read alot of discs) it is safe to say that if the drive finds a sector to be unreadable, it would most likeley still be that after a million retries.
A fully written DVD-disc would have about 2 292 897 ~ 2.3 mill. sectors. A disc with physical error covering 10% of the disc’s surface would have 230 000 damaged sctors. Now, let’s say the drive ignores these errors (as you can specify in most software), it would still have to read them once. The problem is that the drive spins down the disc to about 0.01x, so each damaged sector takes about one sec before being ‘ignored’. With 330 000 sectors damaged, it would take (230000 / 3600) = ~64 hours (at worst) to read the damaged sectors.

What I would like to see, is a program that ignores errors completey and replaces the damaged sectors with zeroes. This would be have to done on-the-fly and not spinning the drive down even once, so that the errors would not affect the time it took reading the disc.
It should also be able to ingore a disc with the lead-in completely damaged, and just scan the rest.

How can this be done, do I need a special drive or firmware to get this done, or can it be programmed? Is there even a program that does this?

Thanks!


#2

[QUOTE=C.D;2138425]
How can this be done, do I need a special drive or firmware to get this done, or can it be programmed? Is there even a program that does this?[/QUOTE]

I don’t think so. I don’t have engineering level knowledge of DVD technology but I know that error detection/correction was included in the design and development from the beginning. It’s built-in to the physical structure of DVD discs (ECC blocks) and in the circuitry of DVD drives (servomechanisms responding to the reflected laser and the results interpreted by the firmware).

bilm


#3

[QUOTE=C.D;2138425]
What I would like to see, is a program that ignores errors completey and replaces the damaged sectors with zeroes. This would be have to done on-the-fly and not spinning the drive down even once, so that the errors would not affect the time it took reading the disc.
It should also be able to ingore a disc with the lead-in completely damaged, and just scan the rest.

How can this be done, do I need a special drive or firmware to get this done, or can it be programmed? Is there even a program that does this?[/QUOTE]

You might want to look at CloneCD from Slysoft – it allows the CD device to be configured for ‘Fast Error Skip’ with ‘0 Reread retries’, and even decide if the error correction should be done in hardware or software. Furthermore, you can configure the selected working mode (this is a second configuration) to enable/disable fast error skipping, and more.

I’m not sure I understand what all these options mean, and how they interact (I guess I’ll have to RTM), but what you ask for seems to be there.


#4

I forgot … if you want the fundamental programming details, look up chapter 6 in MMC3 (SCSI Multimedia Commands ver. 3), and particularly 6.3.4 “Read/Write Error Recovery Parameters Mode Page”. (See http://www.t10.org/scsi-3.htm for draft versions.)

I haven’t used these things in code myself, I hasten to say. I can’t vouch for what the difference is between RRC = 0 and RC = 1: both seem to indicate that error recovery shouldn’t be done. And there’s also DCR = 1 (Disable Correction). But table 345 in the same document seems to go into all possibilities.


#5

Guys, thanks alot for replying. I wrote a reply on my laptop, and didn’t recieve any emails regarding this thread (assumed it died) and totally forgot the thread - guess something went wrong when I sent the “post”-request.

Anyway, I tried CloneCD today and the fast error skipping-utility. The “fastest” drive (optiarc) would read thru the errors at ~100KB/s - which is VERY slow - but the other drives read at ~10 KB/s, which is actually slower than what my first modem would pump out in the old days…

I’m fighting against one of the fundamental bricks here - a brick which holds this massive skyscraper of data ^^
I’m not quite sure on what level the error correction takes place; is it hardware - embed on the circuit boards - or is it in the firmware?

The reason why I’d want this, is because I’ve started to make extra parity files for all my archive discs. In theory, this means that I can recover X percent of the data from a damaged disc. The problem is, that it would take days to get the [I]damaged[/I] data off the disc before I could actually recover anything.
The solution would be a firmware or software, which allows super-fast error-skipping - i.e “filling damaged sectors with zeroes on-the-fly, without spinning the disc down”. Do I have to re-furnish my room into at madlab to get this working?


#6

There are some error skipping functions in IsoBuster (Managed Image mode) and IsoPuzzle. You might want to take a look at those if you haven’t already.

DVDisaster also has error skipping but it doesn’t seem to want to read DVD-ROM discs.


#7

I believe that last post from athulin is pointing you in the correct direction. But, you would need to know how to write software to command the drive yourself. Then you could send it all the reading parameters. I think you can tell the drive to turn off error checking as well.

RM


#8

Without knowing what profile you used (Data CD? Game CD? Protected PC Game? or user-defined?) it’s difficult to say what goes wrong (or even if anything goes wrong). The CD used is another factor, of course. Perhaps even the drive.

Some time ago, I tried to copy a CD into a forensic case: there were bad sector on the medium, towards the end, and that caused the drive to re-read those sectors for something like 100 attempts before it decided that ‘yes, this sector is bad’, and returned. Of course, the forensic acquiry program immediately ordered another try, which mean that the copy stuck for more than 2 hours on those bad sectors before I terminated it, and it made very little progress after the first 10 minutes.

The same CD, copied with CloneCD, with a user-defined ‘Forensic copy’ profile, saying: Fast Error Skip Setting: Automatic, Intelligent Bad Sector Scanner checked, and 1 Sector Skip was finished after 4 minutes. The bad sectors were indicated as bad, but it didn’t take ages to come to the conclusion that they were bad. (Don’t recall if I configured hardware or software correction – that is a reader setting, not a profile setting). I may have lost good data with that 1 sector skip, but I figured that it was unlikely. (Even so, I was ahead of that forensic program which skipped 64 sectors on a read error.)

Furthermore, a log file somewhere showed that CloneCD reconfigured the error behaviour of the drive: from those 100+ attempts to something like 1 or 2, which seemed to explain the speed.

Of course, my requirements may be lower than yours: the difference between 2 hours unfinished job and 4 minutes finished and knowledge about what sectors were bad was enough for me.


#9

C.D posted, “What I would like to see, is a program that ignores errors completey.”

I originally responded to CD’s post based on his word “ignores” errors and took it to mean was there a way for the hardware / firmware to skip over them and do nothing. My understanding of DVD technology is that they are designed from the ground up to handle errors in a way to increase to possibilty of correcting them. It’s what ECC blocks are all about.

CloneCD, IsoBuster and possibly other software will allow you to “skip over” errors when they are detected and/or reported. As mentioned by athulin this can cut way down on read time.

But it doesn’t eliminate the time it takes for the drive’s hardware / firmware to detect errors. Depending on the number of bad sectors this can still be a significant amount of time compared with reading a clean disc with the same data on it. The detection process is sophisticated.

Also some DVD types have error reporting built-in which further increases the read time. Defect Management is different for the various DVD disc types; some are slower than others. Don’t quote me but I think RW types would be slower than R types and +RWs would be slower than -RWs and -RAM slowest of all.

bilm


#10

[B]DrageMester[/B] thanks for suggesting [I]IsoPuzzle[/I]! This is definitely the closest I will get to a program of the kind I’m looking for. It has a random, but sophisticated fast-skip function which yields fast results. And by that I mean that the results of scanning a badly damaged disc for 30 minutes versus two-three hours, only differs by a few percent - atleast my tests so far tells me this.
As [I]bifmud[/I] points out, there are many active functions of the DVD that handles errors, and thus the behavior of the drives spinning down the discs - and slowing down the reading speed - is difficult to bypass.
Therefore it seems that fast-skipping is the most viable alternative, and I think IsoPuzzle is doing a great job at this.

Regarding the techical details and programming, I’m not quite ready for that yet - but i really want to try and make my own program someday.

I’ll post some comparable results later.


#11

The problem with IsoPuzzle in my experience, is that it can create ISO images that are not quite the correct format or at least is not “liked” by some tools e.g. ImgBurn and Alcohol 120%.

The only time I really had to use a tool such as IsoPuzzle, the created ISO image could be opened and understood by UltraISO but when burned by ImgBurn or mounted with Alcohol 120% the filesystem was not recognized.

Hence I have had to use IsoBuster instead which is not as flexible as IsoPuzzle in my opinion, is not as easy to use and does not create the “Managed Image” directly in ISO format. But at least it’s possible to extract a compliant ISO image after recovering as much as possible from the disc.