一种基于可变条带的RAID维护方法及系统技术方案

技术编号:14245996 阅读:92 留言:0更新日期:2016-12-22 02:07
本申请公开了一种基于可变条带的RAID维护方法,包括:在将目标数据写入第一数据块的过程中,对相应的写入操作进行实时监视;若监视到写入操作发生写错误事件,则将目标数据写入第二数据块,并在预设映射文件中将第一数据块当前的状态标记为不可写状态,以相应地使第一超级块上的条带长度减1;若当前第一超级块上的条带长度大于或等于预设最短长度,则在当前第一超级块上重新实现RAID。本申请只需将损坏的数据块进行相应地标记,然后在条带长度减少了1的超级块上重新实现RAID,避免了现有技术中由于需要对超级块和数据块之间的映射表进行动态维护所带来的复杂性。另外,本申请还相应公开了一种基于可变条带的RAID维护系统。

【技术实现步骤摘要】

本专利技术涉及存储
,特别涉及一种基于可变条带的RAID维护方法及系统
技术介绍
当前,随着互联网、云计算和物联网等技术的发展,数据存储方面的相关技术也得到了快速的发展。其中,固态硬盘作为新一代的存储设备,已经广泛地应用于多个领域。由于固态硬盘中NAND闪存的擦写次数有限制,因此为了能够保障数据的完整性,现有的固态硬盘通过实现RAID(即Redundant Arrays of Independent Disks)的方式,来保证能够通过冗余校验数据将遭到损坏的数据恢复出来。从而保证数据的完整性。固态硬盘的RAID磁盘阵列中通常包括多个RAID条带,其中,每个RAID条带内包括多个超级块,而每个超级块则包括多组数据块,超级块中数据块的组数即为该超级块所对应的条带长度,通常情况下,每个超级块中数据块的总组数与固态硬盘的通道数是相同的,也即,每个超级块中的每组数据块对应于固态硬盘的一个通道,每个超级块的条带长度与固态硬盘的通道数相同。传统的固态硬盘是基于固定的条带长度来实现RAID的。这种实现RAID的方式使得,当往某个超级块中的某个数据块写入数据时出现写入失败的情况,这个时候为了使该超级块的条带长度保持稳定以确保能够继续在该超级块上实现RAID,则需要从其他地方选出一个好的数据块来替换上述坏的数据块,并对超级块与数据块之间的映射关系进行相应的动态更新。可见,上述RAID的维护过程需要动态维护超级块和数据块之间的映射表,复杂性较高。综上所述可以看出,如何降低RAID维护过程的复杂性是目前有待解决的问题。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种基于可变条带的RAID维护方法及系统,降低了RAID维护过程的复杂性。其具体方案如下:一种基于可变条带的RAID维护方法,包括:在将目标数据写入第一数据块的过程中,对相应的写入操作进行实时监视,其中,所述第一数据块为位于目标RAID条带的第一超级块上的任一数据块;若监视到所述写入操作发生写错误事件,则将所述目标数据写入第二数据块,并在预设映射文件中将所述第一数据块当前的状态标记为不可写状态,以相应地使所述第一超级块上的条带长度减1;其中,所述第二数据块为位于所述目标RAID条带的第二超级块上的任一数据块,所述预设映射文件为预先记录的超级块与数据块之间映射关系的文件;若当前所述第一超级块上的条带长度大于或等于预设最短长度,则在当前所述第一超级块上重新实现RAID,其中,所述预设最短长度为能允许在超级块上实现RAID的最短条带长度。优选的,所述预设映射文件为基于bitmap方式进行构建的映射文件。优选的,所述在当前所述第一超级块上重新实现RAID的过程之前,还包括:将所述第一超级块上已保存的所有有效数据迁移至其他超级块。优选的,在将所述第一超级块上已保存的所有有效数据迁移至其他超级块之后,还包括:若当前所述第一超级块上的条带长度小于所述预设最短长度,则将当前所述第一超级块上的所有完好数据块回收至预设回收库中。优选的,所述RAID维护方法,还包括:当所述预设回收库中的所有完好数据块的总数量大于或等于预设数量,则将所述预设回收库中的所有完好数据块构建成一个新的超级块。本专利技术还公开了一种基于可变条带的RAID维护系统,包括:写入操作监视模块,用于在将目标数据写入第一数据块的过程中,对相应的写入操作进行实时监视,其中,所述第一数据块为位于目标RAID条带的第一超级块上的任一数据块;数据重写模块,用于当所述写入操作监视模块监视到所述写入操作发生写错误事件,则将所述目标数据写入第二数据块,所述第二数据块为位于所述目标RAID条带的第二超级块上的任一数据块;数据块标记模块,用于当所述写入操作监视模块监视到所述写入操作发生写错误事件,则在预设映射文件中将所述第一数据块当前的状态标记为不可写状态,以相应地使所述第一超级块上的条带长度减1,所述预设映射文件为预先记录的超级块与数据块之间映射关系的文件;RAID实现模块,用于在所述数据块标记模块进行标记处理后,若当前所述第一超级块上的条带长度大于或等于预设最短长度,则在当前所述第一超级块上重新实现RAID,所述预设最短长度为能允许在超级块上实现RAID的最短条带长度。优选的,所述预设映射文件为基于bitmap方式进行构建的映射文件。优选的,所述RAID维护系统,还包括:数据迁移模块,用于在所述RAID实现模块重新实现RAID之前,将所述第一超级块上已保存的所有有效数据迁移至其他超级块。优选的,所述RAID维护系统,还包括:数据块回收模块,用于在所述数据迁移模块将所述第一超级块上已保存的所有有效数据迁移至其他超级块之后,若当前所述第一超级块上的条带长度小于所述预设最短长度,则将当前所述第一超级块上的所有完好数据块回收至预设回收库中。优选的,所述RAID维护系统,还包括:超级块构建模块,用于当所述预设回收库中的所有完好数据块的总数量大于或等于预设数量,则将所述预设回收库中的所有完好数据块构建成一个新的超级块。本专利技术中,RAID维护方法,包括:在将目标数据写入第一数据块的过程中,对相应的写入操作进行实时监视,其中,第一数据块为位于目标RAID条带的第一超级块上的任一数据块;若监视到写入操作发生写错误事件,则将目标数据写入第二数据块,并在预设映射文件中将第一数据块当前的状态标记为不可写状态,以相应地使第一超级块上的条带长度减1;其中,第二数据块为位于目标RAID条带的第二超级块上的任一数据块,预设映射文件为预先记录的超级块与数据块之间映射关系的文件;若当前第一超级块上的条带长度大于或等于预设最短长度,则在当前第一超级块上重新实现RAID。可见,本专利技术中,当超级块中的第一数据块出现写入错误时,则将相应的数据写入另一个超级块上,并将上述第一数据块的状态标记为不可写状态,由此使得第一超级块上的条带长度减少1;并且,在上述超级块的条带长度减少了1的情况下,若当前第一超级块上的条带长度不小于预设最短长度,则在当前第一超级快上重新实现RAID。相较于现有技术的RAID维护方式,本专利技术只需将损坏的数据块进行相应地标记,然后在条带长度减少了1的超级块上重新实现RAID,而无需利用好的数据块来替换坏的数据块以维持超级块条带长度的稳定性,从而避免了现有技术中由于需要对超级块和数据块之间的映射表进行动态维护所带来的复杂性,也即,本专利技术降低了RAID维护过程的复杂性。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本专利技术实施例公开的一种基于可变条带的RAID维护方法流程图;图2为本专利技术实施例公开的一种基于可变条带的RAID维护系统结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术实施例公开了一种基于可变本文档来自技高网...
一种基于可变条带的RAID维护方法及系统

