| 
 咨询电话:010-51727811/12/13
当前位置: 首页 > 新闻中心 > 业内新闻 >
独立访问分块数据RAID的校验(一)
时间:2012-09-06 09:30  来源:飞客数据恢复   作者:飞客数据恢复工程师
独立访问RAID的情形稍为复杂一些,数据并不分块写入几个转动速度相同的同步磁盘,而是写到单个分区中的分块,然后再写入下一个磁盘的相应分区。换而言之,写不必跨越阵列中的所有磁盘。

1.独立访问阵列的写额外开销

当对每一个分块施行写时,同时也计算校验数据,以使这些数据获得保护。像前面描述的,XOR可用于建立校验数据,但用来计算校验数据的一些数据已经存放在磁盘上,主机I/O控制器不能对这些数据执行写操作,因此,在计算新数据的校验值时,需要从阵列磁盘中读出存在的数据。为了写新的数据并计算其校验值,需要执行数据读和计算的操作,这个过程称为RAID写额外开销。

为新数据建立校验是一个有趣的过程,而不是所希望的及时过程。记住,校验数据计算与计算顺序无关,所以,参加计算的位能以任何顺序相混合,而所得到校验数据的结果是相同的。已经证明,XOR函数具有逆着原来的步骤计算临时值的能力。例如,对校验数据及任何一个贡献值进行XOR操作时,都使该值的贡献去除,4个磁盘的XOR计算结果。

所以,当新的数据被写入一个独立访问阵列时,将使用下列过程更新校验数据和写入新数据:
1)从主机I/O控制器接收I/O请求和新数据。
2)读出将被替代分块的原有数据。
3)读出该块的校验数据。
4)对校验数据与原有数据实施XOR操作,去除原有数据对校验数据的贡献。
5)对该校验数据与新数据实施XOR操作,得到新的校验数据。
6)将新的校验数据写入磁盘。
7)将新数据写入磁盘。

这个过程称为读、修改和写周期,一个带有4个成员磁盘阵列的读、修改和写的周期,其中一个磁盘包含分条的校验数据。