[发明专利]一种双磁盘容错水平型分组并行访问磁盘阵列的构建方法有效
申请号: | 201010575611.0 | 申请日: | 2010-12-01 |
公开(公告)号: | CN102023819A | 公开(公告)日: | 2011-04-20 |
发明(设计)人: | 谭毓安;孙志卓;周泽湘;王道邦;李艳国;李焰;方仑;谢红军 | 申请(专利权)人: | 北京同有飞骥科技股份有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100081 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种双磁盘容错水平型分组并行访问磁盘阵列SHE-RAID 6的构建方法,适用于连续数据存储,属于独立磁盘冗余阵列技术领域。本发明主要包括对磁盘阵列进行条带、数据块、校验块和数据子块的划分和布局;磁盘工作状态转换调度策略;写数据时的优化处理方法;故障磁盘处理方法等。本发明不但具有优良的冗余数据保护机制,而且能显著降低功耗,延长磁盘使用寿命。 | ||
搜索关键词: | 一种 磁盘 容错 水平 分组 并行 访问 磁盘阵列 构建 方法 | ||
【主权项】:
1.一种双磁盘容错水平型分组并行访问磁盘阵列的构建方法,其特征在于,包括以下步骤:一、对磁盘阵列进行条带、数据块、校验块和数据子块的划分和布局,具体方法为:在磁盘阵列包含N个磁盘的场景中,其中N≥4且N为正整数;将N个磁盘构造成1行×N列的磁盘矩阵;对全部磁盘进行条带划分,分成N个条带并为每个条带顺序编号,每个条带上有N个存储块,其中1个为P校验块,1个为Q校验块,另外N-2个为数据块,校验块P由相同条带内的N-2个数据块进行异或运算得出,校验块Q由相同条带内的N-2个数据块进行伽罗华域乘法和加法运算得出,P、Q的生成公式如下:P = D 0 ⊕ D 1 ⊕ · · · ⊕ D N - 2 - - - ( 1 ) ]]>Q = ( A 0 * D 0 ) ⊕ ( A 1 * D 1 ) ⊕ · · · ⊕ ( A N - 2 * D N - 2 ) - - - ( 2 ) ]]> 其中D1、D2、......,DN-2为同一条带内的N-2个数据块,
表示异或运算,A1、A2、......,AN-2为互异的伽罗华域乘法系数,*表示伽罗华域乘法;用X(i,j)表示磁盘阵列中的一个存储块,其中i表示该存储块所在条带的序号,j表示所在磁盘的序号,存储块X(i,j)位于磁盘j上,1≤i,j≤N;第i条带内的校验块P,用P(i)表示,与存储块X(i,j)具有如下关系:P ( i ) = X ( i , N - i ) i ≠ N X ( N , N ) i = N - - - ( 3 ) ]]> 第i条带内的校验块Q,用Q(i)表示,与存储块X(i,j)具有如下关系:Q(i)=X(i,N+1-i)(4)其它存储块为数据块,用D(u,v)表示,其中u表示数据块所在条带的序号,1≤u≤N,v表示忽略校验块P和Q时,该数据块在所属条带内的数据块的序号,序号从1开始,1≤v≤N-2;数据块D(u,v)与存储块的对应关系满足式5:D ( u , v ) = X ( u , v ) u + v < N X ( u , v + 2 ) u + v ≥ N X ( u , v + 1 ) u = N ]]> 且u≠N (5)为了提高连续存储带宽,并获得不同的连续存储带宽,以满足不同存储速率的需求,将每个条带上的N-2个数据块平均分成p组,p≥2且p为正整数,每组包含q个数据块,q≥1且q为正整数,q值根据实际存储任务对连续带宽的需求确定;并满足以下关系:p×q=N-2;每个数据块分成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;然后为第一条带第2组的第1个数据块中第1个数据子块编号为K×q+1;为第一条带中第2组的第2个数据块中第1个数据子块编号为K×q+2;……;为第一条带中第2组的第q个数据块中第1个数据子块编号为(K+1)×q;然后为第一条带中第2组的第1个数据块中第2个数据子块编号为(K+1)×q+1;为第一条带第2组的第2个数据块中第2个数据子块编号为(K+1)×q+2;……;为第一条带中第2组的第q个数据块中第2个数据子块编号为(K+2)×q;……;以此类推,为第一条带中第2组的第1个数据块中第K个数据子块编号为2×K×q-q+1;为第一条带第2组的第2个数据块中第K个数据子块编号为2×K×q-q+2;……;为第一条带中第2组的第q个数据块中第K个数据子块编号为2×K×q;同理为第一条带第i组的第1个数据块中第1个数据子块编号为(i-1)×K×q+1,1≤i≤p;为第一条带中第i组的第2个数据块中第1个数据子块编号为(i-1)×K×q+2;……;为第一条带中第i组的第q个数据块中第1个数据子块编号为(i-1)×K×q+q;然后为第一条带中第i组的第1个数据块中第2个数据子块编号为(i-1)×K×q+q+1;为第一条带第i组的第2个数据块中第2个数据子块编号为(i-1)×K×q+q+2;……;为第一条带中第i组的第q个数据块中第2个数据子块编号为(i-1)×K×q+q×2;……;以此类推,为第一条带中第i组的第1个数据块中第K个数据子块编号为i×K×q-q+1;为第一条带第i组的第2个数据块中第K个数据子块编号为i×K×q-q+2;……;为第一条带中第i组的第q个数据块中第K个数据子块编号为i×K×q;以此类推,按照相同的编号原则,为第二条带至第N条带的数据子块进行编号;编号相邻的数据子块,其逻辑地址相邻;同一条带内序号相邻的组,其逻辑地址相邻;相邻条带中,前一条带的最后一组与后一条带的第一组的逻辑地址相邻;逻辑地址相邻的组,称为相邻组;每个校验块P、校验块Q也分成K个大小相等的校验子块,校验块P、Q中的校验子块由所在条带中偏移位置相同的N-2个数据子块分别通过异或运算、伽罗华域运算得出,这N-2数据子块及其生成的校验子块,构成一个校验条;二、按照以下策略,调度磁盘进行工作状态转换:为每个磁盘设置一个信号量,用Sem i表示,1≤i≤N,设置信号量Sem i的初始值均为0;第1步:根据访问数据的逻辑地址,用LBA表示,计算出该访问数据所在数据块所属的条带u以及所属的组,用r表示;通过下式得到:
其中,条带大小表示条带内各数据块大小之和,组大小为组内各数据块大小之和,MOD表示模运算,加1表示条带编号和组编号均从1开始;然后,用式5确定第u条带第r组内的q个数据块D(u,r×q-q+1)、D(u,r×q-q+2)、……、D(u,r×q-q+q)所在的磁盘,用式3确定本条带校验块P(u)所在的磁盘为(N-u)或N,用式4确定本条带校验块Q(u)所在的磁盘为N+1-u,对以上磁盘分别处理:若磁盘处于停止状态,则调度到就绪状态;条带序号u和组序号r分别用于记录当前访问操作的条带序号和组序号;第2步:当第u条带第r组内的q个数据块所在磁盘,第u条带校验块P(u)、Q(u)所在磁盘处于就绪状态时,开始并行访问这q+2个磁盘,被访问的磁盘由就绪状态转为运行状态;第3步:如果本次访问在第u条带第r组内结束,则本次访问结束后,第u条带第r组内的q个数据块所属磁盘、第u条带内的校验块P(u)、Q(u)所属磁盘由运行状态转为就绪状态,然后退出本次调度;否则,在第u条带第r组访问结束前t时刻,确定相邻组的条带编号及组编号;其中,t为磁盘由停止状态转为就绪状态所需要的时间,相邻组的条带编号用I表示,组编号用R表示;并对第I条带第R组内q个数据块所属磁盘、第I条带内的校验块P(I)、校验块Q(I)所在磁盘分别处理:若磁盘处于停止状态,则调度到就绪状态;若磁盘处于运行状态,则该磁盘的信号量加1;在第u条带第r组访问结束后,对第u条带第r组内的q个数据块所属磁盘、第u条带内的校验块P(u)、Q(u)所属磁盘分别处理:将磁盘的信号量减1,如果该磁盘的信号量小于0,则将该磁盘由运行状态转为停止状态,并重新设置该磁盘的信号量为0;否则,将该磁盘由运行状态转为就绪状态;第4步:把记录当前访问所在条带序号的u值更新为I,将记录当前访问所在组序号的r的值更新为R,重复执行第2步到第4步。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京同有飞骥科技股份有限公司,未经北京同有飞骥科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201010575611.0/,转载请声明来源钻瓜专利网。
- 上一篇:一种二维纳米阵列管道制备方法
- 下一篇:理论上信息安全的安全性生成