发明名称 一种处理RAID5坏扇区的方法
摘要 本发明提供一种处理RAID5坏扇区的方法,是在写数据过程中,把出现坏扇区的条带转移到一个预留区域,避免因为磁盘存在的少量坏扇区而影响了磁盘阵列的使用,当某一块磁盘的坏扇区数量先达到一定警戒数目的时候,把这块盘的一些数据先备份到热备盘上去,以此加强磁盘阵列的可靠性。
申请公布号 CN102508620B 申请公布日期 2014.08.13
申请号 CN201110392504.9 申请日期 2011.12.01
申请人 浪潮电子信息产业股份有限公司 发明人 古世磊;施培任
分类号 G06F3/06(2006.01)I 主分类号 G06F3/06(2006.01)I
代理机构 代理人
主权项 一种处理RAID5坏扇区的方法, 其特征在于是在写数据过程中,把出现坏扇区的条带转移到一个预留区域,避免因为磁盘存在的少量坏扇区而影响了磁盘阵列的使用,当某一块磁盘的坏扇区数量先达到一定警戒数目的时候,把这块盘的一些数据先备份到热备盘上去,以此加强磁盘阵列的可靠性,步骤如下1)首先要建立一个扇区映射表格,表格的每一项包含原来扇区号和新映射的扇区号,这个表格可以放到磁盘预留空间,使用的时候放到内存中即可,另外,还需有个计数器remap记录有多少个条带完成了映射;2)当有扇区写错误的时候,计数器remap记录是哪个磁盘出现的坏扇区,并增加该盘的坏扇区统计计数,不管该条带之前是否有已经写过的数据,都要让这个条带重新写,做好标记,写到预留空间,在扇区映射表格里填上原来扇区号和新映射的扇区号,预留空间是按照时间先后顺序排序写入的,每写一次预留空间就把计数器remap记录位置加1,当计数器remap记录到达一定数目的时候就报警,提示用户做相应的处理;3)当有多个这样的连续的条带出现坏扇区的时候,就说明这一片大的区域都是受到损坏,那么其后的一片区域就放弃不用,再有写的时候,就跳过这个区域,但是,如果紧挨着这个区域的条带还是有坏扇区的话,坏扇区范围就会扩大,而且会跳过这个坏扇区重新扩大坏扇区域,如果紧挨着这个坏扇区域的条带没有坏扇区的话,就正常写入数据,如果紧挨着这个坏扇区域的条带还有坏扇区的话,就不再扩大,这个时候产生报警,不再进行写入,然后,查看是哪个盘的坏扇区数目过多,替换坏扇区数目过多的磁盘;4)如果新映射的位置也有坏扇区的话,就再重新找个位置映射,如果还有坏扇区的话,就提示更换磁盘;5)当某一块盘的坏扇区数目过多的时候,就宣告这块盘失效,把这块盘踢出阵列,在添加热备盘进行修复时,对于完成映射的原扇区和新扇区要做特殊处理,其它的正常扇区直接计算写入即可,对于只是因为被踢出的这一块磁盘出现坏扇区引起映射的条带,恢复原来的扇区,对于新扇区不恢复,并删除在映射表格的记录,而对于是因为有其它磁盘存在坏扇区引起的映射的条带,不恢复原来的扇区,只恢复新映射之后的扇区就即可;6)为了加快修复,在某一块磁盘的坏扇区数量先达到一定警戒数目,但还没到宣告失效的数目,把这块盘的一些数据先备份到热备盘上去,因为这块盘的坏扇区数目最多,最后宣告失效的概率最大,如果是这块盘最后失效,添加对应的热备盘,写过的数据就不用恢复了,减少了修复的时间,如果是另一块盘最后达到宣告失效的数值,当热备盘足够时,就找另一个热备盘进行修复,保留原来写入数据的热备盘,虽然那块盘没有宣告失效,但已经过了警戒线,依然有失效的可能,所以,保留与之对应的热备盘,为之后的可靠性做了保障,当然,用户也会在那块盘的坏扇区数目过了警戒线但还没到宣告失效的时候,提前换出;7)当对一个条带读或者再次写操作的时候,如果报错,查找在表格中是否有这个条带存在,如果有的话,直接读取或者再次写入,如果没有的话,说明该错误是上次写入之后才发生的损坏,这个情况下就看是几块盘存在坏扇区了,如果只是一块盘存在坏扇区,那么这个坏扇区的数据是要通过计算得到的,添加热备盘进行替换恢复即可,如果是多个磁盘存在坏扇区,这部分的数据就会丢失,这个时候停止写数据,记录条带以及扇区的位置,对其它位置的数据保存,让少量位置数据的损坏和丢失,不影响其它位置的数据的正确性。
地址 250014 山东省济南市高新区舜雅路1036号