No,  but of course for a RAID with additional parity (error correction) 
bits the controller needs to read and write more.
So if, for example, n+2 sub-blocks per stripe = n data and 2 error 
correction...
Then the smallest update requires  read-compute-write on 1 data and 2 ecc. 
 = 3 reads and 3 writes.

The calculation each parity block of the requires "subtracting" out the 
contribution of the old data value and adding in the contribution of the 
new data value
 
Ref: http://igoro.com/archive/how-raid-6-dual-parity-calculation-works/

Look at it this way:  The k'th parity value is

Parityk=    Ak*(data1) + Bk*(data2) + Ck*(data3) + ...         (Ak, Bk, 
Ck, ... are coefficients for the computation of the k'th parity value)

When updating data2 to data2x we update Parityk to Paritykx with

Paritykx = Pariktyk - Bk*(data2) + Bk*(data2x)

(Arithmetic done in a Galois Field chosen to make error correction 
practical.)


From:   "Uwe Falke" <[email protected]>


Hi, Marc, 
I was clearly unaware of that function. If my understanding of 
parity-based redundancy is about correct, then that method would only work 

with RAID 5, because that is a simple XOR-based hash, but RAID 6, if used, 

would not allow that stripped-down RMW. Is that correct?



_______________________________________________
gpfsug-discuss mailing list
gpfsug-discuss at spectrumscale.org
http://gpfsug.org/mailman/listinfo/gpfsug-discuss

Reply via email to