发明名称 磁盘阵列数据重建方法
摘要 磁盘阵列的数据重建方法,属于计算机数据存储方法,解决磁盘阵列数据重建耗时过多、影响系统读写性能和可靠性的问题。本发明由重建阶段和回收阶段顺序组成,在重建中磁盘阵列之外设置代理磁盘阵列,重建中磁盘阵列上设置用户控制接口、重建模块、空间管理模块、热点数据识别模块、请求重定向模块、数据回收模块以及重定向数据日志表和非热点数据链表;重建阶段包括并行的重建步骤和重建阶段请求处理步骤,回收阶段包括并行的数据回收步骤和回收阶段请求处理步骤。本发明加快重建速度并且减少用户访问响应时间,未改变重建流程或磁盘阵列数据分布方式,适用于构造具有高性能,高可用性和高可靠性的存储系统。
申请公布号 CN101436149A 申请公布日期 2009.05.20
申请号 CN200810236904.9 申请日期 2008.12.19
申请人 华中科技大学 发明人 冯丹;吴素贞;毛波;田磊;曾令仿;陈俭喜
分类号 G06F11/10(2006.01)I 主分类号 G06F11/10(2006.01)I
代理机构 华中科技大学专利中心 代理人 方 放
主权项 1. 一种磁盘阵列的数据重建方法,由重建阶段和回收阶段顺序组成,在重建中磁盘阵列之外设置代理磁盘阵列,重建中磁盘阵列上设置用户控制接口、重建模块、空间管理模块、热点数据识别模块、请求重定向模块、数据回收模块以及重定向数据日志表和非热点数据链表;所述重建阶段包括并行的重建步骤和重建阶段请求处理步骤,回收阶段包括并行的数据回收步骤和回收阶段请求处理步骤;(1)所述重建步骤,进行下述过程:(1. 1)当磁盘阵列中成员磁盘出现故障时,取出故障磁盘,加入新的替换磁盘,继续过程(1.2);(1. 2)重建模块读取磁盘阵列除替换磁盘外所有幸存磁盘上位于某条带的数据块,计算它们的奇偶校验,将结果写入新加入的替换磁盘中位于该条带的数据块内,转过程(1.3);(1. 3)重复执行(1.2),直至磁盘阵列上所有条带都重建完毕,转步骤(3);(2)所述重建阶段请求处理步骤,进行下述过程:(2. 1)重建中磁盘阵列判断是否所有条带都重建完毕,是则转步骤(4);否则等待上层用户读写请求,判断其类型,读请求转过程(2.2),写请求转过程(2.10);(2. 2)请求重定向模块根据重定向数据日志表判断该读请求所需要的数据是否在代理磁盘阵列中,是则转过程(2.3),否则转过程(2.6);(2. 3)请求重定向模块根据重定向数据日志表判断该读请求所需要的数据是否全部在代理磁盘阵列中,是则转过程(2.4),否则转过程(2.5);(2. 4)请求重定向模块将该读请求发向代理磁盘阵列,从代理磁盘阵列读取数据,转过程(2.1);(2. 5)请求重定向模块将该读请求分别发向重建中磁盘阵列和代理磁盘阵列,分别从两个磁盘阵列读取部分数据,组合后返回给用户,转过程(2.1);(2. 6)请求重定向模块将该读请求发向重建磁盘阵列,从重建中磁盘阵列读取数据,进行过程(2.7);(2. 7)热点数据识别模块判断该读请求是否命中非热点数据链表,是则转过程(2.8),否则转过程(2.9);(2. 8)请求重定向模块将读取的数据写入到代理磁盘阵列,从非热点数据链表中删除相应的信息,并记录在重定向数据日志表中,且置标志位为0,转过程(2.1);(2. 9)热点数据识别模块将该读请求记录在非热点数据链表中,转过程(2.1);(2. 10)请求重定向模块判断该写请求是否命中重定向数据日志表,是则转过程(2.12),否则转过程(2.11);(2. 11)空间管理模块从代理磁盘阵列中为该写请求分配空间,继续过程(2.12);(2. 12)请求重定向模块将该写请求中的数据写入到代理磁盘阵列,并将该数据信息记录在重定向数据日志表中,且置标志位为1,转过程(2.1);(3)所述数据回收步骤,进行下述过程:(3. 1)数据回收模块判断重定向数据日志表是否为空,是则数据回收结束,否则转过程(3.2);(3. 2)数据回收模块从重定向日志表中取出一条日志,判断该日志的标志位是否为1,是则转过程(3.3),否则转过程(3.4);(3. 3)数据回收模块从代理磁盘阵列读取该日志对应的数据并写回到重建中磁盘阵列中,继续过程(3.4);(3. 4)数据回收模块将该日志从重定向数据日志表中删除,转过程(3.1);(4)所述回收阶段请求处理步骤,进行下述过程:(4. 1)重建中磁盘阵列判断数据回收是否结束,是则本步骤结束,否则等待上层用户读写请求,判断其类型,读请求转过程(4.2),写请求转过程(4.7);(4. 2)请求重定向模块根据重定向数据日志表判断该读请求所需要的数据是否在代理磁盘阵列中且重定向数据日志表中相应日志标志位为1,是则转过程(4.3),否则转过程(4.6);(4. 3)请求重定向模块根据重定向数据日志表判断该读请求所需要的数据是否全部在代理磁盘阵列中,是则转过程(4.4),否则转过程(4.5);(4. 4)请求重定向模块将该读请求发向代理磁盘阵列,从代理磁盘阵列读取数据,转过程(4.1);(4. 5)请求重定向模块将该读请求分别发向重建中磁盘阵列和代理磁盘阵列,分别从两个磁盘阵列读取部分数据,组合后返回给用户,转过程(4.1);(4. 6)请求重定向模块将该读请求发向重建中磁盘阵列,从重建中磁盘阵列读取数据,转过程(4.1);(4. 7)请求重定向模块判断该写请求是否命中重定向数据日志表,是则转过程(4.8),否则转过程(4.9);(4. 8)请求重定向模块将该写请求所命中的日志从重定向数据日志表中删除,继续过程(4.9);(4. 9)请求重定向模块将该写请求中的数据写入到重建中磁盘阵列,转过程(4.1)。
地址 430074湖北省武汉市洪山区珞喻路1037号