一种恢复条带读错误的方法和装置制造方法及图纸

技术编号:10418565 阅读:127 留言:0更新日期:2014-09-12 10:38
本发明专利技术提供一种恢复条带读错误的方法,该方法应用于Raid阵列,该Raid阵列的一条带具有至少两个读错误的条块,该方法包括:步骤A、当非满条带写命令的满条块写命中读错误条块时,判断是否可以采用RCW方式执行该写命令,如果是,转步骤B,否则,本流程结束;步骤B、采用RCW方式写所述读错误条块,在写成功所述读错误条块后,对所述读错误条块增加“写修复”标识;步骤C、判断所述读错误条块所在条带的所有读错误条块是否均具有“写修复”标识,如果是,转步骤D;否则,本流程结束;步骤D、清除该条带所有条块读错误标识。本发明专利技术技术实现了在非满条带写过成中修复存在多个读错误条带的方法。

【技术实现步骤摘要】
一种恢复条带读错误的方法和装置
本专利技术涉及视频监控
,尤其涉及一种恢复条带读错误的方法和装置。
技术介绍
现有RAID5阵列重建过程中,如果一个条带的重建命令读数据盘遇到一个读错误,会将重建盘对应的条块也标识存在读错误,因为这块数据无效。之后继续进行下个条带的重建,待所有条带都重建完,重建盘加入阵列成为数据盘。这样可以尽快恢复RAID5阵列绝大多数条带的冗余性。对于传统RAID5阵列重建遇到读错误的情况,这样处理应该是保持阵列冗余性的最优方式。对发生这种情况并且重建完成的RAID5阵列,原重建盘标识读错误的条块,磁盘介质本身读写是没有问题的,而是由于数据无效,且为防止读取发生数据一致性问题(存在数据一致性问题表明:条带数据不正确),才标识为读错误。有两个读错误的条带对于RAID5而言,构成了坏条带;下回只有满条带写命令才会将原重建盘上的读错误修复,并清除读错误标识,使这个条带恢复降级或正常(另外一块读错误盘也写修复成功)。如果是非满条带写,无论是RCW写(read reconstruct write,读重构写)还是RMW写(read modifywrite,读修改写),很大概率都会返回失败。比如一个写命令按照RMW方式预读有一块盘存在读错误,按照RCW方式预读还是有一块盘存在读错误,那么这个非满条带写命令只能返回失败。而RMW方式仅针对同步过的条带,对于未同步过的条带只能采用RCW方式预读。因此,如果始终没有满条带写命令下发到这个条带,条带将长期为坏条带。对于随机业务模型应用环境,这个条带几乎永远也不会被修复。其实原重建盘的读错误是“假”的,实际读写是没有任何问题的。另外,发生读错误的数据盘也很有可能是可以写修复成功的(之前发生的读错误为逻辑坏道,写可以成功;或者磁盘本身进行了替换扇区,写可以将替换扇区数据写正确)。对于这样的坏条带在非满条带写过程中应该尝试尽力恢复。
技术实现思路
有鉴于此,本专利技术提供一种恢复条带读错误的方法和装置。该方法和装置应用于Raid阵列,该Raid阵列的一条带具有至少两个读错误的条块。该方法包括:步骤A、当非满条带写命令的满条块写命中读错误条块时,判断是否可以采用RCW方式执行该写命令,如果是,转步骤B,否则,本流程结束;步骤B、采用RCW方式写所述读错误条块,在写成功所述读错误条块后,对所述读错误条块增加“写修复”标识;步骤C、判断所述读错误条块所在条带的所有读错误条块是否均具有“写修复”标识,如果是,转步骤D ;否则,本流程结束;步骤D、清除该条带所有条块读错误标识。优选地,所述判断是否可以采用RCW方式执行该写命令具体为:如果采用RCW方式预读的条块不存在除读错误之外的其他故障,则判断可以采用RCW方式执行该写命令。优选地,所述读错误条块为数据块或校验块。优选地,所述Raid阵列为Raid5或者Raid6。该恢复条带读错误的装置包括:条块写修复模块,用于当非满条带写命令的满条块写命中读错误条块时,如果可以采用RCW方式执行该写命令,则采用RCW方式写所述读错误条块,并在写成功所述读错误条块后,对所述读错误条块增加“写修复”标识;条带读错误恢复模块,用于在判断所述读错误条块所在条带的所有读错误条块均具有“写修复”标识时,清除该条带所有条块读错误标识。优选地,所述条块写修复模块在确认采用RCW方式预读的条块不存在除读错误之外的其他故障时,判断可以采用RCW方式执行该写命令。优选地,所述读错误条块为数据块或校验块。优选地,所述Raid阵列为Raid5或者Raid6。相较于现有技术,本专利技术对于冗余校验阵列,由多个读错误导致的坏条带,可以通过多次合适的非满条带写命令的满条块写进行块条带的修复。【附图说明】图1是阵列条带和条块示意图。图2是本专利技术实施例流程图。图3是满条带和非满条带写示例图。图4 (a)?图4 (d)是本专利技术实施例举例说明图。图5是本专利技术实施例装置逻辑结构图。【具体实施方式】本专利技术主要给出了在RAID5、RAID6冗余校验阵列的一个条带存在多个读错误的情况下,在非满条带写过程中一种修复读错误的方法。在描述本专利技术具体实施例之前,先对下述概念进行简单说明:阵列的条块和条带:条块是阵列中一块磁盘上的一些连续扇区,是组成阵列的基本单元,多个条块(不同磁盘同一位置)组成阵列的条带。假设一个5+U6块磁盘)的RAID5阵列,条块大小为32KB,则条带大小为5*32KB (另一个条块存储条带的校验数据,不能存放数据,故不计入条带大小),如图1所示。RAID5满条带写:一个满条带写命令无需预读,直接校验出P盘数据,写整个条带。RAID5RMW:全称read modify write,即读修改写。对于一个RAID5阵列非满条带写命令,RMW算法先读取写命中磁盘数据和P盘(校验盘)数据,使用这些数据校验出P’,再使用最新要写的数据和P’校验出最新的P盘数据,同样对写命中磁盘和P盘下发写命令。RAID5RMW主要针对同步过的条带的小块写(小块的含义是写命令命中条带中的磁盘数相对较小)。RAID5RCW:全称read construct write,即读重构写。对于一个RAID5阵列非满条带写命令,RCW算法先读取写命中磁盘之外的其它非P盘数据,然后使用最新要写的数据,和读上来的数据进行异或校验,计算出最新的P盘数据,对写命中磁盘和P盘下发写命令。RCW算法主要针对未同步的条带,或者同步过的条带的大块写(大块的含义是写命令命中条带中的多数磁盘)。下面结合图2,本专利技术实施例流程图来详细描述本专利技术实施例。本专利技术实施例的恢复条带读错误的方法应用于Raid阵列,且该Raid阵列的一条带具有至少两个读错误的条块。S1、当非满条带写命令的满条块写命中读错误条块时,判断是否可以采用RCW方式执行该写命令,如果是,转步骤S2,否则,本流程结束。请参图3,针对条块Dl进行的是满条块写,而针对条块D2进行的是非满条块写。这里命中的读错误条块可以是一个读错误条块,也可以是几个条块存在读错误;也可以是同时命中读错误条块和没有任何故障的条块。本专利技术实施例对此没有限制。在判断是否可以采用RCW方式执行该写命令的时候,只要采用RCW方式预读的条块不存在除读错误之外的其他故障,就认为可以采用RCW方式执行该写命令。比如说,现有技术对于非满条带写是采用RCW方式还是采用RMW方式的依据为哪种方式预读的条块少就采用哪种方式,如果预读的条块相同就采用RCW方式。但是在本专利技术实施例中,待恢复的Raid阵列的条带数据属于不一致的情况,所以需要采用RCW的方式执行写命令。而采用RCW方式执行写命令的时候,预读的条块需要不存在读错误之外的其他错误。如果确定不能采用RCW方式执行写命令,则按照现有技术处理,本实施例流程结束。S2、采用RCW方式写所述读错误条块,在写成功所述读错误条块后,对所述读错误条块增加“写修复”标识。本步骤和现有技术的区别就在于对写成功的存在读错误的条块,需要增加“写修复”标识。此时之前存在的读错误标识并不清除。S3、判断所述读错误条块所在条带的所有读错误条块是否均具有“写修复”标识,如果是,转步骤S4 ;否则,本流程结束。S4、清除该条带所有条块读错误标识。如果确定存在读错误条带本文档来自技高网
...
一种恢复条带读错误的方法和装置

