[发明专利]一种磁盘坏块的自检测方法和装置有效
申请号: | 201210142205.4 | 申请日: | 2012-05-09 |
公开(公告)号: | CN103389920A | 公开(公告)日: | 2013-11-13 |
发明(设计)人: | 娄继冰;陈杰;黄楚加 | 申请(专利权)人: | 深圳市腾讯计算机系统有限公司 |
主分类号: | G06F11/10 | 分类号: | G06F11/10 |
代理公司: | 北京派特恩知识产权代理事务所(普通合伙) 11270 | 代理人: | 张颖玲;程立民 |
地址: | 518057 广东省深圳市南*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 磁盘 检测 方法 装置 | ||
技术领域
本发明涉及数据存储技术,尤其涉及一种磁盘坏块的自检测方法和装置
背景技术
硬盘数据存储以块为逻辑单位在硬盘的磁介质上,相应的的扇区不能读写或块上数据产生误码都会导致坏块,使得数据不可用。为了保证数据的可用性,存储系统需要具有对磁盘坏块的检测能力,以避开对坏块的读写,及时迁移重要数据。通常的做法根据数据存储一定的冗余信息,在下次读写操作中通过冗余信息判断是否产生了坏块,典型的方法有ECC以及RAID5/6。
ECC是一种前向纠错编码(FEC,Forward Error Correction)方法,最初用于通信系统的误码检错和纠错,以提高通信系统的可靠性。由于这种编码的可靠性,该方法也应用于磁盘数据的存储,一般已经内建于磁盘系统。
ECC的实现也是通过对数据块进行编码,一般是根据数据块的行和列计算奇偶校验信息,并把这些信息作为冗余数据存储在磁盘中,255字节数据块的ECC校验原理图如表1所示。
其中,CPi,i=0,1,2,4是对数据块的列数据进行奇偶校验得出冗余。
而RPi,i=0,1,2...15是对数据块的行数据进行奇偶校验得出冗余。
读取数据块时,根据数据块的列冗余和行冗余,对数据块进行列校验和行校验。从表1中可以看出,当数据出现1bit错误时,会导致系列奇偶校验产生错误。通过列奇偶校验冗余可以定位出具体误码的列,而行奇偶校验冗余可以定位具体的行,根据行号和列号可以纠正误比特。
表1
ECC对于数据块有单比特突发错误的情况有恢复能力。但是当出现多位误码,ECC只能检错,无法恢复数据,对于数据安全要求比较高的场合并不适用,因此还需要备份文件。此外,ECC必须进行IO读写数据块时才能检测到错误。而且随着块大小增加,一个块中出现多个位错误的机会也随之增加,ECC已经无法应付这样的情况。此外,ECC一般是由硬件实现,不具备功能扩展和定制的能力。
在空间效率方面,如表1所示,如果数据块为n个字节,则外加的ECC位为log2n+5。如对255byte的数据而言,需要log2*255+6=22bit的冗余,有效空间利用率为22/(255*8)=98.9%。
RAID 5/6被称为分布式奇偶校验磁盘阵列。校验信息并不单独存放在一个磁盘中,而是以块交叉的方式分布到各个磁盘中,如图1,图2所示。
在RAID 5中,把一个数据块序列以及校验块的组合称之为条,如图1中的A1、A2、A3、Ap。如果需要对数据块进行写操作,需根据条的数据块重新计算并重新写入相应的奇偶校验块。
当有一个磁盘掉线,可通过奇偶校验块对一个数据块进行推导恢复,所述奇偶校验块如图1中的Ap、Bp、Cp、Dp,因此RAID 5具有一个盘掉线的容错能力,但整体磁盘的读写性能将会有很大的降低,因为重建该数据块需要读取其他所有的数据块和奇偶校验块,直到掉线的磁盘被替换并且相关数据被重建。RAID 5的空间效率为1-1/n,其中n为磁盘数。对于4个盘,每个盘1TB的数据,实际上的数据存储空间为3TB,空间效率为75%。如果在旧数据读取的过程中,由数据块计算出奇偶校验块与磁盘中的奇偶校验块不一致,则可判断有坏块出现。因此,为了检测坏块,必须读取在n个磁盘上的块,对每个块进行奇偶校验运算,才能进行判断。因此,判断坏块的速度和磁盘的个数相关有很大的关系。
RAID 6扩展了RAID 5,其原理基本一致,磁盘的数据分布如图2所示,除了原来的奇偶校验块外,还增加了一个奇偶校验块,如Aq、Bq、Cq、Dq、Eq等,增强了对于坏盘的容错能力,可以在两个磁盘掉线的情况下,可根据冗余信息对数据进行恢复,适合高可用的应用环境。但数据写的性能有所下降,奇偶校验计算占用了更多的处理时间,并且降低了有效数据的空间利用率。
RAID 6空间效率为1-2/n,可容忍的磁盘掉线数为2。如有5个磁盘,每个磁盘为1TB物理存储空间,实际可存储3TB的数据,空间效率为60%。
目前的磁盘坏块检测方法,空间利用率低:在互联网行业应用中,由于对数据的可用性有比较高的要求,一般数据会有1份或以上的备份,已足够保证数据可用性,单盘的数据冗余纠错方案功能在已有多份备份的情况下,作用并不明显;
磁盘坏块检测的效率不高:由于数据块和校验块分散在各个磁盘中,一次校验需要操作多个磁盘;
坏块扫描针对性不强:在进行磁盘坏块检测时,需要对整个磁盘进行数据查询校验。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市腾讯计算机系统有限公司,未经深圳市腾讯计算机系统有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210142205.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种酱板鲵制品及其制作方法
- 下一篇:燃煤、燃生物质燃料的卧式三回程链条锅炉