[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