[gpfsug-discuss] RAID type for system pool

Marc A Kaplan makaplan at us.ibm.com
Mon Sep 10 15:36:52 BST 2018


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" <UWEFALKE at de.ibm.com>


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?



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://gpfsug.org/pipermail/gpfsug-discuss_gpfsug.org/attachments/20180910/a800d6f3/attachment-0002.htm>


More information about the gpfsug-discuss mailing list