[发明专利]一种垂直型分组并行集中校验的磁盘阵列的构建方法有效
申请号: | 201010256711.7 | 申请日: | 2010-08-19 |
公开(公告)号: | CN101976177A | 公开(公告)日: | 2011-02-16 |
发明(设计)人: | 孙志卓;周泽湘;谭毓安;李虓;谢红军;何广韬;张伟涛;谢红军;耿成山 | 申请(专利权)人: | 北京同有飞骥科技有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06;G06F11/10 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100081 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种垂直型分组并行集中校验的磁盘阵列的构建方法,适用于连续数据存储,属于独立磁盘冗余阵列技术领域。本发明针对连续数据存储的特点,设计实现一种垂直型分组并行集中校验的磁盘阵列SVE-RAID4,主要包括:存储数据在SVE-RAID 4上的布局、存储数据的读写、校验数据的生成方式、写数据时的数据缓冲与预读优化、磁盘工作状态转换调度等。磁盘阵列SVE-RAID 4不但具有良好的冗余数据保护机制,而且能显著降低功耗,延长使用寿命。 | ||
搜索关键词: | 一种 垂直 分组 并行 集中 校验 磁盘阵列 构建 方法 | ||
【主权项】:
1.一种垂直型分组并行集中校验的磁盘阵列的构建方法,垂直型分组并行集中校验的磁盘阵列,简称为磁盘阵列SVE-RAID 4;其特征在于:应用于磁盘阵列包含N个磁盘的场景中,其中N≥3且N为正整数;N个磁盘中,1个磁盘为校验盘,其余N-1个磁盘为数据盘;将N个磁盘构造成1行×N列的磁盘矩阵;对全部磁盘进行条带划分,分成m个条带并为每个条带编号,其中m≥1且m为正整数;每个条带在数据盘上的分块称为数据块,每个条带在校验盘上的分块称为校验块;所述校验块由该校验块所在条带中的N-1个数据块通过异或运算得出;为了提高连续存储带宽,并获得不同的连续存储带宽,以满足不同存储速率的需求,将每个条带上的N-1个数据块平均分成p组,p≥2且p为正整数,每组包含q个数据块,q≥1且q为正整数,q值根据实际存储任务对连续带宽的需求确定;并满足以下关系:N-1=p×q;每个数据块分成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;然后为第m条带第1组的第1个数据块中第1个数据子块编号为(m-1)×K×q+1;为第m条带第1组的第2个数据块中第1个数据子块编号为(m-1)×K×q+2;……;为第m条带第1组的第q个数据块中第1个数据子块编号为(m-1)×K×q+q;然后为第m条带第1组的第1个数据块中第2个数据子块编号为(m-1)×K×q+q+1;为第m条带第1组的第2个数据块中第2个数据子块编号为(m-1)×K×q+q+2;……;为第m条带第1组的第q个数据块中第2个数据子块编号为(m-1)×K×q+q×2;……;以此类推,为第m条带第1组的第1个数据块中第K个数据子块编号为m×K×q-q+1;为第m条带第1组的第2个数据块中第K个数据子块编号为m×K×q-q+2;……;为第m条带第1组的第q个数据块中第K个数据子块编号为m×K×q;以此类推,按照相同的编号原则,为每一条带的第2组,每一条带的第3组,……,每一条带的第p组数据子块进行编号,编号相邻的数据子块,逻辑地址相邻;第m条带与第一条带中序号相邻的组,逻辑地址相邻;将逻辑地址相邻的组称为相邻组;校验块按照条带顺序依次编号为1~m;将每个校验块分成K个大小相等的校验子块,所述校验子块由所在条带中偏移位置相同的N-1个数据子块异或运算而得,这样的N-1个数据子块及其异或生成的校验子块组成一个校验条;上述布局方式,可并行访问组内的q个数据盘,又使存储任务分布在一组内,其余p-1组数据盘没有任务,这样便于调度没有任务的磁盘进入到停止状态,以达到节能和降低磁盘损耗的目的;所述方法进一步包括:控制磁盘工作状态的方法;磁盘工作状态包括:停止、运行、就绪三种状态;磁盘停止状态时,磁盘转轴停止旋转、磁头停止寻道;磁盘运行状态时,磁盘正在执行读写操作,包括转轴旋转、磁头寻道;磁盘就绪状态时,表示将要被读写,此时磁盘转轴旋转、磁头不寻道根据磁盘阵列SVE-RAID 4的数据排布方式,可以确定每个条带内第r(1≤r≤p)组内的q个数据块所在的磁盘为:r×q-q+1到r×q;进行连续写操作时,绝大部分时间里,只有一组数据盘和1个校验盘处于运行状态,可以调度没有任务的磁盘进入停止态,以达到节能的目的;进行连续写操作时磁盘工作状态转换调度策略具体为:为各条带中序号相同的组设置一个信号量,用Sem i表示,1≤i≤p,设置信号量Sem i的初始值均为0;第1步:根据访问数据的逻辑地址,用LBA表示,由公式1计算出该访问数据所在的组号,用r表示,r为正整数,以及所在条带,用m′表示,0≤m′≤m,m′为正整数:![]()
其中,组大小表示组内各数据块大小之和,MOD表示模运算,加1表示r值从1开始计数;根据组号r、条带号m′确定第m′条带第r组内被访问的q个数据盘r×q-q+1到r×q,如果处于停止状态,则调度这q个数据盘由停止状态转到就绪状态;r用来记录记录当前访问组的组号;m′用来记录记录当前访问组所属的条带号;第2步:当第m′条带第r组所属q个数据盘处于就绪状态时,开始向这q个数据盘写数据,进行写数据操作的q个数据盘由就绪状态转为运行状态;第3步:如果本次访问在该组内结束,则在本次访问结束后,将第m′条带第r组所属的数据盘由运行状态转为就绪状态,然后退出本次调度;否则,在访问第m′条带第r组所属数据盘结束前t时刻,判断第m′条带第r组的相邻组所属数据盘的状态,用M表示第m′条带第r组的相邻组所属的条带编号,用r′表示第m′条带第r组的相邻组的组编号:若处于停止状态,则将第M条带第r′组所属的数据盘由停止状态转为就绪状态,其中t为磁盘由停止状态转为就绪状态所需要的时间,若处于运行状态,则组r′的信号量Sem r′加1;在第m′条带第r组访问结束后,r组的信号量Sem r减1,如果Sem r<0,则将第m′条带第r组所属数据盘由运行状态转为停止状态,重新设置Sem r为0;如果Sem r≥0,则将第m′条带第r组所属数据盘由运行状态转为就绪状态;第4步:把记录当前访问所在条带序号的m′值更新为M,将记录当前访问所在组序号的r的值更新为r′,重复执行第2步到第4步;进行连续读操作时,也基本只有一组数据盘和1个校验盘处于运行状态,磁盘工作状态转换调度策与连续写操作相同。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京同有飞骥科技有限公司,未经北京同有飞骥科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201010256711.7/,转载请声明来源钻瓜专利网。
- 上一篇:一种机械手臂伸缩装置
- 下一篇:改性的聚氨酯丙烯酸酯