bug-ddrescue
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug-ddrescue] Feature Request: Introduce parameter to skip "slow" (


From: Felix Ehlermann
Subject: Re: [Bug-ddrescue] Feature Request: Introduce parameter to skip "slow" (still readable) sectors during first pass, if reading speed is below x kByte/s
Date: Wed, 28 Sep 2011 08:36:43 +0200
User-agent: Mozilla/5.0 (Windows NT 5.1; rv:6.0.2) Gecko/20110902 Thunderbird/6.0.2

Hello Antonio,

thank you for your response.

> It is already planned to implement such a feature. I have
> been unable to work on this until now, but I expect it to
> be done in a few weeks. Please, read this message[1]
> and write back any comments you have.
> [1]https://lists.gnu.org/archive/html/bug-ddrescue/2011-04/msg00004.html

Ah, I did not browse through the archive that far into the past...

I read through that message now and would have the following comments:


1) Minimum reading speed / jump threshold

1a) It would be nice if the default value would be something like "Skip x Byte if current speed < (average speed / 10)". This should work nicely on any media regardless of its speed. Also initially the average speed is 0, so in the default scenario (no offset specified) it will not jump right over the MBR, etc.

1b) It would be nice if the desired min speed could be set in kByte/s on the command line.

1c) Please allow the entire feature to be disabled by specifying a min speed of 0. (I guess this shouldn't be much work to implement unless you get negative current read rates ;-) )


2) Jump size
It would be nice if it was possible to specify the number of sectors (or kByte/MByte) to be skipped if the current reading speed is below the specified minimum speed (or below 10% average speed if not specified).

I had exchanged a few mails on this topic with Kim Pedersen (who suggested this to be made a parameter), wondering what a good default value would be.

Unfortunately my bad drive has relocated all bad sectors by now so I can't do any useful testing :-( In the first run the "very slow" areas managed to bring the drive down to ~6-10MByte/s average over the entire 2TB. If I run it again now I get ~35-40MByte/s average (and no read errors anymore, which brings me to the next topic)


3) Disable relocation of bad sectors?
This is probably a bit out of the scope, but as described above I have noticed that my drive relocated a lot of weak sectors internally and also the few unreadable ones.

I understand that this behavior will be desired in normal operation, but e.g. when the drive has a temperature issue it might be quite bad if a (temporarily, e.g. due to temperature) unreadable sector got replaced by a space and therefore is not accessible anymore.
Maybe there is a way to tell the drive not to relocate sectors on error?


4) Disable read-ahead
(This is another idea raised by Kim.)

By default the Kernel seems to read ahead into the drive while accessing the data requested by ddrescue - which according to Kim does not make much difference regarding performance on good areas on the disk. But if the reads become slow, the read ahead by the kernel would cause the drive to read further into the slow area than requested by ddrescue.

So maybe it would be a good idea to disable read-ahead for the first pass - or maybe to just mention this in the documentation?


Kind Regards
Felix Ehlermann



reply via email to

[Prev in Thread] Current Thread [Next in Thread]