此处重点讨论采用Reed-Solomon算法生成P、Q校验码。
Reed-Solomon编码的码字格式如下:
n (Total Symbols) | |
K (data symbols) 数据 | 2t (Parity symbols) 校验码 |
RAID6采用P+ Q的二维校验方式,其中P为XOR校验码,而Q校验码采用GF集合,运用线性代数等比较复杂的算法生成。下图为P、Q校验码生成的解算方程式,下面详细介绍P、Q校验码的生成方法。
P校验码的生成和RAID5一样。
下面这两个算式生成条带0和条带2的P校验码:
数据的更新:
假设对D(0,2), D(3,1)的数据进行更新。
Q校验码的生成过程中用到了伽罗华域变换表,该变换表参见前表。
下面两个算式生成条带0和条带5的Q校验码:
算法举例:
如果存在如下的条带数据,计算编码结果。
| 原始数据 | P | Q | ||||
1 | 0x1 | 0x 2 | 0x 3 | 0x 4 | 0x 5 | 0x01 | 0x79 |
2 | 0x 6 | 0x 7 | 0x 8 | 0x 9 | 0x A | 0x02 | 0xC0 |
Q码计算如下:
条带数据的更新,从而需要更新Q校验码,计算方法如下:
假设D(0,2), D(3,1)数据进行了更新,需要重新计算这两个数据条带的Q校验码。
文章评论(0条评论)
登录后参与讨论