CN103389920B - 一种磁盘坏块的自检测方法和装置 - Google Patents
一种磁盘坏块的自检测方法和装置 Download PDFInfo
- Publication number
- CN103389920B CN103389920B CN201210142205.4A CN201210142205A CN103389920B CN 103389920 B CN103389920 B CN 103389920B CN 201210142205 A CN201210142205 A CN 201210142205A CN 103389920 B CN103389920 B CN 103389920B
- Authority
- CN
- China
- Prior art keywords
- data
- sub
- block
- data block
- parity
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000013524 data verification Methods 0.000 claims description 23
- 238000000034 method Methods 0.000 claims description 21
- 238000001514 detection method Methods 0.000 claims description 19
- 238000013507 mapping Methods 0.000 claims description 16
- 238000012795 verification Methods 0.000 claims description 13
- 230000002159 abnormal effect Effects 0.000 claims description 7
- 238000013502 data validation Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 7
- 238000013500 data storage Methods 0.000 description 4
- 238000012937 correction Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Debugging And Monitoring (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本发明公开了一种磁盘坏块的自检测方法,对挂载的每个数据块进行子数据块划分,划分成n个等大小的子数据块,其中n为不小于2的整数;在各子数据块的固定位置设置校验信息,在各子数据块的除所述固定位置的其它位置保存数据,其中所述校验信息是所述数据的奇偶校验信息;读写数据时,根据读取的子数据块的固定位置的校验信息进行数据验证;本发明同时还公开了一种磁盘坏块的自检测装置,通过本发明的方案,能够快速的对磁盘坏块进行检测,并能指示数据的迁移、磁盘的更换。
Description
技术领域
本发明涉及数据存储技术,尤其涉及一种磁盘坏块的自检测方法和装置
背景技术
硬盘数据存储以块为逻辑单位在硬盘的磁介质上,相应的的扇区不能读写或块上数据产生误码都会导致坏块,使得数据不可用。为了保证数据的可用性,存储系统需要具有对磁盘坏块的检测能力,以避开对坏块的读写,及时迁移重要数据。通常的做法根据数据存储一定的冗余信息,在下次读写操作中通过冗余信息判断是否产生了坏块,典型的方法有ECC以及RAID5/6。
ECC是一种前向纠错编码(FEC,ForwardErrorCorrection)方法,最初用于通信系统的误码检错和纠错,以提高通信系统的可靠性。由于这种编码的可靠性,该方法也应用于磁盘数据的存储,一般已经内建于磁盘系统。
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%。
RAID5/6被称为分布式奇偶校验磁盘阵列。校验信息并不单独存放在一个磁盘中,而是以块交叉的方式分布到各个磁盘中,如图1,图2所示。
在RAID5中,把一个数据块序列以及校验块的组合称之为条,如图1中的A1、A2、A3、Ap。如果需要对数据块进行写操作,需根据条的数据块重新计算并重新写入相应的奇偶校验块。
当有一个磁盘掉线,可通过奇偶校验块对一个数据块进行推导恢复,所述奇偶校验块如图1中的Ap、Bp、Cp、Dp,因此RAID5具有一个盘掉线的容错能力,但整体磁盘的读写性能将会有很大的降低,因为重建该数据块需要读取其他所有的数据块和奇偶校验块,直到掉线的磁盘被替换并且相关数据被重建。RAID5的空间效率为1-1/n,其中n为磁盘数。对于4个盘,每个盘1TB的数据,实际上的数据存储空间为3TB,空间效率为75%。如果在旧数据读取的过程中,由数据块计算出奇偶校验块与磁盘中的奇偶校验块不一致,则可判断有坏块出现。因此,为了检测坏块,必须读取在n个磁盘上的块,对每个块进行奇偶校验运算,才能进行判断。因此,判断坏块的速度和磁盘的个数相关有很大的关系。
RAID6扩展了RAID5,其原理基本一致,磁盘的数据分布如图2所示,除了原来的奇偶校验块外,还增加了一个奇偶校验块,如Aq、Bq、Cq、Dq、Eq等,增强了对于坏盘的容错能力,可以在两个磁盘掉线的情况下,可根据冗余信息对数据进行恢复,适合高可用的应用环境。但数据写的性能有所下降,奇偶校验计算占用了更多的处理时间,并且降低了有效数据的空间利用率。
RAID6空间效率为1-2/n,可容忍的磁盘掉线数为2。如有5个磁盘,每个磁盘为1TB物理存储空间,实际可存储3TB的数据,空间效率为60%。
目前的磁盘坏块检测方法,空间利用率低:在互联网行业应用中,由于对数据的可用性有比较高的要求,一般数据会有1份或以上的备份,已足够保证数据可用性,单盘的数据冗余纠错方案功能在已有多份备份的情况下,作用并不明显;
磁盘坏块检测的效率不高:由于数据块和校验块分散在各个磁盘中,一次校验需要操作多个磁盘;
坏块扫描针对性不强:在进行磁盘坏块检测时,需要对整个磁盘进行数据查询校验。
发明内容
有鉴于此,本发明的主要目的在于提供一种磁盘坏块的自检测方法和装置,能够快速的对磁盘坏块进行检测,并能指示数据的迁移、磁盘的更换。
为达到上述目的,本发明的技术方案是这样实现的:
本发明提供的一种磁盘坏块的自检测方法,该方法包括:
对挂载的每个数据块进行子数据块划分,划分成n个等大小的子数据块,其中n为不小于2的整数;
在各子数据块的固定位置设置校验信息,在各子数据块的除所述固定位置的其它位置保存数据,其中所述校验信息是所述数据的奇偶校验信息;
读写数据时,根据读取的子数据块的固定位置的校验信息进行数据验证。
上述方案中,所述对挂载的每个数据块进行子数据块划分,划分成n个等大小的子数据块,在各子数据块的固定位置设置校验信息,包括:将挂载的每个数据块划分成n个65K的子数据块,各子数据块包括64K的数据区和1K的校验区,将数据区保存的数据的奇偶校验信息设置在奇偶校验区。
上述方案中,所述读写数据按照所述子数据块的大小进行读写。
上述方案中,所述读写数据时,根据读取的子数据块固定位置的校验信息进行数据验证,包括:进行读写操作时,按照子数据块大小读写数据,将读写数据的相对地址转换为磁盘的物理地址,从起始地址为所述物理地址的数据块中读取子数据块,计算所述子数据块的奇偶校验信息,将计算的奇偶校验信息与所述子数据块中的奇偶校验信息进行比较。
上述方案中,该方法还包括:将挂载的数据块排列成逻辑序列,并将各业务数据分配到不同的数据块上,建立业务与数据块的映射表,在业务发生异常时,根据所述映射表将承载所述业务的各个数据块加入坏块扫描队列,对坏块扫描队列中各个数据块的各子数据块进行数据验证。
上述方案中,所述对坏块扫描队列中各个数据块的各子数据块进行数据验证包括:计算所述各子数据块的奇偶校验信息,将计算的奇偶校验信息与所述子数据块中的奇偶校验信息进行比较。
本发明提供的一种磁盘坏块的自检测装置,包括:子数据块划分模块、坏块扫描模块;其中,
子数据块划分模块,用于对每个数据块进行子数据块划分,划分成n个等大小的子数据块,其中n为不小于2的整数;并在各子数据块的固定位置设置校验信息,在各子数据块的除所述固定位置的其它位置保存数据,所述校验信息为所述数据的奇偶校验信息;
坏块扫描模块,用于在读写数据时,根据读取的子数据块的固定位置的校验信息进行数据验证。
上述方案中,所述子数据块划分模块,用于将挂载的每个数据块划分成n个65K的子数据块,各子数据块包括64K的数据区和1K的校验区,将数据区保存的数据的奇偶校验信息设置在奇偶校验区。
上述方案中,所述坏块扫描模块,用于在读写数据时,按照子数据块大小读写数据,将读写数据的相对地址转换为磁盘的物理地址,从起始地址为所述物理地址的数据块中读取子数据块,计算所述子数据块的奇偶校验信息,将计算的奇偶校验信息与所述子数据块中的奇偶校验信息进行比较。
上述方案中,该装置还包括:业务分配模块、坏块扫描通知模块;其中,
业务分配模块,用于将挂载的数据块排列成逻辑序列,并将各业务数据分配到不同的数据块上,建立业务与数据块的映射表;
坏块扫描通知模块,用于在业务发生异常时,根据所述映射表将承载所述业务的各个数据块加入坏块扫描队列,通知坏块扫描模块;
相应的,所述坏块扫描模块,还用于对坏块扫描队列中各个数据块的各子数据块进行数据验证。
本发明提供了一种磁盘坏块的自检测方法和装置,对挂载的每个数据块进行子数据块划分,划分成n个等大小的子数据块,其中n为不小于2的整数;在各子数据块的固定位置设置校验信息,在各子数据块的除所述固定位置的其它位置保存数据,其中所述校验信息是所述数据的奇偶校验信息;读写数据时,根据读取的子数据块的固定位置的校验信息进行数据验证;如此,能够快速的对磁盘坏块进行检测,并能指示数据的迁移、磁盘的更换。
附图说明
图1为现有技术中RAID5磁盘检测方法的数据结构示意图;
图2为现有技术中RAID6磁盘检测方法的数据结构示意图;
图3为本发明实现磁盘坏块的自检测方法的流程示意图;
图4为本发明实施例中子数据块的数据结构示意图;
图5为本发明实施例步骤102的具体流程示意图;
图6为本发明实施例中将不同业务数据分配到不同的Chunk上的示意图;
图7为本发明实现磁盘坏块的自检测装置的结构示意图;
图8为本发明提供的磁盘坏块的自检测装置与业务系统进行业务数据验证的示意图。
具体实施方式
本发明的基本思想是:对挂载的每个数据块进行子数据块划分,划分成n个等大小的子数据块,其中n为不小于2的整数;在各子数据块的固定位置设置校验信息,在各子数据块的除所述固定位置的其它位置保存数据,其中所述校验信息是所述数据的奇偶校验信息;读写数据时,根据读取的子数据块的固定位置的校验信息进行数据验证。
下面通过附图及具体实施例对本发明做进一步的详细说明。
本发明实现一种磁盘坏块的自检测方法,如图3所示,该方法包括以下几个步骤:
步骤101:对挂载的每个数据块进行子数据块划分,划分成n个等大小的子数据块,其中n为不小于2的整数;在各子数据块的固定位置设置校验信息,在各子数据块的除所述固定位置的其它位置保存数据,其中所述校验信息是所述数据的奇偶校验信息;
具体的,磁盘存储服务器将挂载的每个数据块划分成n个65K的子数据块,各子数据块包括64K的数据区和1K的校验区,将数据区保存的数据的奇偶校验信息设置在奇偶校验区;
所述挂载的每个数据块的起始地址为对应的磁盘的物理地址;
以Chunk服务器(server)为例,Chunkserver下挂载了m个Chunk,每个Chunk的起始地址为磁盘的物理地址,Chunkserver将每个Chunk划分成n个65K的子数据块,各子数据块包括64K的数据区和1K的奇偶校验区,Chunkserver将数据区保存的数据的奇偶校验信息设置在奇偶校验区;各子数据块的数据分布如图4所示,数据区每1K字节为一行,共有1024x8个比特,即一个子数据块包括64个数据行及1个奇偶校验行,奇偶校验行的每一个比特为数据区所有行对应比特的奇偶校验和,如公式(1)所示:
Bit(i)=Column1(i)xorColumn2(i)xor.....Column64(i)i=1...1024×8(1)
其中,Bit(i)为奇偶校验行的第i比特;Columnj(i)为数据区第j行第i比特的奇偶校验值;
这里,由于固定长度的划分,数据和奇偶校验信息均保存在Chunk的固定物理位置。
步骤102:读写数据时,根据读取的子数据块的固定位置的校验信息进行数据验证;如图5所示,本步骤具体包括:
步骤201:读写数据;
具体的,每次对磁盘进行输入输出(IO)读写操作时,按照子数据块大小读写数据,磁盘存储服务器将读写数据的相对地址转换为磁盘的物理地址,从起始地址为所述物理地址的数据块中读取子数据块;
步骤202:计算所述子数据块的奇偶校验信息;
步骤203:校验奇偶校验信息是否一致,在一致时,执行步骤204,在不一致时,执行步骤205;
具体的,将计算的奇偶校验信息与所述子数据块中的奇偶校验信息进行比较,在一致时,执行步骤204,在不一致时,执行步骤205;
步骤204:奇偶验证通过,正常读写数据;
步骤205:返回读写错误;
进一步的,步骤205还包括:读取备份数据,以保证数据的可用性,磁盘存储服务器记录奇偶验证不通过的子数据块所属数据块的信息,对所述数据块进行重建或忽略。
如步骤101中所述磁盘存储服务器为ChunkServer时,每次对磁盘进行的IO读写操作,都是以65K为单位,ChunkServer将读写数据的相对地址转换为磁盘的物理地址,从起始地址为所述物理地址的Chunk中读取65K的子数据块,计算所述子数据块中数据区的奇偶校验信息,将计算的奇偶校验信息与所述子数据块中奇偶校验区的奇偶校验信息进行比较,在一致时,奇偶验证通过,正常读写数据;在不一致时,返回读写错误,进一步的,读取备份数据,以保证数据的可用性,磁盘存储服务器记录奇偶验证不通过的数据块的信息,对所述数据块进行重建或忽略。
这种方法在磁盘操作方面,由于每次读写以及检测数据块只需对一个磁盘进行一次IO操作,极大减少了检测磁盘中总体的IO操作数,而且计算和实现简单,有效的提高检测效率。在数据存储效率方面,空间利用率达98.4%,比起RAID5、RAID6有着比较大的优势。
上述方法还包括:磁盘存储服务器将挂载的数据块排列成逻辑序列,并将各业务数据分配到不同的数据块上,建立业务与数据块的映射表,在业务发生异常时,根据所述映射表将承载所述业务的各个数据块加入坏块扫描队列,所述磁盘存储服务器对坏块扫描队列中各个数据块的各子数据块进行数据验证;这里,所述对坏块扫描队列中各个数据块的各子数据块进行数据验证包括:计算所述各子数据块的奇偶校验信息,将计算的奇偶校验信息与所述子数据块中的奇偶校验信息进行比较;
以ChunkServer为例,ChunkServer将挂载的Chunk排列成1维的Chunk逻辑序列,ChunkServer将不同业务数据分配到不同的Chunk上去,并建立业务和Chunk的映射表,如图6所示,将业务A、业务B、一直到业务M的数据分配到Chunk0、Chunk1、Chunk2、Chunk3、Chunk4......Chunkn上;当某些业务发生异常时,如数据上传/下载IO错误较多或业务磁盘吞吐量下降时,根据所述映射表将承载所述业务的Chunk加入坏块扫描队列,ChunkServer对坏块扫描队列中Chunk的各子数据块进行数据验证;这样,使坏块的扫描更具有针对性,提高坏块检测的命中率,降低扫描对磁盘寿命的影响。
进一步的,ChunkServer还维护坏块信息列表,所述坏块信息列表中存储坏块信息包括:数据块逻辑序号、对应的Chunk号以及坏块检测时间;ChunkServer通过维护坏块信息列表,一方面可以避免对坏块进行数据写入,也降低新数据写入坏块的机率;另一方面坏块检测时间,可以估算物理磁盘坏块的速度,一般磁盘出现扇区坏时,意味着会出现更多的坏的扇区,因此,当某一个磁盘所对应的坏块超出一定比例或坏块速度超过阀值时,ChunkServer将向运维系统发出警告通知运维进行数据搬迁并及时更换磁盘,从ChunkServer上的坏块列表移除相应的坏块序列,从而更好的保证数据的安全性。
为了实现上述方法,本发明还提供一种磁盘坏块的自检测装置,如图7所示,该装置设置在磁盘存储服务器,包括:子数据块划分模块11、坏块扫描模块12;其中,
子数据块划分模块11,用于对每个数据块进行子数据块划分,划分成n个等大小的子数据块,其中n为不小于2的整数;并在各子数据块的固定位置设置校验信息,在各子数据块的除所述固定位置的其它位置保存数据,所述校验信息为所述数据的奇偶校验信息;
坏块扫描模块12,用于读写数据时,根据读取的子数据块的固定位置的校验信息进行数据验证;
所述子数据块划分模块11,具体用于将挂载的每个数据块划分成n个65K的子数据块,各子数据块包括64K的数据区和1K的校验区,将数据区保存的数据的奇偶校验信息设置在奇偶校验区;
所述坏块扫描模块12,具体用于在读写数据时,按照子数据块大小读写数据,将读写数据的相对地址转换为磁盘的物理地址,从起始地址为所述物理地址的数据块中读取子数据块,计算所述子数据块的奇偶校验信息,将计算的奇偶校验信息与所述子数据块中的奇偶校验信息进行比较,在一致时,奇偶验证通过;在不一致时,返回读写错误;
该装置还包括:备份读取模块13,用于在坏块扫描模块返回读写错误后,读取备份数据,以保证数据的可用性;
该装置还包括:记录模块14,用于记录奇偶验证不通过的子数据块所属数据块的信息,对所述数据块进行重建或忽略;
该装置还包括:业务分配模块15、坏块扫描通知模块16;其中,
业务分配模块15,用于将挂载的数据块排列成逻辑序列,并将各业务数据分配到不同的数据块上,建立业务与数据块的映射表;
坏块扫描通知模块16,用于在业务发生异常时,根据所述映射表将承载所述业务的各个数据块加入坏块扫描队列,通知坏块扫描模块;相应的,所述坏块扫描模块12,还用于对坏块扫描队列中各个数据块的各子数据块进行数据验证;所述数据验证的过程具体参见步骤102,这里不再赘述。
该装置设置在ChunkServer时,如图8所示,所述子数据块划分模块11,具体用于将每个Chunk划分成n个65K的子数据块,各子数据块包括64K的数据区和1K的奇偶校验区,将数据区保存的数据的奇偶校验信息设置在奇偶校验区;
所述坏块扫描模块12,具体用于在每次对磁盘进行以65K为单位的IO读写操作时,将读写数据的相对地址转换为磁盘的物理地址,从起始地址为所述物理地址的Chunk中读取65K的子数据块,计算所述子数据块中数据区的奇偶校验信息,将计算的奇偶校验信息与所述子数据块中奇偶校验区的奇偶校验信息进行比较,在一致时,奇偶验证通过,正常读写数据;在不一致时,返回读写错误;
业务分配模块15,用于将挂载的数据块排列成逻辑序列,并将业务系统的各业务数据分配到不同的数据块上,建立业务与数据块的映射表;
坏块扫描通知模块16,用于在收到业务系统的业务异常反馈时,根据所述映射表将承载所述业务的各个数据块加入坏块扫描队列,通知坏块扫描模块;
相应的,所述坏块扫描模块12,还用于对坏块扫描队列中各个数据块的各子数据块进行数据验证;所述数据验证的过程具体参见步骤102,这里不再赘述。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (10)
1.一种磁盘坏块的自检测方法,其特征在于,该方法包括:
对挂载的每个数据块进行子数据块划分,划分成n个等大小的子数据块,其中n为不小于2的整数;
在各子数据块的固定位置设置校验信息,在各子数据块的除所述固定位置的其它位置保存数据,其中所述校验信息是所述数据的奇偶校验信息;
读写数据时,根据读取的子数据块的固定位置的校验信息进行数据验证。
2.根据权利要求1所述的方法,其特征在于,所述对挂载的每个数据块进行子数据块划分,划分成n个等大小的子数据块,在各子数据块的固定位置设置校验信息,包括:将挂载的每个数据块划分成n个65K的子数据块,各子数据块包括64K的数据区和1K的奇偶校验区,将数据区保存的数据的奇偶校验信息设置在奇偶校验区。
3.根据权利要求1所述的方法,其特征在于,所述读写数据按照所述子数据块的大小进行读写。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述读写数据时,根据读取的子数据块固定位置的校验信息进行数据验证,包括:进行读写操作时,按照子数据块大小读写数据,将读写数据的相对地址转换为磁盘的物理地址,从起始地址为所述物理地址的数据块中读取子数据块,计算所述子数据块的奇偶校验信息,将计算的奇偶校验信息与所述子数据块中的奇偶校验信息进行比较。
5.根据权利要求1所述的方法,其特征在于,该方法还包括:将挂载的数据块排列成逻辑序列,并将各业务数据分配到不同的数据块上,建立业务与数据块的映射表,在业务发生异常时,根据所述映射表将承载所述业务的各个数据块加入坏块扫描队列,对坏块扫描队列中各个数据块的各子数据块进行数据验证。
6.根据权利要求5所述的方法,其特征在于,所述对坏块扫描队列中各个数据块的各子数据块进行数据验证包括:计算所述各子数据块的奇偶校验信息,将计算的奇偶校验信息与所述子数据块中的奇偶校验信息进行比较。
7.一种磁盘坏块的自检测装置,其特征在于,包括:子数据块划分模块、坏块扫描模块;其中,
子数据块划分模块,用于对每个数据块进行子数据块划分,划分成n个等大小的子数据块,其中n为不小于2的整数;并在各子数据块的固定位置设置校验信息,在各子数据块的除所述固定位置的其它位置保存数据,所述校验信息为所述数据的奇偶校验信息;
坏块扫描模块,用于在读写数据时,根据读取的子数据块的固定位置的校验信息进行数据验证。
8.根据权利要求7所述的自检测装置,其特征在于,所述子数据块划分模块,用于将挂载的每个数据块划分成n个65K的子数据块,各子数据块包括64K的数据区和1K的奇偶校验区,将数据区保存的数据的奇偶校验信息设置在奇偶校验区。
9.根据权利要求8所述的自检测装置,其特征在于,所述坏块扫描模块,用于在读写数据时,按照子数据块大小读写数据,将读写数据的相对地址转换为磁盘的物理地址,从起始地址为所述物理地址的数据块中读取子数据块,计算所述子数据块的奇偶校验信息,将计算的奇偶校验信息与所述子数据块中的奇偶校验信息进行比较。
10.根据权利要求7所述的自检测装置,其特征在于,该装置还包括:业务分配模块、坏块扫描通知模块;其中,
业务分配模块,用于将挂载的数据块排列成逻辑序列,并将各业务数据分配到不同的数据块上,建立业务与数据块的映射表;
坏块扫描通知模块,用于在业务发生异常时,根据所述映射表将承载所述业务的各个数据块加入坏块扫描队列,通知坏块扫描模块;
相应的,所述坏块扫描模块,还用于对坏块扫描队列中各个数据块的各子数据块进行数据验证。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210142205.4A CN103389920B (zh) | 2012-05-09 | 2012-05-09 | 一种磁盘坏块的自检测方法和装置 |
US14/368,453 US20140372838A1 (en) | 2012-05-09 | 2013-04-25 | Bad disk block self-detection method and apparatus, and computer storage medium |
PCT/CN2013/074748 WO2013166917A1 (zh) | 2012-05-09 | 2013-04-25 | 一种磁盘坏块的自检测方法、装置和计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210142205.4A CN103389920B (zh) | 2012-05-09 | 2012-05-09 | 一种磁盘坏块的自检测方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103389920A CN103389920A (zh) | 2013-11-13 |
CN103389920B true CN103389920B (zh) | 2016-06-15 |
Family
ID=49534199
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210142205.4A Active CN103389920B (zh) | 2012-05-09 | 2012-05-09 | 一种磁盘坏块的自检测方法和装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20140372838A1 (zh) |
CN (1) | CN103389920B (zh) |
WO (1) | WO2013166917A1 (zh) |
Families Citing this family (124)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8589640B2 (en) | 2011-10-14 | 2013-11-19 | Pure Storage, Inc. | Method for maintaining multiple fingerprint tables in a deduplicating storage system |
US9218244B1 (en) | 2014-06-04 | 2015-12-22 | Pure Storage, Inc. | Rebuilding data across storage nodes |
US11652884B2 (en) | 2014-06-04 | 2023-05-16 | Pure Storage, Inc. | Customized hash algorithms |
US11960371B2 (en) | 2014-06-04 | 2024-04-16 | Pure Storage, Inc. | Message persistence in a zoned system |
US9003144B1 (en) | 2014-06-04 | 2015-04-07 | Pure Storage, Inc. | Mechanism for persisting messages in a storage system |
US9367243B1 (en) | 2014-06-04 | 2016-06-14 | Pure Storage, Inc. | Scalable non-uniform storage sizes |
US9836234B2 (en) | 2014-06-04 | 2017-12-05 | Pure Storage, Inc. | Storage cluster |
US10574754B1 (en) | 2014-06-04 | 2020-02-25 | Pure Storage, Inc. | Multi-chassis array with multi-level load balancing |
US12137140B2 (en) | 2014-06-04 | 2024-11-05 | Pure Storage, Inc. | Scale out storage platform having active failover |
US11068363B1 (en) | 2014-06-04 | 2021-07-20 | Pure Storage, Inc. | Proactively rebuilding data in a storage cluster |
US9213485B1 (en) | 2014-06-04 | 2015-12-15 | Pure Storage, Inc. | Storage system architecture |
US9021297B1 (en) | 2014-07-02 | 2015-04-28 | Pure Storage, Inc. | Redundant, fault-tolerant, distributed remote procedure call cache in a storage system |
US11604598B2 (en) | 2014-07-02 | 2023-03-14 | Pure Storage, Inc. | Storage cluster with zoned drives |
US8868825B1 (en) | 2014-07-02 | 2014-10-21 | Pure Storage, Inc. | Nonrepeating identifiers in an address space of a non-volatile solid-state storage |
US11886308B2 (en) | 2014-07-02 | 2024-01-30 | Pure Storage, Inc. | Dual class of service for unified file and object messaging |
US9836245B2 (en) | 2014-07-02 | 2017-12-05 | Pure Storage, Inc. | Non-volatile RAM and flash memory in a non-volatile solid-state storage |
US9747229B1 (en) | 2014-07-03 | 2017-08-29 | Pure Storage, Inc. | Self-describing data format for DMA in a non-volatile solid-state storage |
US10853311B1 (en) | 2014-07-03 | 2020-12-01 | Pure Storage, Inc. | Administration through files in a storage system |
US12182044B2 (en) | 2014-07-03 | 2024-12-31 | Pure Storage, Inc. | Data storage in a zone drive |
US9811677B2 (en) | 2014-07-03 | 2017-11-07 | Pure Storage, Inc. | Secure data replication in a storage grid |
US9483346B2 (en) | 2014-08-07 | 2016-11-01 | Pure Storage, Inc. | Data rebuild on feedback from a queue in a non-volatile solid-state storage |
US9082512B1 (en) | 2014-08-07 | 2015-07-14 | Pure Storage, Inc. | Die-level monitoring in a storage cluster |
US10983859B2 (en) | 2014-08-07 | 2021-04-20 | Pure Storage, Inc. | Adjustable error correction based on memory health in a storage unit |
US9495255B2 (en) | 2014-08-07 | 2016-11-15 | Pure Storage, Inc. | Error recovery in a storage cluster |
US12158814B2 (en) | 2014-08-07 | 2024-12-03 | Pure Storage, Inc. | Granular voltage tuning |
US10079711B1 (en) | 2014-08-20 | 2018-09-18 | Pure Storage, Inc. | Virtual file server with preserved MAC address |
US9940234B2 (en) | 2015-03-26 | 2018-04-10 | Pure Storage, Inc. | Aggressive data deduplication using lazy garbage collection |
US10082985B2 (en) | 2015-03-27 | 2018-09-25 | Pure Storage, Inc. | Data striping across storage nodes that are assigned to multiple logical arrays |
US10178169B2 (en) | 2015-04-09 | 2019-01-08 | Pure Storage, Inc. | Point to point based backend communication layer for storage processing |
US9672125B2 (en) | 2015-04-10 | 2017-06-06 | Pure Storage, Inc. | Ability to partition an array into two or more logical arrays with independently running software |
US9817576B2 (en) | 2015-05-27 | 2017-11-14 | Pure Storage, Inc. | Parallel update to NVRAM |
US10846275B2 (en) | 2015-06-26 | 2020-11-24 | Pure Storage, Inc. | Key management in a storage device |
US10983732B2 (en) | 2015-07-13 | 2021-04-20 | Pure Storage, Inc. | Method and system for accessing a file |
US10108355B2 (en) | 2015-09-01 | 2018-10-23 | Pure Storage, Inc. | Erase block state detection |
US11341136B2 (en) | 2015-09-04 | 2022-05-24 | Pure Storage, Inc. | Dynamically resizable structures for approximate membership queries |
US11269884B2 (en) | 2015-09-04 | 2022-03-08 | Pure Storage, Inc. | Dynamically resizable structures for approximate membership queries |
US9768953B2 (en) | 2015-09-30 | 2017-09-19 | Pure Storage, Inc. | Resharing of a split secret |
US10762069B2 (en) | 2015-09-30 | 2020-09-01 | Pure Storage, Inc. | Mechanism for a system where data and metadata are located closely together |
US10853266B2 (en) | 2015-09-30 | 2020-12-01 | Pure Storage, Inc. | Hardware assisted data lookup methods |
US9843453B2 (en) | 2015-10-23 | 2017-12-12 | Pure Storage, Inc. | Authorizing I/O commands with I/O tokens |
US10007457B2 (en) | 2015-12-22 | 2018-06-26 | Pure Storage, Inc. | Distributed transactions with token-associated execution |
CN105589775A (zh) * | 2015-12-23 | 2016-05-18 | 苏州汇莱斯信息科技有限公司 | 一种多余度飞控计算机通道故障逻辑算法 |
CN106960675B (zh) * | 2016-01-08 | 2019-07-05 | 株式会社东芝 | 磁盘装置及写入处理方法 |
US10261690B1 (en) | 2016-05-03 | 2019-04-16 | Pure Storage, Inc. | Systems and methods for operating a storage system |
US12235743B2 (en) | 2016-06-03 | 2025-02-25 | Pure Storage, Inc. | Efficient partitioning for storage system resiliency groups |
TWI581093B (zh) * | 2016-06-24 | 2017-05-01 | 慧榮科技股份有限公司 | 資料儲存媒體之損壞資料行的篩選方法 |
CN106158047A (zh) * | 2016-07-06 | 2016-11-23 | 深圳佰维存储科技股份有限公司 | 一种nand flash测试方法 |
US11861188B2 (en) | 2016-07-19 | 2024-01-02 | Pure Storage, Inc. | System having modular accelerators |
US10768819B2 (en) | 2016-07-22 | 2020-09-08 | Pure Storage, Inc. | Hardware support for non-disruptive upgrades |
US9672905B1 (en) | 2016-07-22 | 2017-06-06 | Pure Storage, Inc. | Optimize data protection layouts based on distributed flash wear leveling |
US11604690B2 (en) | 2016-07-24 | 2023-03-14 | Pure Storage, Inc. | Online failure span determination |
US11797212B2 (en) | 2016-07-26 | 2023-10-24 | Pure Storage, Inc. | Data migration for zoned drives |
US10366004B2 (en) | 2016-07-26 | 2019-07-30 | Pure Storage, Inc. | Storage system with elective garbage collection to reduce flash contention |
US11886334B2 (en) | 2016-07-26 | 2024-01-30 | Pure Storage, Inc. | Optimizing spool and memory space management |
US11734169B2 (en) | 2016-07-26 | 2023-08-22 | Pure Storage, Inc. | Optimizing spool and memory space management |
US10203903B2 (en) | 2016-07-26 | 2019-02-12 | Pure Storage, Inc. | Geometry based, space aware shelf/writegroup evacuation |
CN106406754A (zh) * | 2016-08-31 | 2017-02-15 | 北京小米移动软件有限公司 | 数据迁移方法及装置 |
US11422719B2 (en) | 2016-09-15 | 2022-08-23 | Pure Storage, Inc. | Distributed file deletion and truncation |
US10613974B2 (en) | 2016-10-04 | 2020-04-07 | Pure Storage, Inc. | Peer-to-peer non-volatile random-access memory |
US20180095788A1 (en) | 2016-10-04 | 2018-04-05 | Pure Storage, Inc. | Scheduling operations for a storage device |
US9747039B1 (en) | 2016-10-04 | 2017-08-29 | Pure Storage, Inc. | Reservations over multiple paths on NVMe over fabrics |
US10481798B2 (en) | 2016-10-28 | 2019-11-19 | Pure Storage, Inc. | Efficient flash management for multiple controllers |
US10359942B2 (en) | 2016-10-31 | 2019-07-23 | Pure Storage, Inc. | Deduplication aware scalable content placement |
CN106776108A (zh) * | 2016-12-06 | 2017-05-31 | 郑州云海信息技术有限公司 | 一种解决存储磁盘容错的方法 |
US11550481B2 (en) | 2016-12-19 | 2023-01-10 | Pure Storage, Inc. | Efficiently writing data in a zoned drive storage system |
US11307998B2 (en) | 2017-01-09 | 2022-04-19 | Pure Storage, Inc. | Storage efficiency of encrypted host system data |
US11955187B2 (en) | 2017-01-13 | 2024-04-09 | Pure Storage, Inc. | Refresh of differing capacity NAND |
US9747158B1 (en) | 2017-01-13 | 2017-08-29 | Pure Storage, Inc. | Intelligent refresh of 3D NAND |
TWI687933B (zh) * | 2017-03-03 | 2020-03-11 | 慧榮科技股份有限公司 | 資料儲存裝置及其區塊釋放方法 |
US10528488B1 (en) | 2017-03-30 | 2020-01-07 | Pure Storage, Inc. | Efficient name coding |
US11016667B1 (en) | 2017-04-05 | 2021-05-25 | Pure Storage, Inc. | Efficient mapping for LUNs in storage memory with holes in address space |
US10516645B1 (en) | 2017-04-27 | 2019-12-24 | Pure Storage, Inc. | Address resolution broadcasting in a networked device |
US10141050B1 (en) | 2017-04-27 | 2018-11-27 | Pure Storage, Inc. | Page writes for triple level cell flash memory |
US11467913B1 (en) | 2017-06-07 | 2022-10-11 | Pure Storage, Inc. | Snapshots with crash consistency in a storage system |
US11782625B2 (en) | 2017-06-11 | 2023-10-10 | Pure Storage, Inc. | Heterogeneity supportive resiliency groups |
US10425473B1 (en) | 2017-07-03 | 2019-09-24 | Pure Storage, Inc. | Stateful connection reset in a storage cluster with a stateless load balancer |
US10402266B1 (en) | 2017-07-31 | 2019-09-03 | Pure Storage, Inc. | Redundant array of independent disks in a direct-mapped flash storage system |
US10831935B2 (en) | 2017-08-31 | 2020-11-10 | Pure Storage, Inc. | Encryption management with host-side data reduction |
US10789211B1 (en) | 2017-10-04 | 2020-09-29 | Pure Storage, Inc. | Feature-based deduplication |
US11354058B2 (en) | 2018-09-06 | 2022-06-07 | Pure Storage, Inc. | Local relocation of data stored at a storage device of a storage system |
US11024390B1 (en) | 2017-10-31 | 2021-06-01 | Pure Storage, Inc. | Overlapping RAID groups |
US10545687B1 (en) | 2017-10-31 | 2020-01-28 | Pure Storage, Inc. | Data rebuild when changing erase block sizes during drive replacement |
US10496330B1 (en) | 2017-10-31 | 2019-12-03 | Pure Storage, Inc. | Using flash storage devices with different sized erase blocks |
US12067274B2 (en) | 2018-09-06 | 2024-08-20 | Pure Storage, Inc. | Writing segments and erase blocks based on ordering |
US10860475B1 (en) | 2017-11-17 | 2020-12-08 | Pure Storage, Inc. | Hybrid flash translation layer |
US10990566B1 (en) | 2017-11-20 | 2021-04-27 | Pure Storage, Inc. | Persistent file locks in a storage system |
US10976948B1 (en) | 2018-01-31 | 2021-04-13 | Pure Storage, Inc. | Cluster expansion mechanism |
US10467527B1 (en) | 2018-01-31 | 2019-11-05 | Pure Storage, Inc. | Method and apparatus for artificial intelligence acceleration |
US11036596B1 (en) | 2018-02-18 | 2021-06-15 | Pure Storage, Inc. | System for delaying acknowledgements on open NAND locations until durability has been confirmed |
US11016850B2 (en) * | 2018-03-20 | 2021-05-25 | Veritas Technologies Llc | Systems and methods for detecting bit rot in distributed storage devices having failure domains |
US12079494B2 (en) | 2018-04-27 | 2024-09-03 | Pure Storage, Inc. | Optimizing storage system upgrades to preserve resources |
US11385792B2 (en) | 2018-04-27 | 2022-07-12 | Pure Storage, Inc. | High availability controller pair transitioning |
US11500570B2 (en) | 2018-09-06 | 2022-11-15 | Pure Storage, Inc. | Efficient relocation of data utilizing different programming modes |
US11868309B2 (en) | 2018-09-06 | 2024-01-09 | Pure Storage, Inc. | Queue management for data relocation |
CN109545267A (zh) * | 2018-10-11 | 2019-03-29 | 深圳大普微电子科技有限公司 | 闪存自检的方法、固态硬盘以及存储装置 |
US10976947B2 (en) | 2018-10-26 | 2021-04-13 | Pure Storage, Inc. | Dynamically selecting segment heights in a heterogeneous RAID group |
US11194473B1 (en) | 2019-01-23 | 2021-12-07 | Pure Storage, Inc. | Programming frequently read data to low latency portions of a solid-state storage array |
US11099986B2 (en) | 2019-04-12 | 2021-08-24 | Pure Storage, Inc. | Efficient transfer of memory contents |
CN110209519A (zh) * | 2019-06-03 | 2019-09-06 | 深信服科技股份有限公司 | 一种磁盘坏道扫描方法、系统、装置及计算机存储设备 |
US11487665B2 (en) | 2019-06-05 | 2022-11-01 | Pure Storage, Inc. | Tiered caching of data in a storage system |
US11281394B2 (en) | 2019-06-24 | 2022-03-22 | Pure Storage, Inc. | Replication across partitioning schemes in a distributed storage system |
US11893126B2 (en) | 2019-10-14 | 2024-02-06 | Pure Storage, Inc. | Data deletion for a multi-tenant environment |
US11157179B2 (en) | 2019-12-03 | 2021-10-26 | Pure Storage, Inc. | Dynamic allocation of blocks of a storage device based on power loss protection |
CN111026332B (zh) * | 2019-12-09 | 2024-02-13 | 深圳忆联信息系统有限公司 | Ssd坏块信息保护的方法、装置、计算机设备及存储介质 |
US11847331B2 (en) | 2019-12-12 | 2023-12-19 | Pure Storage, Inc. | Budgeting open blocks of a storage unit based on power loss prevention |
US11416144B2 (en) | 2019-12-12 | 2022-08-16 | Pure Storage, Inc. | Dynamic use of segment or zone power loss protection in a flash device |
US11704192B2 (en) | 2019-12-12 | 2023-07-18 | Pure Storage, Inc. | Budgeting open blocks based on power loss protection |
US11188432B2 (en) | 2020-02-28 | 2021-11-30 | Pure Storage, Inc. | Data resiliency by partially deallocating data blocks of a storage device |
US11474986B2 (en) | 2020-04-24 | 2022-10-18 | Pure Storage, Inc. | Utilizing machine learning to streamline telemetry processing of storage media |
US12056365B2 (en) | 2020-04-24 | 2024-08-06 | Pure Storage, Inc. | Resiliency for a storage system |
CN112052129A (zh) * | 2020-07-13 | 2020-12-08 | 深圳市智微智能科技股份有限公司 | 计算机磁盘检测方法、装置、设备及存储介质 |
CN111735976B (zh) * | 2020-08-20 | 2020-11-20 | 武汉生之源生物科技股份有限公司 | 基于检测设备的数据结果自动展示方法 |
CN112162936B (zh) * | 2020-09-30 | 2023-06-30 | 武汉天喻信息产业股份有限公司 | 一种动态增强flash擦写次数的方法及系统 |
US11487455B2 (en) | 2020-12-17 | 2022-11-01 | Pure Storage, Inc. | Dynamic block allocation to optimize storage system performance |
US12067282B2 (en) | 2020-12-31 | 2024-08-20 | Pure Storage, Inc. | Write path selection |
US11847324B2 (en) | 2020-12-31 | 2023-12-19 | Pure Storage, Inc. | Optimizing resiliency groups for data regions of a storage system |
US12093545B2 (en) | 2020-12-31 | 2024-09-17 | Pure Storage, Inc. | Storage system with selectable write modes |
US12229437B2 (en) | 2020-12-31 | 2025-02-18 | Pure Storage, Inc. | Dynamic buffer for storage system |
US11614880B2 (en) | 2020-12-31 | 2023-03-28 | Pure Storage, Inc. | Storage system with selectable write paths |
US12061814B2 (en) | 2021-01-25 | 2024-08-13 | Pure Storage, Inc. | Using data similarity to select segments for garbage collection |
US11507597B2 (en) | 2021-03-31 | 2022-11-22 | Pure Storage, Inc. | Data replication to meet a recovery point objective |
CN113986120B (zh) * | 2021-10-09 | 2024-02-09 | 至誉科技(武汉)有限公司 | 存储设备的坏块管理方法、系统及计算机可读存储介质 |
KR20240114927A (ko) | 2023-01-18 | 2024-07-25 | 삼성전자주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
US12204788B1 (en) | 2023-07-21 | 2025-01-21 | Pure Storage, Inc. | Dynamic plane selection in data storage system |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1182913A (zh) * | 1990-06-21 | 1998-05-27 | 国际商业机器公司 | 恢复受奇偶校验保护数据的方法和装置 |
US7188270B1 (en) * | 2002-11-21 | 2007-03-06 | Adaptec, Inc. | Method and system for a disk fault tolerance in a disk array using rotating parity |
CN101473308A (zh) * | 2006-05-18 | 2009-07-01 | 矽玛特公司 | 非易失性存储器纠错系统和方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100468367C (zh) * | 2003-10-29 | 2009-03-11 | 鸿富锦精密工业(深圳)有限公司 | 固态存储器的安全存储系统及方法 |
US8356126B2 (en) * | 2005-02-07 | 2013-01-15 | Dot Hill Systems Corporation | Command-coalescing RAID controller |
US20060215456A1 (en) * | 2005-03-23 | 2006-09-28 | Inventec Corporation | Disk array data protective system and method |
US7721146B2 (en) * | 2006-05-04 | 2010-05-18 | Dell Products L.P. | Method and system for bad block management in RAID arrays |
WO2008106686A1 (en) * | 2007-03-01 | 2008-09-04 | Douglas Dumitru | Fast block device and methodology |
FR2919401B1 (fr) * | 2007-07-24 | 2016-01-15 | Thales Sa | Procede de test des chemins de donnees dans un circuit electronique |
CN101222637A (zh) * | 2008-02-01 | 2008-07-16 | 清华大学 | 具有特征标志的编码方法 |
US8301942B2 (en) * | 2009-04-10 | 2012-10-30 | International Business Machines Corporation | Managing possibly logically bad blocks in storage devices |
CN101976178B (zh) * | 2010-08-19 | 2012-09-05 | 北京同有飞骥科技股份有限公司 | 一种垂直排布集中校验的节能型磁盘阵列的构建方法 |
CN102033716B (zh) * | 2010-12-01 | 2012-08-22 | 北京同有飞骥科技股份有限公司 | 一种双磁盘容错的节能型磁盘阵列的构建方法 |
US8667326B2 (en) * | 2011-05-23 | 2014-03-04 | International Business Machines Corporation | Dual hard disk drive system and method for dropped write detection and recovery |
-
2012
- 2012-05-09 CN CN201210142205.4A patent/CN103389920B/zh active Active
-
2013
- 2013-04-25 WO PCT/CN2013/074748 patent/WO2013166917A1/zh active Application Filing
- 2013-04-25 US US14/368,453 patent/US20140372838A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1182913A (zh) * | 1990-06-21 | 1998-05-27 | 国际商业机器公司 | 恢复受奇偶校验保护数据的方法和装置 |
US7188270B1 (en) * | 2002-11-21 | 2007-03-06 | Adaptec, Inc. | Method and system for a disk fault tolerance in a disk array using rotating parity |
CN101473308A (zh) * | 2006-05-18 | 2009-07-01 | 矽玛特公司 | 非易失性存储器纠错系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
US20140372838A1 (en) | 2014-12-18 |
CN103389920A (zh) | 2013-11-13 |
WO2013166917A1 (zh) | 2013-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103389920B (zh) | 一种磁盘坏块的自检测方法和装置 | |
US9823967B2 (en) | Storage element polymorphism to reduce performance degradation during error recovery | |
US8977894B2 (en) | Operating a data storage system | |
CN102981927B (zh) | 分布式独立冗余磁盘阵列存储方法及分布式集群存储系统 | |
US9417963B2 (en) | Enabling efficient recovery from multiple failures together with one latent error in a storage array | |
US10025666B2 (en) | RAID surveyor | |
EP2972871B1 (en) | Methods and apparatus for error detection and correction in data storage systems | |
US7315976B2 (en) | Method for using CRC as metadata to protect against drive anomaly errors in a storage array | |
US7353423B2 (en) | System and method for improving the performance of operations requiring parity reads in a storage array system | |
CN103870352B (zh) | 数据存储与重建的方法与系统 | |
US20190129614A1 (en) | Load Balancing of I/O by Moving Logical Unit (LUN) Slices Between Non-Volatile Storage Represented by Different Rotation Groups of RAID (Redundant Array of Independent Disks) Extent Entries in a RAID Extent Table of a Mapped RAID Data Storage System | |
US10120769B2 (en) | Raid rebuild algorithm with low I/O impact | |
CN105468479B (zh) | 一种磁盘阵列raid坏块处理方法及装置 | |
US20090113235A1 (en) | Raid with redundant parity | |
US9058291B2 (en) | Multiple erasure correcting codes for storage arrays | |
CN102708019A (zh) | 一种硬盘数据恢复方法、装置及系统 | |
CN102043685A (zh) | 独立磁盘冗余阵列系统及其数据恢复方法 | |
CN101960429B (zh) | 视频媒体数据存储系统以及相关方法 | |
US7793167B2 (en) | Detection and correction of dropped write errors in a data storage system | |
US7549112B2 (en) | Unique response for puncture drive media error | |
WO2016122515A1 (en) | Erasure multi-checksum error correction code | |
CN102411516A (zh) | 一种raid5数据重建的方法及装置 | |
US10353771B1 (en) | Managing data storage | |
CN111427516A (zh) | Raid重建方法及装置 | |
CN116249969A (zh) | 具有内置冗余的数据存储系统以及恢复和存储数据的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |