一种垂直型分组并行分布校验的磁盘阵列的构建方法技术

技术编号:4075750 阅读:273 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种垂直型分组并行分布校验的磁盘阵列的构建方法,适用于连续数据存储,属于独立磁盘冗余阵列技术领域。本发明专利技术针对连续数据存储的特点,设计实现一种垂直型分组并行分布校验的磁盘阵列SVE-RAID?5,主要包括:存储数据在SVE-RAID?5上的布局、存储数据的读写、校验数据的生成方式、写数据时的数据缓冲与预读优化、磁盘工作状态转换调度等。磁盘阵列SVE-RAID5不但具有良好的冗余数据保护机制,而且能显著降低功耗,延长使用寿命。

【技术实现步骤摘要】

本专利技术涉及一种独立磁盘冗余阵列(Redundant Arrays of Independent Disks, RAID)的构建方法,特别涉及,适用于 连续数据存储,属于独立磁盘冗余阵列

技术介绍
在现代存储领域,为了提高存储数据的可靠性和改善存储系统的输入、输出性能, 人们设计了多种数据存储方案,这些数据存储方案通常是各种类型的独立磁盘冗余阵列 (Redundant Arrays of Independent Disks,RAID)。通过使用特定的硬件或软件,RAID 把 多个物理存储设备如磁盘,联合起来,形成一个统一的逻辑存储设备。下面对RAID中常用的技术术语进行解释条带又称为Stripe ;是磁盘阵列的不同磁盘上的位置相关的分块的集合,是组 织不同磁盘上条块的单位。条带化又称为Striping ;是指把一段连续数据分割成相同大小的数据块,把每 段数据分别写入到磁盘阵列的不同磁盘上的方法。磁盘镜像是指复制源数据到一个或更多的磁盘上,错误修正是指利用某种运算,如异或运算,生成并保存冗余数据,可利用冗余数 据,再生磁盘上丢失或出错的数据。XOR运算异或运算。比较常用的 RAID 有 RAIDO、RAID1、RAID5、RAID6、RAIDlO 等。其中 RAIDO 不具有 冗余能力,RAIDl只是对磁盘做了镜像。其它3种阵列分别有多个磁盘组成,它们以条带的 方式向阵列中的磁盘写数据,奇偶校验数据存放在阵列中的各个磁盘上。RAID5的每个条带 含有1个校验块,支持任意损坏其中一个磁盘、通过其它磁盘上的奇偶校验块来重建数据; RAID6的每个条带含有2个校验块,支持任意损坏其中两个磁盘、通过其它磁盘上的奇偶校 验块来恢复数据;RAIDlO是先对磁盘组进行镜像,再对磁盘进行条带化,所以其不含奇偶 校验块,当一个磁盘损坏后通过其对应的镜像盘恢复数据,理想状态下最多允许不同位置 下50%的磁盘损坏,最糟糕的情况是同一对镜像磁盘同时损坏。在RAID 5中,一个条带包含一组逻辑相邻的数据块,并且这些数据块存储在阵 列中不同的存储设备上,RAID 5能够纠正或再生一个磁盘上存储的数据,并且由于多个磁 盘联合使用一个磁盘容量的冗余数据,所以单位有效数据所需的冗余数据量较少,尤其当 RAID 5中包含多个磁盘时,这种优势更明显。如8个磁盘构成的RAID 5,冗余数据占1个 磁盘容量,为全部存储数据的1/8。并且由于RAID 5每个条带分散到不同磁盘上的数据块 较大,保证了大部分I/O操作都能落入到一个磁盘的数据块内,校验数据也是分布存储的, 这样大大增加多I/O并发的可能性。由于RAID 5具有突出的综合性能,为大多数商业服务 器提供了优化的性价比,所以获得了广泛应用。然而,在连续数据存储领域,如视频监控、虚拟磁带库(VTL)、连续数据保护(⑶P)等应用中,连续数据流顺序写入到磁盘中,进行的是顺序存储,即存储数据的地址是连续 的,满足存储空间访问的局部性原理,因此不存在I/O并发性。常用的磁盘阵列,为了提高 数据访问速度和保证I/O并发性,把连续数据分散存储到不同的磁盘上,虽然每次只访问 局部的一块或几块逻辑相邻的磁盘,阵列中多数磁盘没有任务也必须空转,这样不仅浪费 大量能源,同时也大大增加了磁盘的无效在线时间,严重缩短了磁盘的使用寿命。随着磁盘技术的进步,单块磁盘的连续读写带宽已经得到了显著提高,对于连续 数据存储,如果能够在具有冗余数据保护机制的同时,充分利用单块磁盘的传输带宽,根据 实际任务需求,令阵列中的一块或几块磁盘工作,来完成存储任务,其它没有任务的磁盘调 度到停止状态,即磁盘转轴和磁头电机停止工作,不仅能够节省大量能源,而且还能有效利 用磁盘的使用寿命。磁盘在不同工作状态下的能量消耗见表1。表1磁盘在不同工作状态下的能量消耗本文档来自技高网...