【技术保护点】
一种基于可变条带的RAID维护方法,其特征在于,包括:在将目标数据写入第一数据块的过程中,对相应的写入操作进行实时监视,其中,所述第一数据块为位于目标RAID条带的第一超级块上的任一数据块;若监视到所述写入操作发生写错误事件,则将所述目标数据写入第二数据块,并在预设映射文件中将所述第一数据块当前的状态标记为不可写状态,以相应地使所述第一超级块上的条带长度减1;其中,所述第二数据块为位于所述目标RAID条带的第二超级块上的任一数据块,所述预设映射文件为预先记录的超级块与数据块之间映射关系的文件;若当前所述第一超级块上的条带长度大于或等于预设最短长度,则在当前所述第一超级块上重新实现RAID,其中,所述预设最短长度为能允许在超级块上实现RAID的最短条带长度。

【技术特征摘要】
1.一种基于可变条带的RAID维护方法,其特征在于,包括:在将目标数据写入第一数据块的过程中,对相应的写入操作进行实时监视,其中,所述第一数据块为位于目标RAID条带的第一超级块上的任一数据块;若监视到所述写入操作发生写错误事件,则将所述目标数据写入第二数据块,并在预设映射文件中将所述第一数据块当前的状态标记为不可写状态,以相应地使所述第一超级块上的条带长度减1;其中,所述第二数据块为位于所述目标RAID条带的第二超级块上的任一数据块,所述预设映射文件为预先记录的超级块与数据块之间映射关系的文件;若当前所述第一超级块上的条带长度大于或等于预设最短长度,则在当前所述第一超级块上重新实现RAID,其中,所述预设最短长度为能允许在超级块上实现RAID的最短条带长度。2.根据权利要求1所述的基于可变条带的RAID维护方法,其特征在于,所述预设映射文件为基于bitmap方式进行构建的映射文件。3.根据权利要求1或2所述的基于可变条带的RAID维护方法,其特征在于,所述在当前所述第一超级块上重新实现RAID的过程之前,还包括:将所述第一超级块上已保存的所有有效数据迁移至其他超级块。4.根据权利要求3所述的基于可变条带的RAID维护方法,其特征在于,在将所述第一超级块上已保存的所有有效数据迁移至其他超级块之后,还包括:若当前所述第一超级块上的条带长度小于所述预设最短长度,则将当前所述第一超级块上的所有完好数据块回收至预设回收库中。5.根据权利要求4所述的基于可变条带的RAID维护方法,其特征在于,还包括:当所述预设回收库中的所有完好数据块的总数量大于或等于预设数量,则将所述预设回收库中的所有完好数据块构建成一个新的超级块。6.一种基于可变条带的RAID维护系统,其特征在于,包括:写入操作监视模块,用于在将目标数据写入第一数据块的过程中,对相应的...

【专利技术属性】
技术研发人员:汪之伟郑静
申请(专利权)人:浪潮北京电子信息产业有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1