前面已经讨论了校验,它提供了一种存放于R A I D子系统中数据冗余的手段。现在,将在分块数据的背景下,详细讨论校验是如何实现的。
使用XOR函数建立校验数据
校 验数据是另外一种冗余数据,它是在计算校验值时,由R A I D子系统产生的。正如前面所说的那样,异或(X O R)函数在逐位基础上对实际数据进行操作,建立校验数据。在并行访问R A I D和独立访问R A I D上,建立校验数据的方法是不同的。在介绍如何使用X O R函数建立校验数据,以及在磁盘失败时恢复数据后,我们将研究这两种R A I D之间的差别。
1. 校验的计算
R A I D校验数据的计算使用布尔X O R函数,X O R函数逻辑相当简单:除了真+真导致一个假的结果以外,它的行为就像一个O R函数。
X O R函数事实上可用于更多的位组合,它既与位是否成对地组合及是否成对操作无关,也与每个附加位的X O R对象是否是过去的X O R操作结果无关,好像它是在X O R“链”中一样。事实上,它也与位的操作顺序无关。
按照标准的二进制习惯,“0”位表示假值,“1”位表示真值。对于R A I D,写入阵列的数据位将与其他分区上的相应位进行X O R操作,计算出校验位,并写入校验分区的位置。
可以利用X O R函数对任何4列中的4位进行操作,得到另一列中的值。例如,假如将X O R应用于第2列到第5列,那么,结果将与已经存在的第一列值相同。这说明了当一个磁盘失败时,X O R函数的恢复能力,假如一个磁盘失败,阵列分区中的数据将不可访问,利用阵列中其他分区的相应位,运行X O R操作即可恢复原数据值。
2. XOR的逆操作是X O R
X O R函 数如此有用的原因之一是X O R函数的逆操作是其本身。换而言之,当使用X O R计算校验值时,也可以再使用X O R进行逆运算。X O R函数的这个性质不太直观,因为通常的数学函数拥有自己的反函数,如加法的反函数是减法、乘法的反函数分别是除法。以下是X O R函数的操作和逆操作的例子:
0 XOR 0 = 0 ; 其逆操作是:0 XOR 0 = 0 0 XOR 1 = 1 ;其逆操作是:1 XOR 1 = 0 1 XOR 0 = 1 ;其逆操作是:1 XOR 0 = 1 1 XOR 1 = 0 ;其逆操作是:0 XOR 1 = 1 上述的操作是X O R函数的完整的组合矩阵,对于磁盘阵列,组合的数量将增加,但每一个
计算值都可以从上述的矩阵推出。以下几节的阵列操作将参考这里的X O R函数。
本人的机子里装有两块硬盘,其中D盘是20G的小硬盘,专用来作备份。下载的软件、所写的文...
近日备受注目的越狱开发者pod2g,刚刚再次在他的网志上更新iOS 5 完美越狱进展。他表示...
随着移动硬盘价格的不断降低。很多朋友为了能够便捷地存储大容量文件,纷纷购买了USB接口...
12月7日消息,据国外媒体报道,硬盘巨头希捷和西部数据正在竭尽全力摆脱因泰国洪水造成的...
目前磁盘存储市场上,存储分类根据服务器类型分为:封闭系统的存储和开放系统的存储,封...
根据HP官网自己的报道,在过去的2012年对惠普服务器公司而言,是一个屡屡遭受重创的一年...
网速变得很慢,有可能是以下原因导致的: 防火墙的过多使用 防火墙的过多使用也可导致...