发明名称 一种数据一致性错误定位方法和装置
摘要 本发明涉及一种数据一致性错误定位方法和装置,其中装置是内置CRC计算引擎的磁盘阵列控制器,其中方法包括:确定检验块的长度,并在磁盘阵列中的每个磁盘上都专门划分出CRC校验和及位图区域;完成CRC计算的初始化,更新所述CRC校验和及位图区域;对新写入数据的检验块计算该检验块的CRC校验和,更新所述CRC校验和及位图区域;数据一致性错误定位任务启动后,定位磁盘阵列中发生数据一致性错误的检验块,更新所述CRC校验和及位图区域。这种方法和装置在磁盘阵列控制器级别上实现,采用DMA数据传输方式、位图机制和硬件实现的CRC计算引擎,提高数据一致性错误定位时的性能和可靠性,保证了磁盘阵列数据一致性。
申请公布号 CN101562034B 申请公布日期 2012.09.26
申请号 CN200810090292.7 申请日期 2008.04.17
申请人 中兴通讯股份有限公司 发明人 李艳国
分类号 G06F12/00(2006.01)I;G11B20/18(2006.01)I 主分类号 G06F12/00(2006.01)I
代理机构 北京安信方达知识产权代理有限公司 11262 代理人 龙洪;霍育栋
主权项 一种数据一致性错误定位方法,其特征在于,利用磁盘阵列控制器及其内置的CRC计算引擎在磁盘阵列控制器级别上实现,CRC计算引擎采用DMA方式存取内存中的数据,完成CRC计算任务,具体包括以下步骤:1.1)确定检验块的长度,并在磁盘阵列中的每个磁盘上都专门划分出CRC校验和及位图区域,所述检验块为数据在磁盘上的存放单位;1.2)完成CRC计算的初始化,更新所述CRC校验和及位图区域;对于磁盘阵列RAID 0,在其中引入校验条带,校验条带的宽度与校验块的长度相等,磁盘阵列中位于同一行的各个磁盘的所有校验块称为一个校验条带;1.3)对新写入数据的检验块计算该检验块的CRC校验和,更新所述CRC校验和及位图区域,所述CRC校验和及位图区域包括对应每一检验块的CRC校验和及位图;所述位图包括位图头部和位图数据;数据一致性错误定位任务启动后,定位磁盘阵列中发生数据一致性错误的检验块,更新所述CRC校验和及位图区域;即当有新数据写到磁盘上时,将新写入的数据划分成若干个校验块,CRC计算引擎从内存中读取这些校验块并计算出CRC校验和,然后写入CRC校验和区域,更新位图头部,并将位图数据中数据块对应的比特位设置成1,表示CRC校验和匹配;当数据一致性错误定位任务启动时,从头至尾读取磁盘阵列上的数据,每次从磁盘上读取若干个校验块及这些校验块对应的CRC校验和到内存中,然后CRC计算引擎从内存中读取这些校验块及其对应的CRC校验和,接着根据校验块计算出新的CRC校验和,与先前从内存中读取的CRC校验和进行比较,如果两者不一致,表明该校验块上发生了数据一致性错误,更新位图头部,并将位图数据中校验块对应的比特位设置成0,表示CRC校验和不匹配。
地址 518057 广东省深圳市南山区高新技术产业园科技南路中兴通讯大厦法律部