一种raid5磁盘阵列中写入数据的方法和装置的制作方法

文档序号:6467672阅读:238来源:国知局
专利名称:一种raid5磁盘阵列中写入数据的方法和装置的制作方法
技术领域
本发明涉及通信技术领域,尤其涉及一种RAID5磁盘阵列中写入数据的 方法和装置。
背景技术
对于RAID (Redundant Array of Independent Disks,独立冗余》兹盘阵列) 类型为RAID5的磁盘阵列,在进行数据写入之前必须先对磁盘阵列进行格式 化,否则无法写入数据。但随着磁盘阵列的容量不断增加,格式化时间也随 之增加,这相当影响了磁盘阵列的利用效率。因此,提出了后台格式化的方 式,即主机对磁盘阵列格式化过程中记录格式化过的位置,主机接收到写请 求对正在格式化的磁盘阵列进行数据写入前,首先判断需要写入新数据的数 据盘是否已完成格式化,如果已经完成格式化,则可按照RAID5的写入方式 将数据写入,否则需要等待格式化完成后,再将数据写入。
在实现本发明的过程中,发明人发现现有技术中存在以下缺点 现有技术中,在需要写入新数据的数据盘完成格式化之前无法写入数据, 格式化过程中的数据写入存在延迟。

发明内容
本发明实施例提供了 一种RAID5磁盘阵列中写入数据的方法和装置,实 现了在未完成格式化的RAID5磁盘阵列中的数据写入。
本发明实施例提供了 一种RAID5磁盘阵列中写入数据的方法,包括以下 步骤
判断写入新数据的数据盘是否完成格式化;
所述判断结果为否,按照大写方式在所述写入新数据的数据盘中写入新 数据。
本发明实施例提供了 一种RAID5磁盘阵列中写入数据的装置,包括 第一判断单元,用于判断写入新数据的数据盘是否完成格式化; 大写单元,用于若所述第一判断单元判断结果为否,按照大写方式在所 述写入新数据的数据盘中写入新数据。
本发明的实施例中,在写入数据的数据盘没有完成格式化时,按照大写 方式写入数据,即在写入新数据的数据盘中写入新数据,在校验盘中写入根 据新数据和写入新数据的数据盘之外的数据盘中原有的数据生成的新的校验 数据,保证了新的校验数据的正确性,从而实现了在未完成格式化的RAID5 磁盘阵列中的数据写入。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实 施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面 描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲, 在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图l是本发明实施例中一种写入数据的方法流程图2是本发明实施例中一种写入数据的方法流程图3是本发明实施例中一种写入数据的装置结构图。
具体实施例方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行 清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是 全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创 造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种RAID5磁盘阵列中写入数据的方法,如图1所 示,包括以下步骤
步骤IOI,判断写入新数据的数据盘是否完成格式化。
步骤102,所述判断结果为否,按照大写方式在所述写入新数据的数据盘
中写入新数据。
其中,按照大写方式在所述写入新数据的数据盘中写入新数据包括
获得写入新数据的数据盘之外的数据盘中原有的数据;
根据新数据和写入新数据的数据盘之外的数据盘中原有的数据生成校验
数据,所述校验数据用于在有数据盘失效时进行数据恢复;
将所述校验数据写入校验盘,并将所述新数据写入所述写入新数据的数据盘。
本发明的实施例中,在写入数据的数据盘没有完成格式化时,按照大写 方式写入数据,即在写入新数据的数据盘中写入新数据,在校验盘中写入根 据新数据和写入新数据的数据盘之外的数据盘中原有的数据生成的新的校验 数据,保证了新的校验数据的正确性,从而实现了在未完成格式化的RAID5 磁盘阵列中的数据写入。
本发明实施例提供了一种写入数据的方法,如图2所示,包括以下步骤 步骤201,接收写请求。
步骤202,判断磁盘阵列类型。若磁盘阵列为RAIDIO,则转步骤203; 若磁盘阵列为RAID5,则转步骤204。
步骤203,按照RAID10的写入方式在写请求对应磁盘中写入数据,结束 数据写入。
RAID10的冗余方式是通过镜像实现的,对镜像而言,每次写操作都与盘 上原有数据状态无关,即使原有盘上数据不满足RAID10要求也无所谓,经 过新数据写入后,必然会重新满足,所以RAID10可以直接写入数据。
步骤204,判断需要写入新数据的数据盘是否完成格式化,若判断结果为 是,则转步骤205;若判断结果为否,则转步骤206。
步骤205,按照读请求数量最少的方式在需要写入新数据的数据盘中写入 新数据。
在RAID5中,读请求越少就意味着写性能越高。当需要写入新数据的数 据盘的数目大于写入新数据的数据盘之外的数据盘的数目时,采用大写的方
式写入数据,即获得写入新数据的数据盘之外的数据盘中原有的数据;根据 所述新数据和所述写入新数据的数据盘之外的数据盘中原有的数据生成校验 数据,即对所述新数据和所述写入新数据的数据盘之外的数据盘中原有的数 据进行异或运算,得到所述校验数据;将所述校验数据写入校验盘,并将所 述新数据写入数据盘。当需要写入新数据的数据盘的数目小于不需写入新数 据的数据盘时,则采用小写方式写入数据,即获得需要写入新数据的数据盘 中原有的数据和校验盘中原有的校验数据,在原有的校验数据中除去需要写 入新数据的数据盘中原有的数据的贡献,然后和新数据一起生成新的校验数 据,将新的校验数据写入校验盘,并将新数据写入数据盘。
步骤206,判断写入新数据的数据盘之外的数据盘中是否有盘失效,即判 断写入新数据的数据盘之外的数据盘中是否有盘无法进行数据读取和写入, 若有磁盘无法读取和写入数据,则认为此盘失效。若判断结果为是,则转步 骤207;若判断结果为否,则转步骤208。
步骤207,按照RAID5数据重构方式将失效磁盘的数据恢复。 读取校验盘中原有的校验数据和有效数据盘中原有的数据;对所述校验 盘中原有的校验数据和所述有效数据盘中原有的数据进行异或计算,得到失 效数据盘的原有数据。这时,可以将失效盘的原有数据緩存在内存中,以便 在写入数据时调用。
步骤208,按照大写方式在需要写入新数据的数据盘中写入新数据。 获得写入新数据的数据盘之外的数据盘中原有的数据,如果存在失效磁 盘,则需从緩存中读取步骤207获得的失效磁盘中原有数据;将所述新数据 和所述写入新数据的数据盘之外的数据盘中原有的数据进行异或运算,得到 新的校验数据;将新的校验数据写入校验盘,并将所述新数据写入到需要写 入新数据的数据盘中。
使用大写方式进行数据写入的原因是大写过程是从需要写入新数据的数 据盘之外的数据盘读出原有的数据,与需要写入的新数据一起计算出新的校 验数据,然后将新的校验数据存入校验磁盘中替换原有的校验数据,这样得 到的新的校验数据是一定满足RAID5的要求的,即后续如果有数据盘失效,
可以通过新的校验数据和其他数据盘中的数据恢复失效数据盘中的数据,从 而保证数据盘中数据的安全性。
本发明的实施例中,在写入数据的数据盘没有完成格式化时,按照大写 方式写入数据,即在写入新数据的数据盘中写入新数据,在校验盘中写入根 据新数据和写入新数据的数据盘之外的数据盘中原有的数据生成的新的校验
数据,保证了新的校验数据的正确性,从而实现了在未完成格式化的RAID5 磁盘阵列中的数据写入。
本发明实施例提供了 一种RAID5磁盘阵列中写入数据的装置,如图3所 示,包括
第一判断单元301,用于判断写入新数据的数据盘是否完成格式化; 大写单元302,用于若所述第一判断单元301判断结果为否,按照大写方 式在所述写入新数据的数据盘中写入新数据。 其中,还包括
第二判断单元303,用于若所述第一判断单元301判断结果为是,判断所 述写入新数据的数据盘的数目是否大于所述写入新数据的数据盘之外的数据 盘的数目;
小写单元304,用于若所述第二判断单元303判断结果为否,按照小写方 式在所述写入新数据的数据盘中写入新数据;
所述大写单元302,还用于若所述第二判断单元303判断结果为是,按照 大写方式在所述写入新数据的数据盘中写入新数据。
其中,所述大写单元302包括
获取子单元3021,用于获得所述写入新数据的数据盘之外的数据盘中原 有的数据;
生成子单元3022,用于根据新数据和所述获取子单元3021获取的写入新 数据的数据盘之外的数据盘中原有的数据生成校验数据,所述校验数据用于 在有数据盘失效时进行数据恢复;
写入子单元3023,用于将所述生成子单元3022生成的校验数据写入校验
盘,并将所述新数据写入所述写入新数据的数据盘。
其中,当所述写入新数据的数据盘之外的数据盘中有数据盘失效时,所
有的数据;对所述检验盘中原有的校验数据和所述有效数据盘中原有的数据 进行异或计算,得到失效数据盘中原有的数据。
其中,所述生成子单元3022对所述新数据和所述写入新数据的数据盘之 外的数据盘中原有的数据进行异或运算,得到所述校验数据。
本发明的实施例中,在写入数据的数据盘没有完成格式化时,按照大写 方式写入数据,即在写入新数据的数据盘中写入新数据,在校验盘中写入根 据新数据和写入新数据的数据盘之外的数据盘中原有的数据生成的新的校验 数据,保证了新的校验数据的正确性,从而实现了在未完成格式化的RAID5 磁盘阵列中的数据写入。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发 明可以通过硬件实现,也可以可借助软件加必要的通用硬件平台的方式来实 现,基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来, 该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM, U盘,移 动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机, 服务器,或者网络设备等)执行本发明各个实施例所述的方法。
总之,以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的 保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改 进等,均应包含在本发明的保护范围之内。
权利要求
1、一种RAID5磁盘阵列中写入数据的方法,其特征在于,包括以下步骤:判断写入新数据的数据盘是否完成格式化;所述判断结果为否,按照大写方式在所述写入新数据的数据盘中写入新数据。
2、 如权利要求l所述的方法,其特征在于,所述判断结果为是,按照读 请求最少的方式在所述写入新数据的数据盘中写入新数据。
3、 如权利要求2所述的方法,其特征在于,所述按照读请求最少的方式 在所述写入新数据的数据盘中写入新数据包括所述写入新数据的数据盘的数目大于所述写入新数据的数据盘之外的数 据盘的数目,按照大写方式在所述写入新数据的数据盘中写入新数据;或所述写入新数据的数据盘的数目不大于所述写入新数据的数据盘之外的 数据盘的数目,按照小写方式在所述写入新数据的数据盘中写入新数据。
4、 如权利要求1或3所述的方法,其特征在于,所述按照大写方式在所 述写入新数据的数据盘中写入新数据包括获得所述写入新数据的数据盘之外的数据盘中原有的数据; 根据新数据和所述写入新数据的数据盘之外的数据盘中原有的数据生成校验数据,所述校验数据用于在有数据盘失效时进行数据恢复;将所述校验数据写入校验盘,并将所述新数据写入所述写入新数据的数据盘。
5、 如权利要求4所述的方法,其特征在于,当所述写入新数据的数据盘 之外的数据盘中有数据盘失效时,所述获得所述写入新数据的数据盘之外的 数据盘中原有的数据包括读取校验盘中原有的校验数据和有效数据盘中原有的数据; 对所述校验盘中原有的校验数据和所述有效数据盘中原有的数据进行异 或计算,得到失效数据盘中原有的数据。
6、 如权利要求4所述的方法,其特征在于,所述根据新数据和所述写入 新数据的数据盘之外的数据盘中原有的数据生成校验数据包括对所述新数据和所述写入新数据的数据盘之外的数据盘中原有的数据进 行异或运算,得到所述校验数据。
7、 一种RAID5磁盘阵列中写入数据的装置,其特征在于,包括 第一判断单元,用于判断写入新数据的数据盘是否完成格式化; 大写单元,用于若所述第一判断单元判断结果为否,按照大写方式在所述写入新数据的数据盘中写入新数据。
8、 如权利要求7所述的装置,其特征在于,还包括 第二判断单元,用于若所述第一判断单元判断结果为是,判断所述写入新数据的数据盘的数目是否大于所述写入新数据的数据盘之外的数据盘的数目;小写单元,用于若所述第二判断单元判断结果为否,按照小写方式在所 述写入新数据的数据盘中写入新数据;所述大写单元,还用于若所述第二判断单元判断结果为是,按照大写方 式在所述写入新数据的彩:据盘中写入新数据。
9、 如权利要求7或8所述的装置,其特征在于,所述大写单元包括 获取子单元,用于获得所述写入新数据的数据盘之外的数据盘中原有的数据;生成子单元,用于根据新数据和所述获取子单元获取的写入新数据的数 据盘之外的数据盘中原有的数据生成校验数据,所述校验数据用于在有数据 盘失效时进行数据恢复;写入子单元,用于将所述生成子单元生成的校验数据写入校验盘,并将 所述新数据写入所述写入新数据的数据盘。
10、 如权利要求9所述的装置,其特征在于,当所述写入新数据的数据 盘之外的数据盘中有数据盘失效时,所述获取子单元获得所述写入新数据的 数据盘之外的失效数据盘中原有的数据包括读取校验盘中原有的校验数据和有效数据盘中原有的数据; 对所述校验盘中原有的校验数据和所述有效数据盘中原有的数据进行异 或计算,得到失效数据盘中原有的数据。
11、如权利要求9所述的装置,其特征在于,所述生成子单元对所述新 数据和所述写入新数据的数据盘之外的数据盘中原有的数据进行异或运算, 得到所述校验数据。
全文摘要
本发明实施例公开了一种RAID5磁盘阵列中写入数据的方法和装置,所述方法包括以下步骤判断写入新数据的数据盘是否完成格式化;所述判断结果为否,按照大写方式在所述写入新数据的数据盘中写入新数据。本发明的实施例中,在写入数据的数据盘没有完成格式化时,按照大写方式写入数据,即在写入新数据的数据盘中写入新数据,在校验盘中写入根据新数据和写入新数据的数据盘之外的数据盘中原有的数据生成的新的校验数据,保证了新的校验数据的正确性,从而实现了在未完成格式化的RAID5磁盘阵列中的数据写入。
文档编号G06F3/06GK101382874SQ20081017258
公开日2009年3月11日 申请日期2008年10月30日 优先权日2008年10月30日
发明者巍 张 申请人:成都市华为赛门铁克科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1