【技术保护点】
一种垂直型分组并行分布校验的磁盘阵列的构建方法,垂直型分组并行分布校验的磁盘阵列,简称为磁盘阵列SVE-RAID5;其特征在于:应用于磁盘阵列包含N个磁盘的场景中,其中N≥3且N为正整数;将N个磁盘构造成1行×N列的磁盘矩阵;对全部磁盘进行条带划分,分成N个条带并为每个条带顺序编号,每个条带上有N个存储块,其中1个为校验块,另外N-1个为数据块,校验块由同条带内的N-1个数据块通过异或运算得出,N个校验块顺序分布在磁盘阵列的不同磁盘上;用X(i,j)表示磁盘阵列SVE-RAID5中的一个存储块,其中j表示该存储块所在磁盘的序号,存储块X(i,j)位于磁盘j上;i表示该存储块所在条带;1≤i,j≤N;则存储块X(i,N+1-i)为校验块,用P(i,j)表示;其它存储块为数据块,用L(u,v)表示,其中u表示数据块所在条带的序号,1≤u≤N,v表示该数据块在所属条带内的数据块的序号,序号从1开始,1≤v≤N-1;数据块L(u,v)与存储块的对应关系满足公式1:L(u,v)=***(1)为了提高连续存储带宽,并获得不同的连续存储带宽,以满足不同存储速率的需求,将每个条带上的N-1个数据块平均分成p组,p≥2且p为正整数;每组包含q个数据块,q≥1且q为正整数,q值根据实际存储任务对连续带宽的需求确定;并满足以下关系:p×q=N-1;每个数据块分成K个大小相等的数据子块,K≥2且K为正整数,然后按照组号依次为全部数据子块编号,组号相同的数据子块,按照条带顺序编号;即:第一条带第1组的第1个数据块中第1个数据子块编号为1;为第一条带第1组中的第2个数据块中第1个数据子块编号为2;……;为第一条带第1组中的第q个数据块中第1个数据子块编号为q;然后为第一条带第1组中的第1个数据块中第2个数据子块编号为q+1;为第一条带第1组的第2个数据块中第2个数据子块编号为q+2;……;为第一条带第1组中的第q个数据块中第2个数据子块编号为2×q;……;以此类推,为第一条带第1组中的第1个数据块中第K个数据子块编号为(K-1)×q+1;为第一条带第1组的第2个数据块中第K个数据子块编号为(K-1)×q+2;……;为第一条带第1组中的第q个数据块中第K个数据子块编号为K×q;然后为第二条带第1组的第1个数据块中第1个数据子块编号为K×q+1;为第二条带第1组的第2个数据块中第1个数据子块编号为K×q+2;……;为第二条带第1组的第q个数据块中第1个数据子块编号为(K+1)×q;然后为第二条带第1组的第1个数据块中第2个数据子块编号为(K+1)×q+1;为第二条带第1组的第2个数据块中第2个数据子块编号为(K+1)×q+2;……;为第二条带第1组的第q个数据块中第2个数据子块编号为(K+2)×q;……;以此类推,为第二条带第1组的第1个数据块中第K个数据子块编号为2×K×q-q+1;为第二条带第1组的第2个数据块中第K个数据子块编号为2×K×q-q+2;……;为第二条带第1组的第q个数据块中第K个数据子块编号为2×K×q;然后为第N条带第1组的第1个数据块中第1个数据子块编号为(N-1)×K×q+1;为第N条带第1组的第2个数据块中第1个数据子块编号为(N-1)×K×q+2;……;为第N条带第1组的第q个数据块中第1个数据子块编号为(N-1)×K×q+q;然后为第N条带第1组的第1个数据块中第2个数据子块编号为(N-1)×K×q+q+1;为第N条带第1组的第2个数据块中第2个数据子块编号为(N-1)×K×q+q+2;……;为第N条带第1组的第q个数据块中第2个数据子块编号为(N-1)×K×q+q×2;……;以此类推,为第N条带第1组的第1个数据块中第K个数据子块编号为N×K×q-q+1;为第N条带第1组的第2个数据块中第K个数据子块编号为N×K×q-q+2;……;为第N条带第1组的第q个数据块中第K个数据子块编号为N×K×q;以此类推,按照相同的编号原则,为每一条带的第2组、每一条带的第3组、……、每一条带的第p组数据子块进行编号;编号相邻的数据子块,其逻辑地址相邻;条带序号相邻、组序号相同的组,其逻辑地址相邻,第N条带与第一条带中组序号相邻的组,逻辑地址相邻;每个校验块也分成K个大小相等的校验子块,校验子块由所在条带中偏移位置相同的N-1个数据子块异或运算而得,这样的N-1个数据子块及其异或生成的校验子块组成一个校验条;上述布局方式,可并行访问组内的q个数据盘,又使存储任务分布在一组内,其余p-1组数据盘没有任务,这样便于调度没有任务的磁盘进入到停止状态,以达到节能和降低磁盘损耗的目的;所述方法进一步包括:控制磁盘工作状态的方法;磁盘工作状态包括:停止、运行、就绪三种状态;磁盘停止状态时,磁盘转轴停止旋转、磁头停止寻道;磁盘运行状态时,磁盘正在执行读写操...

