NetApp RAID DP – 和奇偶校验驱动器的磁盘空间

我一直在阅读: http : //community.netapp.com/t5/Tech-OnTap-Articles/Back-to-Basics-RAID-DP/ta-p/86123

这基本上将RAID-DP描述为对angular校验RAID。 但是有一件事情让我感到困扰 – 这个例子必须简化,因为它描述了一个总和。 这很公平 – 对于RAID4和RAID5中的“正常”校验 – 您可以执行XOR而不是直接的加法总和,因为异或操作非常高效,所以可以重build。

如果你的平价是:

A xor B xor C = P

然后

P xor B xor C = A

只有一件事情让我感到尴尬 – DP总和不能这样工作,因为如果你做一个“XOR风格”的双重奇偶校验…你会得到一个模棱两可的结果。 你可以创build一堆联立方程式,让你找出位之间的关系 – 例如你知道哪些位相等而不相等。 然而,你最终会得到两个有效的解决scheme – 一个是另一个的“反向”。

我假设这就是为什么这个工作的例子使用可加性总和…但困扰我的事情是:你的加法和总是比源的字节数更大。 如果你总结10个字节长度,你的总和可能会大于一个字节。 你可以“包装”你的总和,但你仍然冒险得到一个模棱两可的结果。

你的平价有效地告诉你哪些比特是相等的,哪些不是。 但最终的结果是模棱两可的 – 你可以有“正确的”答案,或“正确的”答案的倒置。

我错过了什么?

(我怀疑这个答案可能与RAID-6是如何相似的)。

不要担心不适合添加的结果。 只要忽略溢出。 没有歧义。 例如,让我们来想象一个存有一个十进制数字的桶。

5 + 4 + 8 + 3 + 6 => 26。

既然只有一个数字,我们就只写“6”作为奇偶校验。 现在我们需要重build第四个数据位。 加法的逆是减法:

6 – (5 + 4 + 8 + 6)=> -17只需要加10,直到得到正数,3是缺失值。

你说得对,对于双磁盘,你不能在单行上工作并恢复信息。 您必须能够读取多行。 这是一个USENIX论文,其中涵盖了行对angular奇偶校验algorithm。