On 7/5/2014 8:26 PM, Franc Zabkar wrote:
A reverse pass effectively disables the drive's read-ahead caching.
Data recovery professionals will tell you that this can be (or is?) a
good thing.
First, how does that effectively disable it? If a block of data is read,
the drive is still going to perform read-ahead because it expects you to
read forward. By going in reverse and reading the previous block you
just miss out on utilizing the read-ahead data.
Second (sorry for this read-ahead rant), they can tell me, but I might
not listen. I don't think a drive reads ahead that far, and in reality
the head likely already passes over the data (or at least some of it)
that is read ahead. And as far as I can tell, it only helps with read
speed. I have yet to see a read affected by an error in the read-ahead
data. As far as I can tell (from my testing) a drive does not try to do
any error recovery on read-ahead data. I could be wrong, and there may
be other reasons they have (bad sector reallocation?). What I don't like
about it is that slower read speed = less data read in the same amount
of time = more time the drive has to be spun up. The professionals will
open the drive up and replace the heads if there is failure, but most
using ddrescue are not professionals and are unable to do that, so it
seems best to get the most good data as fast as possible before the
possibility of total failure.
Like I said, the --no-reverse-pass option is for those that want it, for
those that want (or need) the control. There may even be a time I may
want to use it. But in my benchmark testing it is not beneficial.
Scott
_______________________________________________
Bug-ddrescue mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-ddrescue