Very interesting and clearly explained. Thanks Greg. On July 9, 2014 1:44:49 PM PDT, Greg Freemyer <greg.freemyer@gmail.com> wrote:
Pn = (P ^ D2) ^ D2n
Note that only requires 2 of the old data values.
So what raid system does is it reads the original P stride and the original D2 stride. Then it xor's them together to remove the influence of the old D2 value. Then it xor's in the new D2n stride to calculate the new Pn.
The end result is 2 simultaneous reads (P and D2) followed by 2 simultaneous writes (Pn and D2n).
The cool part about that is works regardless of how many disks are in the raid 5 array. A single data stride update always requires exactly 2 reads and 2 writes.
===== I don't actually know how raid 6 works, so I can't do the same walk thru, but my understanding is a single data stride update with raid 6 involves 3 reads (P1, P2, D2) and 3 writes (P1n, P2n, D2n).
The rest of the data strides don't have to be read to do the calculations.
=====
That was a fun exercise. I hope at least a couple of people learned something.
Greg -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
-- Sent from my Android phone with K-9 Mail. Please excuse my brevity. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org