jasonkaler :
No you don't. Each sector has CRC right?
So if the sector read fails CRC, simply calculate CRC replacing each layer in turn with the raid parity bit.
All of them will be off except for one with the faulty bit.
And these CRC's can all be calculated in parallel so there would be 0 overhead with regard to time.
Easy huh?
If you know which drive/sector is bad thanks to a read error, your scheme is needlessly complicated: you can simply ignore ("erase") the known-bad data and calculate it by simply XORing all remaining volumes. But you needed the extra bits from the HDD's "CRC" to know that the sector was bad in the first place.
In the case of a silent error though, which is what you get if you have an even-count bit error when using parity alone, you have no idea where the error is or even that there ever was an error in the first place. That's why more complex error detection and correction block codes exist and are used wherever read/receive errors carry a high cost, such as performance, reliability, monetary cost or loss of data.