[发明专利]一种RAID阵列同步方法及装置有效
| 申请号: | 201210226952.6 | 申请日: | 2012-06-29 |
| 公开(公告)号: | CN102789370A | 公开(公告)日: | 2012-11-21 |
| 发明(设计)人: | 张键 | 申请(专利权)人: | 浙江宇视科技有限公司 |
| 主分类号: | G06F3/06 | 分类号: | G06F3/06 |
| 代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 苏培华 |
| 地址: | 310053 浙江省杭州市滨江*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 raid 阵列 同步 方法 装置 | ||
技术领域
本发明涉及网络存储技术,尤其涉及一种更加简洁有效的RAID阵列同步方法及装置。
背景技术
独立磁盘RAID阵列(Redundant Array of Independent Disks,RAID)技术广泛应用于存储领域,在网络存储上尤其流行。RAID技术主要是通过磁盘的冗余性来保证存储在其上数据的可用性,在使用阵列之前通常要进行阵列的同步,主要目的包括:(1)保证RAID各个条带上数据的一致性,使其具备数据冗余性;(2)在后续的业务流量中,能够提升业务流量的性能。
RAID阵列进行同步的作用主要是为了提升后续写入的效率。首先,如果RAID阵列没有进行过同步,业务数据在RAID算法(以RAID5为例)中只能通过重构写的方式进行条带的写处理,因为不知道条带上的各个条带块(Segment)的数据是否具备一致性,不能使用在随机流量下性能更好的读修改写(Read Modify Write)算法。重构写(Reconstruct Write)的处理过程包括:从当前条带中不需要修改的Segment中读取原来的数据,再和本条带中所有需要修改的Segment上的新数据计算奇偶校验值,并将新的Segment数据以及新的奇偶校验值一并写入到当前条带。显然重构写在随机流量模型下要牵涉更多的I/O操作。举例来说,如果RAID阵列的磁盘数为9块,某时刻一个IO只更新了一个条带的1个Segment,剩余7个没有更新。在重构写模式下,会将没有被更新的7个Segment的数据读出,和需要更新的前1个Segment的数据计算出校验数据,然后将这1个Segment连同校验数据所在的Segment一并写入2磁盘。可以看出,这个操作共有读七个Segment中数据的操作和写两个segment的操作。
其次,如果RAID阵列进行过同步,则可以根据下发的业务数据所在磁盘个数计算出最优的算法,可能使重构写也可能是读修改写。先从需要修改的Segment上读取旧的数据,再从条带上读取旧的奇偶校验值;根据旧数据、旧校验值和需要修改的Segment上的新数据计算出这个条带上的新的校验值;最后写入新的数据和新的奇偶校验值。这个过程中包含读取、修改和写入的一个循环周期,因此称为读改写。读改写计算新校验值的公式为:新校验数据=(老数据EOR新数据)EOR老校验数据。如果待更新的Segment已经超过了条带中总Segment数量的一半,则此时不适合用读改写,因为读改写需要读出这些Segment中的数据和校验数据。而如果采用重构写,只需要读取剩余不准备更新数据的Segment中的数据即可,因为后者读数量比前者要少。所以超过一半用重构写,不到一半用读改写。整条更新就用整条写。因此在随机写或磁盘个数较多时,阵列同步后使用读修改写的方式可以使系统访问IO磁盘的次数最少,以提升性能。
请参考图1以及图2,现有技术中RAID阵列(以RAID5为例)的同步功能均是使用通用的算法:在每个条带上计算出校验盘的位置,然后通过读该条带的数据盘数据,进行校验后,把校验数据写入校验盘。以同步Stripe0为例,同步过程包括:
a.确定校验盘的位置为3号盘;
b.读出数据盘D0,D1和D2在stripe0上的数据;
c.异或校验,获取校验盘数据:P0=D0 EOR D1 EOR D2;
d.把P0校验数据写入校验盘。
现有技术中阵列同步的处理流程复杂度与RAID阵列重建复杂度处于同一个量级,同步通常会略低于重建;但二者均是以条带为单元进行遍历整个阵列进行处理,处理流程较长。首先,在单个磁盘容量越来越大的今天,同步的处理时间会相应增加,影响用户体验。其次,同步与重建之间最大的区别在于:在RAID阵列投入使用之后,重建流程可能会经常被使用到(每次有磁盘故障或者管理员更换磁盘),而同步流程通常只会使用一次。这意味着,对于存储设备厂商来说,需要为不常用的同步功能付出较高的开发成本。
发明内容
有鉴于此,本发明提供一种RAID阵列同步装置,应用于网络存储设备上,其中该网络存储设备包括RAID阵列,所述RAID阵列包括多块磁盘;其中RAID阵列中至少有一块磁盘被预先指定为同步校验盘,其特征在于,该装置包括:
数据读取单元,用于从RAID阵列中除同步校验盘外的每个磁盘上读取未完成同步的同步块上的数据,其中每个磁盘的同步块隶属于一个同步条带,同一个同步条带中的每一个同步块大小相同;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江宇视科技有限公司,未经浙江宇视科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210226952.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:传感器装置
- 下一篇:一种设置有新型护板的用于制备低碳低氧多晶硅的铸锭炉





