You'd have to ask the IDE and SCSI subsystem people for programming
information about how to do that for disks.
The problem is that as far as I know, if the ECC doesn't work, you
won't end up getting back back more or less intact data, with just a
flipped bit here and there.
I'm not sure exactly how it works, but the basic theory is something
along these lines:
Suppose you are storing 5 data bits using 10 actual bits on disk.
Typically, you might expect a read to read to return 8 bits accurately
and 2 bits inaccurately. That's enough to re-construct the data.
When 6 bits are read inaccurately, an un-correctable error occurs.
Retrying the read might succeed, because only 4 bits might be read
inaccurately the second time.
Although reading without using error correction will allow you to
access the unreadable data, is quite likely to return some of the 5
data bits incorrectly, which could have been corrected, incorrectly.
I hope that explaination is of some use - maybe somebody else can
improve it.
John.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/