本发明专利技术实施例提供一种数据处理方法、装置及系统。其方法包括:将RAID划分为多个条带,每个条带中包括N个用于存储数据的存储区和用于存储N个数据的校验数据的存储区,N为大于或等于2的正整数;接收主机发出的写请求命令并存储在缓存中,写请求命令中携带待写入的数据;当接收的写请求命令的数目达到N个时,为N个写请求命令中包含的N个待写入的数据分配空闲的第一条带;根据N个待写入的数据计算校验数据;将N个待写入的数据和校验数据写入第一条带中。本发明专利技术实施例的技术方案,能够将N个写请求转换为一个写请求来处理,能够有效地提高数据处理效率,降低写惩罚。
【技术实现步骤摘要】
本专利技术实施例涉及 存储
,尤其涉及一种数据处理方法、装置及系统。
技术介绍
独立磁盘冗余阵列(RedundantArrays of Inexpensive Disks ;RAID),也可以称为磁盘阵列(Disk Array),是利用数组方式来作磁盘组,配合数据分散排列的设计,提升数据的安全性。磁盘阵列将数据切割成许多区段,分别存放在各个硬盘上,而且还能利用同位检查(Parity Check)的观念,在数组中任一颗硬盘故障时,仍可读出数据,在数据重构时, 将数据经计算后重新置入新硬盘中。RAID技术主要包含RAID O RAID 7等数个规范,它们的侧重点各不相同。其中RAID 5不单独指定的奇偶盘,而是在所有磁盘上交叉地存取数据及奇偶校验信息。在RAID 5上,读/写指针可同时对阵列设备进行操作,提供了更高的数据流量。RAID 6与RAID 5相比,RAID 6增加了第二个独立的奇偶校验信息块。两个独立的奇偶系统使用不同的算法,数据的可靠性非常高,即使两块磁盘同时失效也不会影响数据的使用。在类似于RAID 5和RAID 6的RAID技术中,主机下发的写请求命令中的逻辑块地址(Logical Block Addressing ;LBA)与RAID中盘片的物理块地址(Physical BlockAddressing ;PBA)之间的映射关系为固定的。例如在RAID5技术中,假如磁盘I用于存放主机的第一个写请求命令中包含的数据,磁盘2用于存放第二个写请求命令中包含的数据,磁盘3用于存放第三个写请求命令中包含的数据,磁盘4用于存放第四个写请求命令中包含的IO 4的数据。磁盘5存放该条带的RAID校验数据A。当第一个写请求命令对应的数据需要改写成新数据I’时,操作为将原有第一个写请求命令写入的数据读出与新数据 I’计算异或,再将磁盘5上写入的校验数据A读出也与新数据I’计算异或得到新校验A’; 然后再重新在磁盘I上写入新数据I ’,在磁盘5上写入新校验A’。这样,采用上述技术方案,当要改写一个数据的时候,为了实现数据的冗余,同时需要改写校验数据。在实现本专利技术的过程中,专利技术人发现现有技术中至少存在如下缺点在类似于 RAID 5和RAID 6的RAID中,如上述现有技术所述,一个改写IO操作会变成了 2个写操作与2个读操作,假设读写IO开销都相同,写入一个IO就放大了 4倍,性能损失严重,处理效率较低。
技术实现思路
本专利技术实施例提供一种数据处理方法、装置及系统,用以解决在类似于RAID 5和 RAID 6的RAID中,一个改写IO操作会变成了 2个写操作与2个读操作,假设读写IO开销都相同,写入一个IO就放大了 4倍,性能损失严重,处理效率较低,即写惩罚较高的缺陷。弥补现有技术中未公开UL MIMO技术中的控制信息的传输方式的缺陷,能够有效地提高数据处理效率,降低写惩罚。一方面,本专利技术实施例提供一种数据处理方法,包括将独立磁盘冗余阵列划分为多个条带,每个条带中包括N个用于存储数据的存储区和用于存储所述N个数据的校验数据的存储区,N为大于或等于2的正整数; 接收主机发出的写请求命令并存储在缓存中,所述写请求命令中携带待写入的数据;当接收的所述写请求命令的数目达到N个时,为所述N个写请求命令中包含的N 个待写入的数据分配空闲的第一条带;根据所述N个待写入的数据计算校验数据; 将所述N个待写入的数据和所述校验数据写入所述第一条带中。另一方面,本专利技术实施例还提供一种数据处理装置,包括划分模块,用于将独立磁盘冗余阵列划分为多个条带,每个条带中包括N个用于存储数据的存储区和用于存储所述N个数据的校验数据的存储区,N为大于或等于2的正整数;接收模块,用于接收主机发出的写请求命令并存储在缓存中,所述写请求命令中携带待写入的 数据;分配模块,用于当接收的所述写请求命令的数目达到N个时,为所述N个写请求命令中包含的N个待写入的数据分配空闲的第一条带;计算模块,用于所述根据N个待写入的数据计算校验数据;存储模块,用于将所述N个待写入的数据和所述校验数据写入在所述第一条带中。再一方面,本专利技术实施例还提供一种数据处理系统,包括缓存、如上所述的数据处理装置和独立磁盘冗余阵列。本专利技术实施例的数据处理方法、装置及系统,能够将连续的N个写请求命令中携带的待写入的数据一起存储在一个条带中,这样可以将N个写请求转换为一个写请求来处理,能够有效地提高数据处理效率,降低写惩罚。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图I为本专利技术实施例提供的一数据处理方法的流程图。图2为本专利技术实施例提供的另一数据处理方法的流程图。图3为本专利技术一实施例提供的数据处理装置的结构示意图。图4为本专利技术另一实施例提供的数据处理装置的结构示意图。图5为本专利技术实施例提供的数据处理系统的结构示意图。具体实施例方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。图I为本专利技术实施例提供的一数据处理方法的流程图。如图I所示,本实施例的数据处理方法的执行主体为一数据处理装置,例如该数据处理装置可以为存储系统中的一控制器。在本专利技术实施例中,RAID被划分为多个条带,每个条带中包括N个用于存储数据的存储区和用于存储N个数据的校验数据的存储区,N为大于或等于2的正整数,N个用于存储数据的存储区和用于存储N个数据的校验数据的存储区分别分布在所述RAID的每个磁盘中,并且分布在每个磁盘上的存储区的大小相同。具体的,本实施例的数据处理方法可以包括如下步骤100、数据处理装置接收主机发出的写请求命令并存储在缓存中;本实施例的写请求命令中携带待写入的数据;该待写入的数据即为将要存入 RAID的数据。本实施例中一个写请求命令中携带一个待写入的数据。 101、当接收的写请求命令的数目达到N个时,数据处理装置为N个待写入的数据分配空闲的第一条带;在本专利技术实施例中,接收到的各写请求命令中携带的待写入数据大小相同,并且等于每个条带分布在每个磁盘上的空间容量(即条带深度);在其他实施例中,若写请求命令中携带的待写入数据较大,可通过拆分的方式将该写请求命令拆成多个写请求命令,使得其中携带的待写入数据大小相同,并且等于每个条带分布在每个磁盘上的空间容量;若写请求命令中携带的待写入数据较小,可通过合并的方式将多个写请求命令合并成一个写请求命令,使得其中携带的待写入数据大小相同,并且等于每个条带分布在每个磁盘上的空间容量。本实施例中的第一条带为RAID中多个条带中的其中一个,第一条带在RAID中的每个磁盘中都包括一个存储区;在第一条带中包括N个用于存储待写入的数据对应的存储区和用于存储根据N个待写入的数据计算得到的校验数据的存储区;其中每本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种数据处理方法,其特征在于,包括将独立磁盘冗余阵列划分为多个条带,每个条带中包括N个用于存储数据的存储区和用于存储所述N个数据的校验数据的存储区,N为大于或等于2的正整数;接收主机发出的写请求命令并存储在缓存中,所述写请求命令中携带待写入的数据; 当接收的所述写请求命令的数目达到N个时,为所述N个写请求命令中包含的N个待写入的数据分配空闲的第一条带;根据所述N个待写入的数据计算校验数据;将所述N个待写入的数据和所述校验数据写入所述第一条带中。2.根据权利要求I所述的方法,其特征在于,所述写请求命令中还携带有待写入的逻辑块地址;所述为所述N个写请求命令中包含的N个待写入的数据分配空闲的第一条带之后,所述方法还包括建立第一映射关系,所述第一映射关系包括每个逻辑块地址与所述待写入的数据存储在所述第一条带的第一物理块地址之间的映射关系;将所述第一映射关系存储在所述缓存中。3.根据权利要求2所述的方法,其特征在于,在所述第一映射关系建立之前缓存中保存有第二映射关系,所述第二映射关系为第二条带中存储的数据的逻辑块地址与物理块地址之间的映射关系;在将所述第一映射关系存储在所述缓存中之后,所述方法还包括判断所述第二映射关系中是否存在所述第一映射关系中的所述逻辑块地址当存在时,将所述第二映射关系中的所述逻辑块地址对应的物理块地址标识为垃圾标识,以表示所述第二条带中的所述物理块地址对应的数据为垃圾数据。4.根据权利要求3所述的方法,其特征在于,所述方法还包括判断所述第二映射关系中的所有物理块地址是否全部标识有垃圾标识;当所述第二映射关系中的所有物理块地址全部标识为垃圾标识时,删除所述第二条带中存储的数据。5.根据权利要求3所述的方法,其特征在于,判断所述第二映射关系中标识垃圾标识的物理块地址的数目是否达到预设阈值; 当所述第二映射关系中标识所述垃圾标识的所述物理块地址的数目达到所述预设阈值时,读取所述第二条带中未标识所述垃圾标识的物理块地址对应的数据以及所述未标识所述垃圾标识的物理块地址对应的逻辑块地址至所述缓存中,以作为一个新的写请求命令;删除所述第二条带中存储的数据。6.一种数据处理装置,其特征在于,包括划分模块,用于将独立磁盘冗余阵列划分为多个条带,每个条带中包括N个用于存储数据的存储区和用于存储所述N个数据的校验数据的存储区,N为大于或等于2的正整数; 接收模块,用于接收主机发出的写请求命令并存储在缓存中...
【专利技术属性】
技术研发人员:柯乔,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。