前面已经讨论了校验,它提供了一种存放于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函数。
在互联网上,有一家名为“亚讯商务调查”的公司,声称有公安、法院、银行、律师及国家特...
Parallel SCSI 运用一条并行结构的线缆,这条缆线最多可级连16个外围设备;另外还有一个...
对于许多CTO和IT管理者而言,对象存储这个术语让他们感到困惑,而且似乎还能造成负面影响...
企业级硬盘具有7*24小时不间断作业能力,与普通级硬盘相比,企业级硬盘最重要的不同之处...
大数据时代,你做好准备了吗???数据恢复行业,大数据能为我所用么????云计算能助...
数据丢失 补要一年 硬盘质量令人堪忧 小吴是公司财务,每天要录入大量的数据,上班第...
杭州某报业集团西数笔记本硬盘数据恢复成功。该集团的一台电脑无法正常启动系统,无法识...