存储 频道

校验分块数据-独立访问RAID的校验(1)

独立访问RAID的校验
 
独立访问R A I D的情形稍为复杂一些,数据并不分块写入几个转动速度相同的同步磁盘,而是写到单个分区中的分块,然后再写入下一个磁盘的相应分区。换而言之,写不必跨越阵列中的所有磁盘。
 
1. 独立访问阵列的写额外开销
 
当对每一个分块施行写时,同时也计算校验数据,以使这些数据获得保护。像前面描述的,X O R可用于建立校验数据,但用来计算校验数据的一些数据已经存放在磁盘上,主机I / O控制器不能对这些数据执行写操作,因此,在计算新数据的校验值时,需要从阵列磁盘中读出存在的数据。为了写新的数据并计算其校验值,需要执行数据读和计算的操作,这个过程称为R A I D写额外开销。
 
为新数据建立校验是一个有趣的过程,而不是所希望的及时过程。记住,校验数据计算与计算顺序无关,所以,参加计算的位能以任何顺序相混合,而所得到校验数据的结果是相同的。已经证明,X O R函数具有逆着原来的步骤计算临时值的能力。例如,对校验数据及任何一个贡献值进行X O R操作时,都使该值的贡献去除,如图6 - 2 4所示,当第二个磁盘的贡献被去除时,4 个磁盘的X O R计算结果。
所以,当新的数据被写入一个独立访问阵列时,将使用下列过程更新校验数据和写入新数据:
1) 从主机I / O控制器接收I / O请求和新数据。
2) 读出将被替代分块的原有数据。
3) 读出该块的校验数据。
4) 对校验数据与原有数据实施X O R操作,去除原有数据对校验数据的贡献。
5) 对该校验数据与新数据实施X O R操作,得到新的校验数据。
6) 将新的校验数据写入磁盘。
7) 将新数据写入磁盘。
 
这个过程称为读、修改和写周期,图6 - 2 5显示了一个带有4个成员磁盘阵列的读、修改和写的周期,其中一个磁盘包含分条的校验数据。
0
相关文章