发明名称 一种磁盘阵列RAID6级别的构建方法
摘要 一种磁盘阵列RAID6级别的构建方法,属于计算机数据存储方法,解决数据存储和容错恢复的问题,并且支持双盘容错,提升了数据的安全性,同时支持任意磁盘数构建RAID6阵列,这大大提升了阵列构建的方便性。本发明包括初始化过程、校验块对应过程,数据存放过程和数据恢复过程。本发明基于设计一种全新的RAID6构建方法,并且采用异或方式产生校验数据,具有相当好的双盘数据容错性能;同时根据磁盘个数的不同来采用不同的校验数据存放方式,很好的实现了支持任意磁盘数构建RAID6。
申请公布号 CN101901115B 申请公布日期 2011.12.14
申请号 CN201010234511.1 申请日期 2010.07.23
申请人 华中科技大学 发明人 刘景宁;冯丹;陈俭喜;田磊;金超;沙睿彬;黄赛;刘建平
分类号 G06F3/06(2006.01)I;G06F11/10(2006.01)I 主分类号 G06F3/06(2006.01)I
代理机构 华中科技大学专利中心 42201 代理人 朱仁玲
主权项 一种磁盘阵列RAID6级别的构建方法,包括初始化、校验块对应、数据存放和数据恢复四个步骤,具体如下:(1)初始化步骤(1.1)根据创建磁盘阵列的磁盘数Col对磁盘进行数据块和校验块的划分:首先,将每个磁盘的第一个块作为校验块,组成一个校验条带;其次,若磁盘数Col与1的和P为质数,即若P=Col+1为质数,则将每个磁盘的其余块都为存放数据的数据块,划分完后,一共有(P‑1)/2个条带;若P为非质数,先确定出比P大的最小质数Q,再对第一个磁盘划分校验块,即对第一个磁盘从第二个块起依次向下作为校验块,直到校验块的总数为Q‑1或已经把第一个磁盘的第(Q‑1)/2个块作为校验块为止,若此时校验块总数为Q‑1,则校验块划分结束,其余磁盘块都作为数据块;若此时校验块总数没有达到Q‑1,则继续对后续的磁盘划分校验块,直至校验块总数为Q‑1;(1.2)分别往划分好的校验块和数据块中填充数据“0”,完成磁盘阵列的初始化;(2)校验块和数据块对应步骤(2.1)对校验块进行标记若P为质数,从第一个磁盘开始将P‑1个校验块分别以从1开始的连续P‑1个自然数作为标记号进行顺序标记;否则,先把P‑1个磁盘逻辑上扩充为Q‑1个盘,再从第一个磁盘开始将Q‑1个校验块分别标记为从1到Q‑1的连续自然数;(2.2)对数据块进行标记每个磁盘的数据块标记号为从校验块的标记号中任选两个不重复的数所组成的一个自然数对,并且该自然数对之和与校验块标记号最大值加1所得数值进行取模后等于该被标记的数据块所在磁盘的第一块校验块的标记值;(3)数据存放步骤(3.1)若是小块写入,则先读取要被覆盖掉的数据块的数据内容,然后与待写入内容进行异或后作为校验块的值,最后分别将所述待写入内容和所述校验块的值写入数据块和校验块;(3.2)若是大块写入,则先读取不会被覆盖掉的数据块的数据内容,然后与待写入内容进行异或后作为校验块的值,最后分别将所述待写入内容和所述校验块的值写入数据块和校验块;(4)数据恢复步骤当有两块磁盘损坏时,对于磁盘阵列中的每个磁盘,首先确定出一数值m,其中,若此磁盘中第一块校验块的标记号K为偶数,则m=K/2;若磁盘标记号为奇数,则当P为质数时,m=(K+P)/2,P为非质数时,m=(K+Q)/2;对于其中一块损坏的磁盘i,根据其对应的数值mi,首先恢复另一块磁盘j中标记号含有数值mi的块jA,然后根据上述已恢复的jA的标记号中数值,恢复磁盘i中标记号含有该数值的块jB,并每次都根据前一次恢复的块的标记号的数值,依次交替进行两块磁盘各块的恢复,直至两损坏磁盘中待恢复的块的标记号中不含前一次恢复的块中的标记号数值;若此时所述两块损坏的磁盘所有块均已恢复,则恢复完成;否则,再根据另一块磁盘j对应的数值mj,按上述过程再依次交替恢复,从而完成所述两块损坏的磁盘所有块的数据恢复。
地址 430074 湖北省武汉市洪山区珞喻路1037号