【技术特征摘要】
一种垂直型分组并行分布校验的磁盘阵列的构建方法,垂直型分组并行分布校验的磁盘阵列,简称为磁盘阵列SVE RAID 5;其特征在于应用于磁盘阵列包含N个磁盘的场景中,其中N≥3且N为正整数;将N个磁盘构造成1行×N列的磁盘矩阵;对全部磁盘进行条带划分,分成N个条带并为每个条带顺序编号,每个条带上有N个存储块,其中1个为校验块,另外N 1个为数据块,校验块由同条带内的N 1个数据块通过异或运算得出,N个校验块顺序分布在磁盘阵列的不同磁盘上;用X(i,j)表示磁盘阵列SVE RAID 5中的一个存储块,其中j表示该存储块所在磁盘的序号,存储块X(i,j)位于磁盘j上;i表示该存储块所在条带;1≤i,j≤N;则存储块X(i,N+1 i)为校验块,用P(i,j)表示;其它存储块为数据块,用L(u,v)表示,其中u表示数据块所在条带的序号,1≤u≤N,v表示该数据块在所属条带内的数据块的序号,序号从1开始,1≤v≤N 1;数据块L(u,v)与存储块的对应关系满足公式1 <mrow><mi>L</mi><mrow> <mo>(</mo> <mi>u</mi> <mo>,</mo> <mi>v</mi> <mo>)</mo></mrow><mo>=</mo><mfenced open='{' close=''> <mtable><mtr> <mtd><mi>X</mi><mrow> <mo>(</mo> <mi>u</mi> <mo>,</mo> <mi>v</mi> <mo>)</mo></mrow> </mtd> <mtd><mi>u</mi><mo>+</mo><mi>v</mi><mo>&lt;</mo><mi>N</mi><mo>+</mo><mn>1</mn> </mtd></mtr><mtr> <mtd><mi>X</mi><mrow> <mo>(</mo> <mi>u</mi> <mo>,</mo> <mi>v</mi> <mo>+</mo> <mn>1</mn> <mo>)</mo></mrow> </mtd> <mtd><mi>u</mi><mo>+</mo><mi>v</mi><mo>&GreaterEqual;</mo><mi>N</mi><mo>+</mo><mn>1</mn> </mtd></mtr> </mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo> </mrow>为了提高连续存储带宽,并获得不同的连续存储带宽,以满足不同存储速率的需求,将每个条带上的N 1个数据块平均分成p组,p≥2且p为正整数;每组包含q个数据块,q≥1且q为正整数,q值根据实际存储任务对连续带宽的需求确定;并满足以下关系p×q=N 1;每个数据块分成K个大小相等的数据子块,K≥2且K为正整数,然后按照组号依次为全部数据子块编号,组号相同的数据子块,按照条带顺序编号;即第一条带第1组的第1个数据块中第1个数据子块编号为1;为第一条带第1组中的第2个数据块中第1个数据子块编号为2;……;为第一条带第1组中的第q个数据块中第1个数据子块编号为q;然后为第一条带第1组中的第1个数据块中第2个数据子块编号为q+1;为第一条带第1组的第2个数据块中第2个数据子块编号为q+2;……;为第一条带第1组中的第q个数据块中第2个数据子块编号为2×q;……;以此类推,为第一条带第1组中的第1个数据块中第K个数据子块编号为(K 1)×q+1;为第一条带第1组的第2个数据块中第K个数据子块编号为(K 1)×q+2;……;为第一条带第1组中的第q个数据块中第K个数据子块编号为K×q;然后为第二条带第1组的第1个数据块中第1个数据子块编号为K×q+1;为第二条带第1组的第2个数据块中第1个数据子块编号为K×q+2;……;为第二条带第1组的第q个数据块中第1个数据子块编号为(K+1)×q;然后为第二条带第1组的第1个数据块中第2个数据子块编号为(K+1)×q+1;为第二条带第1组的第2个数据块中第2个数据子块编号为(K+1)×q+2;……;为第二条带第1组的第q个数据块中第2个数据子块编号为(K+2)×q;……;以此类推,为第二条带第1组的第1个数据块中第K个数据子块编号为2×K×q q+1;为第二条带第1组的第2个数据块中第K个数据子块编号为2×K×q q+2;……;为第二条带第1组的第q个数据块中第K个数据子块编号为2×K×q;然后为第N条带第1组的第1个数据块中第1个数据子块编号为(N 1)×K×q+1;为第N条带第1组的第2个数据块中第1个数据子块编号为(N 1)×K×q+2;……;为第N条带第1组的第q个数据块中第1个数据子块编号为(N 1)×K×q+q;然后为第N条带第1组的第1个数据块中第2个数据子块编号为(N 1)×K×q+q+1;为第N条带第1组的第2个数据块中第2个数据子块编号为(N 1)×K×q+q+2;……;为第N条带第1组的第q个数据块中第2个数据子块编号为(N 1)×K×q+q×2;……;以此类推,为第N条带第1组的第1个数据块中第K个数据子块编号为N×K×q q+1;为第N条带第1组的第2个数据块中第K个数据子块编号为N×K×q q+2;……;为第N条带第1组的第q个数据块中第K个数据子块编号为N×K×q;以此类推,按照相同的编号原则,为每一条带的第2组、每一条带的第3组、……、每一条带的第p组数据子块进行编号;编号相邻的数据子块,其逻辑地址相邻;条带序号相邻、组序号相同的组,其逻辑地址相邻,第N条带与第一条带中组序号相邻的组,逻辑...

【专利技术属性】
技术研发人员:孙志卓周泽湘谭毓安王道邦何广韬沈晶耿成山李虓
申请(专利权)人:北京同有飞骥科技有限公司
类型:发明
国别省市:11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1