【技术保护点】
一种恢复条带读错误的方法,该方法应用于Raid阵列,该Raid阵列的一条带具有至少两个读错误的条块,其特征在于,该方法包括:步骤A、当非满条带写命令的满条块写命中读错误条块时,判断是否可以采用RCW方式执行该写命令,如果是,转步骤B,否则,本流程结束;步骤B、采用RCW方式写所述读错误条块,在写成功所述读错误条块后,对所述读错误条块增加“写修复”标识;步骤C、判断所述读错误条块所在条带的所有读错误条块是否均具有“写修复”标识,如果是,转步骤D;否则,本流程结束;步骤D、清除该条带所有条块读错误标识。

【技术特征摘要】
1.一种恢复条带读错误的方法,该方法应用于Raid阵列,该Raid阵列的一条带具有至少两个读错误的条块,其特征在于,该方法包括: 步骤A、当非满条带写命令的满条块写命中读错误条块时,判断是否可以采用RCW方式执行该写命令,如果是,转步骤B,否则,本流程结束; 步骤B、采用RCW方式写所述读错误条块,在写成功所述读错误条块后,对所述读错误条块增加“写修复”标识; 步骤C、判断所述读错误条块所在条带的所有读错误条块是否均具有“写修复”标识,如果是,转步骤D ;否则,本流程结束; 步骤D、清除该条带所有条块读错误标识。2.如权利要求1所述的方法,其特征在于,所述判断是否可以采用RCW方式执行该写命令具体为: 如果采用RCW方式预读的条块不存在除读错误之外的其他故障,则判断可以采用RCW方式执行该写命令。3.如权利要求1所述的方法,其特征在于,所述读错误条块为数据块或校验块。4.如权利要求1所述的方法,其特...

【专利技术属性】
技术研发人员:王丽红郭永强许勇
申请(专利权)人:浙江宇视科技有限公司
类型:发明
国别省市:浙江;33

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

1