[发明专利]一种基于独立磁盘冗余阵列RAID的写控制方法及系统有效
申请号: | 201310648859.9 | 申请日: | 2013-12-04 |
公开(公告)号: | CN103699337B | 公开(公告)日: | 2017-01-18 |
发明(设计)人: | 张功敏;吴素宏 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙)44285 | 代理人: | 唐华明 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 独立 磁盘 冗余 阵列 raid 控制 方法 系统 | ||
技术领域
本发明涉及计算机存储技术领域,尤其涉及一种基于RAID(Redundant Arrays of Inexpensive Disks,独立磁盘冗余阵列)的写控制方法及系统。
背景技术
RAID是一种把多块独立的磁盘(物理磁盘)按不同的方式组合起来形成一个磁盘组(逻辑磁盘),从而提供比单个磁盘更高的存储性能和提供数据冗余的技术。其中,该多块独立磁盘成为RAID的成员磁盘。数据冗余的功能是在用户数据一旦发生损坏后,利用冗余信息可以使损坏数据得以恢复,这个过程称为重构。重构的具体过程为:一旦有磁盘因故障失效,并且失效的磁盘个数不大于RAID容许失效的磁盘个数时,RAID就会启动重构,读取非失效盘的数据恢复出失效盘的数据,并把恢复的数据写到其它磁盘中,且这块磁盘会被添加到RAID组中,成为其成员盘。
目前,基于RAID的写控制方法是把RAID组提供的空间划分成很多个区域,每个区域都有一个数据有效性的标记。系统初始化时,会把该标记初始为一个初始值。当区域有数据写入时,将该区域的数据有效性标记值设置成另外一个值,表示数据有效,一旦该标记设置成数据有效时,就不再设置成其它值。重构的时候检查该标记,只重构标记为有效的数据。
然而,当RAID组中的磁盘为SSD(Solid State Device/Solid State Drive,固态硬盘)时,由于SSD系统的写都采用重定向写方式,即每次写都写一个新的已经擦除过的地址,以提高写性能,因而,当覆盖写时,原来位置的数据就成了无效数据,而现有技术用于标记数据有效性的标记只在系统初始化时初始化一次,一旦设成数据有效时,就不再设置成其它值,因此,在覆盖写后,无效数据的有效性标识仍然为有效,所以,当SSD故障需要重构数据时,无效数据会被当作有效数据进行重构,增加了重构数据量,降低了重构速度。
发明内容
本发明实施例提供了一种基于独立磁盘冗余阵列RAID的写控制方法及系统,以降低重构数据量,提高重构速度。
本发明的第一方面提供一种基于独立磁盘冗余阵列RAID的写控制方法,RAID空间按固定大小被划分为若干个分条,其中,所述RAID空间中各成员磁盘的相同区域为一个分条的分条单元;所述方法包括:
当接收到写请求时,确定具有空闲分条单元的分条,将所述写请求中携带的数据写入所确定的分条中的空闲分条单元中;
生成与每一个存储数据后的分条单元对应的资源块,所述资源块中记录有:所述数据的目的逻辑地址,分条单元所在分条的识别码,分条单元的识别码,所述数据在分条单元中的偏移,以及数据的长度;
将生成的资源块标记为有效;
若所述写请求为覆盖写请求,则所述方法还包括:将所述写请求中的目的逻辑地址中的原数据所占用的分条单元对应的资源块标记为无效。
结合第一方面,在第二种可能的实现方式中,还包括:
当一个分条中的所有分条单元所对应的资源块都被标记为无效时,标记该分条为无效。
结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,还包括:
当属于同一个分组的分条都被标记为无效时,标记所述分组为无效。
结合第一方面,或者第一方面的任意一种可能的实现方式,在第四种可能的实现方式中,还包括:
依据资源块的有效性标记,以及所述资源块中记录的分条单元所在分条的识别码,分条单元的识别码,所述数据在分条单元中的偏移,以及数据的长度信息,确定分条中的有效数据和无效数据;
当所述若干个分条中的第一分条中的无效数据量高于预设阈值时,将该分条中的有效数据迁移至所示若干个分条中具有空闲分条单元的第二分条中;
生成与所述第二分条中的存储迁移数据的各个分条单元对应的资源块;
将所述第一分条中的有效数据对应的资源块标记为无效,并将生成的资源块标记为有效。
本申请的第二方面提供一种基于独立磁盘冗余阵列RAID的写控制系统,RAID空间按固定大小被划分为若干个分条,其中,所述RAID空间中各成员磁盘的相同区域为一个分条的分条单元;所述系统包括:
写数据模块,用于在接收到写请求时,确定具有空闲分条单元的分条,将所述写请求中携带的数据写入所确定的分条中的空闲分条单元中;
第一资源块生成模块,用于生成与每一个存储数据后的分条单元对应的资源块,所述资源块中记录有:所述数据的目的逻辑地址,分条单元所在分条的识别码,分条单元的识别码,所述数据在分条单元中的偏移,以及数据的长度;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310648859.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:高压油控可变阻尼减振器
- 下一篇:一种碗