当前位置: 首页 > 专利查询>德州学院专利>正文

一种消除局部并行中小写操作的双盘容错盘阵列制造技术

技术编号:13670442 阅读:55 留言:0更新日期:2016-09-07 16:08
本发明专利技术涉及一种消除局部并行中小写操作的双盘容错盘阵列Ripple‑RAID 6的构建方法,适用于连续数据存储,属于独立硬盘冗余阵列技术领域。本发明专利技术针对连续数据存储的特点,设计实现一种可消除局部并行中小写操作的双盘容错分布校验式硬盘阵列Ripple‑RAID 6,主要包括:存储数据在Ripple‑RAID 6上的布局方式、基于流水技术渐进生成校验的写操作方法、数据容错等内容。硬盘阵列Ripple‑RAID 6在双盘容错条件下,既保持了局部并行的节能性,又解决了局部并行带来的小写问题,能够极大提高写性能和整体性能,具有突出的节能效率。

【技术实现步骤摘要】

本专利技术涉及一种消除局部并行中小写操作的双盘容错盘阵列的构建方法,适用于连续数据存储,属于独立硬盘冗余阵列

技术介绍
硬盘包括磁盘和固态盘(Solid State Disk,SSD),由于磁盘是海量数据存储的主体,因此这里的硬盘主要指磁盘。为了提高存储数据的安全性,改善存储系统的输入、输出性能,人们设计了各种类型的独立硬盘冗余阵列(Redundant Arrays of Independent Disks,RAID)。RAID技术使用特定的硬件或软件,把多个物理存储设备如磁盘、SSD联合起来,形成一个统一的逻辑存储设备。RAID中常用的技术术语如下:条带:硬盘阵列中不同盘上的位置相关的分块的集合,是组织不同盘上条块的单位。条带化:把一段连续数据分割成相同大小的数据块,把每块数据分别写入到硬盘阵列的不同盘上的方法。镜像:把原数据复制到一个或更多盘上。容错:利用某种运算,如异或运算,生成冗余的校验数据并保存。当硬盘出现故障丢失数据时,可利用校验数据进行数据恢复。单盘容错:利用校验数据和其它盘上的数据,可恢复RAID中任意1块故障盘上的数据。常见的单盘容错RAID有RAID 4和RAID 5。双盘容错:利用校验数据和其它盘上的数据,可恢复RAID中任意2块故障盘上的数据。常见的双盘容错RAID有RAID 6。分布校验:校验数据按一定规律分布在构成RAID的各个盘上。局部并行:阵列中仅部分硬盘并行,而不是全部硬盘并行,能够提供合适的性能,并且便于调度其余硬盘待机节能。RAID中的写操作:分为3种情况,①写数据恰好与RAID中的整个条带对齐,称为完全写;②写数据不能覆盖整个条带,但不少于整个条带的1/2时,称
为重构写;③写数据不足整个条带1/2时,称为小写,也叫“读-改-写”,写新数据时需要先读取对应的旧数据、旧校验数据,与新数据一起生成新校验数据后,再写入新校验数据。P+Q方式的RAID 6的校验生成方法为:P+Q方式的RAID 6对同条带内的数据进行异或运算,生成该条带的校验数据P;然后利用伽罗华域(GF)的乘法和加法(异或运算),生成该条带的校验数据Q。假设条带内的数据块为D0和D1,则校验块P、Q的计算公式如公式(1)和公式(2)所示。 P = D 0 ⊕ D 1 - - - ( 1 ) ]]> Q = ( A 0 * D 0 ) ⊕ ( A 1 * D 1 ) - - - ( 2 ) ]]>其中,表示异或运算,*表示伽罗华域乘法,A0、A1为互异的伽罗华域乘法系数。P+Q方式的RAID 6的数据恢复过程具体为:磁盘阵列中任意2块磁盘出现故障,可利用公式(1)和公式(2)进行数据恢复,具体如下:1:校验块P、Q所在磁盘出现故障,只需由同条带内的数据块,分别按照生成P、Q的公式(1)、式公(2),计算出P、Q即可;2:校验块Q与任一数据块所在磁盘出现故障,不妨设该数据块为D1,首先利用校验块P恢复D1,由式(1)推导得到公式(3)。 D 1 = P ⊕ D 0 - - - ( 3 ) ]]>异或运算性质:D1恢复后,再利用公式(2)恢复校验块Q;3:校验块P与任一数据块所在磁盘出现故障,不妨设该数据块为D1,首先利用校验块Q恢复D1,由公式(2)推导得到公式(4)。 ( A 1 * D 1 ) = ( A 0 * D 0 ) ⊕ Q ]]>所以恢复D1如下: D 1 = ( A 1 * D 1 ) / A 1 = [ ( A 0 * D 0 ) ⊕ Q ] / A 1 - - - ( 4 ) ]]>其中,/为伽罗华除法;D1成功恢复后,再利用式(1)恢复校验块P。4:任意2个数据块所在磁盘出现故障,不妨设这两个数据块为D0和D1,由式(1)得把D1代入式(2)得到公式(5)。 Q = ( A 0 * D 0 ) ⊕ [ A 1 * ( P ⊕ D 0 ) ] = [ ( A 0 ⊕ A 1 ) * D 0 ] ⊕ ( A 1 * P ) - - - ( 5 ) ]]>*对满足分配律;公式(5)与D0相关,并且不包含D1,利用公式(5)求解D0如公式(6)和公式(7)所示。 ( A 0 ⊕ A 1 本文档来自技高网
...

【技术保护点】
一种消除局部并行中小写操作的双盘容错盘阵列Ripple‑RAID 6,其特征在于:其结构布局为:硬盘阵列Ripple‑RAID 6包含N块硬盘,N≥4且为正整数;每个硬盘平均分成k×N+1个存储块,k为大于0的整数,各盘中偏移量相同的N个存储块组成1个条带,共组成k×N+1个条带,任取其中1个条带作为影子条带,其余为基本条带;每个基本条带包含2个校验存储块,简称校验块,分别为P校验块和Q校验块,N‑2个数据存储块,简称数据块;当j小于N‑1时,基本条带i中的P校验块位于硬盘N‑2‑j,Q校验块位于硬盘N‑1‑j;当j等于N‑1时,P校验块位于硬盘N‑1,Q校验块位于硬盘0,这里0≤i<(k×N),j=i MOD N;MOD为模运算;每个数据块、校验块进一步划分为M个大小相等的子块,每个子块包含若干个地址连续的扇区,分别称为数据子块,记作Strip、P校验子块,记作PStrip、Q校验子块,记作QStrip;每个基本条带中偏移量相同的子块组成一个子条带,记作Stripe,这样每个基本条带包含M个大小相同的子条带;子条带Stripe m内的N‑2个数据子块Strip m异或运算,生成该子条带的P校验子块PStrip m;进行伽罗华域乘法和加法运算,生成该子条带的Q校验子块QStrip m,分别如公式(8)和公式(9)所示;其中,表示异或运算,*表示伽罗华域乘法,A0、A1、…,AN‑3为互异的伽罗华域乘法系数;为了提供合适的性能,每个基本条带中的N‑2个数据块按顺序分成F组,每组包含G个数据块;其中,F、G是大于0的整数,满足F×G=N‑2,G值根据实际存储带宽需求确定;每个子条带中的数据子块也被分成F组,每组包含G个数据子块,每个子条带中仅组内的G个数据子块提供并行性,不是全部数据子块提供并行性;Ripple‑RAID 6采用适度贪婪的地址分配策略,从基本条带0内、组0内的首个数据子块开始,按如下规则编址:①同一组内,同一子条带内、编号相邻数据块 内的数据子块的地址相邻;②同一基本条带内,编号相邻的两个子条带,前一个在组内的末尾数据子块,与后一个在该组内的起始数据子块的地址相邻;③同一基本条带内,编号相邻的组的地址相邻;④编号相邻的基本条带的地址相邻;基本条带、组、数据块均从0开始编号;Ripple‑RAID 6仅对基本条带进行编址,影子条带不参与编址,仅供Ripple‑RAID 6内部使用,对上层应用是透明的,其功能在写操作方法中会详细介绍;上述数据布局和编址方式,既具有局部并行的节能性,又通过引入特殊功能的影子条带,同时具有解决局部并行中小写问题的基本条件。...

【技术特征摘要】
2015.05.20 CN 20151026073141.一种消除局部并行中小写操作的双盘容错盘阵列Ripple-RAID 6,其特征在于:其结构布局为:硬盘阵列Ripple-RAID 6包含N块硬盘,N≥4且为正整数;每个硬盘平均分成k×N+1个存储块,k为大于0的整数,各盘中偏移量相同的N个存储块组成1个条带,共组成k×N+1个条带,任取其中1个条带作为影子条带,其余为基本条带;每个基本条带包含2个校验存储块,简称校验块,分别为P校验块和Q校验块,N-2个数据存储块,简称数据块;当j小于N-1时,基本条带i中的P校验块位于硬盘N-2-j,Q校验块位于硬盘N-1-j;当j等于N-1时,P校验块位于硬盘N-1,Q校验块位于硬盘0,这里0≤i<(k×N),j=i MOD N;MOD为模运算;每个数据块、校验块进一步划分为M个大小相等的子块,每个子块包含若干个地址连续的扇区,分别称为数据子块,记作Strip、P校验子块,记作PStrip、Q校验子块,记作QStrip;每个基本条带中偏移量相同的子块组成一个子条带,记作Stripe,这样每个基本条带包含M个大小相同的子条带;子条带Stripe m内的N-2个数据子块Strip m异或运算,生成该子条带的P校验子块PStrip m;进行伽罗华域乘法和加法运算,生成该子条带的Q校验子块QStrip m,分别如公式(8)和公式(9)所示;其中,表示异或运算,*表示伽罗华域乘法,A0、A1、…,AN-3为互异的伽罗华域乘法系数;为了提供合适的性能,每个基本条带中的N-2个数据块按顺序分成F组,每组包含G个数据块;其中,F、G是大于0的整数,满足F×G=N-2,G值根据实际存储带宽需求确定;每个子条带中的数据子块也被分成F组,每组包含G个数据子块,每个子条带中仅组内的G个数据子块提供并行性,不是全部数据子块提供并行性;Ripple-RAID 6采用适度贪婪的地址分配策略,从基本条带0内、组0内的首个数据子块开始,按如下规则编址:①同一组内,同一子条带内、编号相邻数据块 内的数据子块的地址相邻;②同一基本条带内,编号相邻的两个子条带,前一个在组内的末尾数据子块,与后一个在该组内的起始数据子块的地址相邻;③同一基本条带内,编号相邻的组的地址相邻;④编号相邻的基本条带的地址相邻;基本条带、组、数据块均从0开始编号;Ripple-RAID 6仅对基本条带进行编址,影子条带不参与编址,仅供Ripple-RAID 6内部使用,对上层应用是透明的,其功能在写操作方法中会详细介绍;上述数据布局和编址方式,既具有局部并行的节能性,又通过引入特殊功能的影子条带,同时具有解决局部并行中小写问题的基本条件。2.如权利要求1所述的一种消除局部并行中小写操作的双盘容错盘阵列Ripple-RAID 6,其特征在于:其写操作方法具体为:Ripple-RAID 6的写操作,综合运用了地址映射、异地数据更新、渐进式生成校验等方法,生成校验数据时不需读取旧数据;进一步采用流水技术读取已有校验、写入新校验时,可有效解决局部并行带来的小写问题;此外,地址映射把非顺序写转换为顺序写,可进一步提升Ripple-RAID 6的写性能;2.1地址映射;上层应用程序发来的读写请求地址,称为虚拟地址;数据在Ripple-RAID 6存储空间内的存储地址,称为物理地址;地址映射实现虚拟地址到物理地址的转换:把非连续的虚拟地址映射为连续的物理地址,并记录映射关系到地址映射表;地址映射后,写操作在物理地址空间内完全连续,Ripple-RAID 6完全执行顺序写;以若干个连续扇区为单位进行地址映射,称为扇区组映射方式;该方式多扇区映射时效率高,但改写组中部分数据时,需要读取未修改数据,与改写数据一起重新映射;Ripple-RAID 6很少进行改写操作,适合采用该映射方式;地址映射信息需要作为元数据保存,大小为存储容量的8/(1024×x),其中8个字节记录一个扇区组地址,x为扇区组大小,以KB为单位;2.2异地数据更新;地址映射后Ripple-RAID 6执行顺序写,依次向每个基本条带写数据,不会同时向两个基本条带写数据,也不会在一个基本条带没有写满的情况下,向另一个基本条带写数据;在此基础上,Ripple-RAID 6内部执行异地数据更新,基本过程如下:(1)向物理地址A所在的基本条带i写数据时,数据并不直接写入该条带,而是写入地址A的影子地址A',A'位于影子条带,与地址A具有相同的条带内地址偏移量;(2)如果影子条带没写满,转到(1);(3)否则,用影子条带替换基本条带i,即把影子条带作为基本条带i参与编址,实现影子地址到物理地址的转换,本次循环结束;(4)被替换的原基本条带i,此时没有参与编址,在下一循环中作为影子条带;2.3渐进式生成校验;影子条带的校验数据是根据本次循环中已写数据生成的,称为局部校验数据;写操作时,根据写数据、已有局部校验数据计算新的局部校验数据,不需要读取旧数据;随着写数据的增加,局部校验数据的校验范围逐渐扩大,直至覆盖整个影子条带;新数据的写入、局部校验数据的校验范围,如水中涟漪一样向前推进,因此该硬盘阵列称为Ripple-RAID 6;渐进式生成校验具体分为以下3种方式:Ⅰ.相关流水方式渐进生成校验数据时,不需读取旧数据,仅需读取局部校验数据;可以增加2个辅助存储设备,与影子条带中局部校验数据所在磁盘,以流水方式生成新校验,可有效消除读局部校验数据对写性能的影响;影子条带中校验数据所在磁盘,与辅助存储设备一起进行流水,称该流水方式为相关流水;假设每个基本条带被分成3个组,分别记作组0、组1和组2,两个辅助存储设备分别记作辅存1和辅存2,容量均与校验块相同,基于相关流水渐进生成校验的写过程如下:(1)向任一基本条带的组0写数据时,数据实际写入影子条带的组0,并生成组0的P校验、Q校验,分别写入影子条带的P校验块、Q校验块;所述任一基...

【专利技术属性】
技术研发人员:孙志卓王洪丰于瑞玲刘利东谭毓安
申请(专利权)人:德州学院
类型:发明
国别省市:山东;37

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

1