CN111930552B - 坏块数据的恢复方法、装置、存储介质及电子设备 - Google Patents
坏块数据的恢复方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN111930552B CN111930552B CN202010553130.3A CN202010553130A CN111930552B CN 111930552 B CN111930552 B CN 111930552B CN 202010553130 A CN202010553130 A CN 202010553130A CN 111930552 B CN111930552 B CN 111930552B
- Authority
- CN
- China
- Prior art keywords
- data
- check
- area
- block
- stripe
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1456—Hardware arrangements for backup
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开一种坏块数据的恢复方法、装置、计算机可读信息介质及电子设备,将每个数据块划分为第一数据区和第二数据区,第一数据区中的数据存储方式为单备份加双异或方式,第二数据区的数据存储方式为双备份加双异或的方式,双异或的方式包括横向异或方式和斜向异或方式,通过两种异或方式分别计算得到第一校验数据和第二校验数据,第一数据区中的每个有效数据既用于计算横向异或,也用于计算斜向异或,当出现任意两个block块的数据损坏时,两个block块的第一数据区的坏块数据能够根据第一校验数据和第二校验数据进行恢复,两个block块的第二数据区的坏块数据能够根据第一校验数据和备份数据进行恢复,能够恢复两个block坏块数据,提升了数据的可靠性。
Description
技术领域
本发明涉及数据恢复领域,尤其涉及一种坏块数据的恢复方法、装置、存储介质及电子设备。
背景技术
目前针对SSD(Solid State Disk,固态硬盘)在使用过程中出现的坏块,一般采用RAID(Redundant Arrays of Independent Disks,磁盘阵列)机制来进行数据恢复。但是,一般的RAID机制,通常只使用异或的方式得到校验数据,而在只使用异或的方式下只能恢复单个block数据。如果出现两个坏块,则有可能出现数据丢失,因为保存的校验数据无法同时恢复两个坏块。如图1所示,其中,校验数据是由处于同一条带的有效数据异或计算而来,即校验数据=有效数据(channel0/cell0/plane0) ^ 有效数据(channel0/cell0/plane1) ^ … ^有效数据(channel1/cell1/plane0),如果其中任何block数据损坏,可以通过反向异或进行恢复,但是,如果出现大于1个block的数据损坏,则无法进行恢复。
发明内容
本发明所要解决的技术问题是:提供一种坏块数据的恢复方法、装置、存储介质及电子设备,能够恢复两个block坏块数据,提升数据可靠性。
为了解决上述技术问题,本发明采用的一种技术方案为:
一种坏块数据的恢复方法,包括步骤:
接收坏块数据恢复请求,根据所述坏块数据恢复请求确定待恢复的数据块,由预设个数的数据块组成数据读写区,所述数据读写区包括第一校验数据和第二校验数据,所述第一校验数据根据所述数据读写区中写入的有效数据之间的横向异或得到,所述第二校验数据根据所述数据读写区中写入的有效数据之间的斜向异或得到,每个数据块包括第一数据区和第二数据区,所述第一数据区中的每个有效数据既用于计算横向异或,也用于计算斜向异或,所述第二数据区包括与每一写入所述第二数据区的有效数据对应的备份数据;
根据所述第一校验数据和第二校验数据恢复待恢复的数据块的第一数据区中对应的坏块数据;
根据所述第一校验数据和备份数据恢复待恢复的数据块的第二数据区中对应的坏块数据。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种坏块数据的恢复装置,包括:
接收模块,用于接收坏块数据恢复请求,根据所述坏块数据恢复请求确定待恢复的数据块,由预设个数的数据块组成数据读写区,所述数据读写区包括第一校验数据和第二校验数据,所述第一校验数据根据所述数据读写区中写入的有效数据之间的横向异或得到,所述第二校验数据根据所述数据读写区中写入的有效数据之间的斜向异或得到,每个数据块包括第一数据区和第二数据区,所述第一数据区中的每个有效数据既用于计算横向异或,也用于计算斜向异或,所述第二数据区包括与每一写入所述第二数据区的有效数据对应的备份数据;
第一坏块数据恢复模块,用于根据所述第一校验数据和第二校验数据恢复待恢复的数据块的第一数据区中对应的坏块数据;
第二坏块数据恢复模块,用于根据所述第一校验数据和备份数据恢复待恢复的数据块的第二数据区中对应的坏块数据。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述一种坏块数据的恢复方法中的各个步骤。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述一种坏块数据的恢复方法中的各个步骤。
本发明的有益效果在于:将每个数据块划分为第一数据区和第二数据区,第一数据区中的数据存储方式为单备份加双异或方式,第二数据区的数据存储方式为双备份加双异或的方式,双异或的方式包括横向异或方式和斜向异或方式,通过两种异或方式分别计算得到第一校验数据和第二校验数据,第一数据区中的每个有效数据既用于计算横向异或,也用于计算斜向异或,当出现任意两个block块的数据损坏时,两个block块的第一数据区的坏块数据能够根据第一校验数据和第二校验数据进行恢复,两个block块的第二数据区的坏块数据能够根据第一校验数据和备份数据进行恢复,能够恢复两个block坏块数据,相对于现有的RAID机制只能恢复一个block坏块数据,提升了数据的可靠性。
附图说明
图1为现有技术中RAID机制的示意图;
图2为本发明实施例的一种坏块数据的恢复方法的步骤流程图;
图3为本发明实施例的一种坏块数据的恢复装置的结构示意图;
图4为本发明实施例的一种电子设备的结构示意图;
图5为本发明实施例的数据块划分的示意图;
图6为本发明实施例的坏块数据恢复的示意图;
图7为本发明实施例的另一种数据块划分的示意图。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
请参照图2,本发明实施例提供了一种坏块数据的恢复方法,包括步骤:
接收坏块数据恢复请求,根据所述坏块数据恢复请求确定待恢复的数据块,由预设个数的数据块组成数据读写区,所述数据读写区包括第一校验数据和第二校验数据,所述第一校验数据根据所述数据读写区中写入的有效数据之间的横向异或得到,所述第二校验数据根据所述数据读写区中写入的有效数据之间的斜向异或得到,每个数据块包括第一数据区和第二数据区,所述第一数据区中的每个有效数据既用于计算横向异或,也用于计算斜向异或,所述第二数据区包括与每一写入所述第二数据区的有效数据对应的备份数据;
根据所述第一校验数据和第二校验数据恢复待恢复的数据块的第一数据区中对应的坏块数据;
根据所述第一校验数据和备份数据恢复待恢复的数据块的第二数据区中对应的坏块数据。
由上述描述可知,本发明的有益效果在于:将每个数据块划分为第一数据区和第二数据区,第一数据区中的数据存储方式为单备份加双异或方式,第二数据区的数据存储方式为双备份加双异或的方式,双异或的方式包括横向异或方式和斜向异或方式,通过两种异或方式分别计算得到第一校验数据和第二校验数据,第一数据区中的每个有效数据既用于计算横向异或,也用于计算斜向异或,当出现任意两个block块的数据损坏时,两个block块的第一数据区的坏块数据能够根据第一校验数据和第二校验数据进行恢复,两个block块的第二数据区的坏块数据能够根据第一校验数据和备份数据进行恢复,能够恢复两个block坏块数据,相对于现有的RAID机制只能恢复一个block坏块数据,提升了数据的可靠性。
进一步的,所述数据读写区的每个条带包括第一校验数据和第二校验数据;
所述第一校验数据根据所述数据读写区中写入的有效数据之间的横向异或得到,所述第二校验数据根据所述数据读写区中写入的有效数据之间的斜向异或得到包括:
所述第一校验数据根据所述第一校验数据所在的条带写入的所有有效数据之间的异或得到,所述第二校验数据根据所述第二校验数据所在的条带写入的有效数据与所述数据读写区中位于所述第二校验数据所在的条带之前的预设个数条带中的有效数据之间的异或得到;
所述根据所述第一校验数据和第二校验数据恢复待恢复的数据块的第一数据区中对应的坏块数据包括:
根据所述第一校验数据和第二校验数据恢复待恢复的数据块的第一数据区中每一条带上对应的坏块数据;
所述根据所述第一校验数据和备份数据恢复待恢复的数据块的第二数据区中对应的坏块数据包括:
根据所述第一校验数据和备份数据恢复待恢复的数据块的第二数据区中每一条带上对应的坏块数据。
由上述描述可知,数据读写区的每个条带均包括第一校验数据和第二校验数据,第一校验数据根据其所在的条带写入的所有有效数据之间的异或得到,第二校验数据根据其所在的条带写入的有效数据和其所在的条带之前预设个数条带中的有效数据之间的异或得到,校验数据既考虑其所在的条带写入的所有有效数据,也考虑位于其所在的条带之前的条带中的有效数据,对于单备份的第一数据区,能够根据第一校验数据和第二校验数据以条带为单位正确地依次恢复出任意两个block的每一个坏块数据。
进一步的,所述根据所述坏块数据恢复请求确定待恢复的数据块之后还包括步骤:
确定待恢复的数据块的个数;
若确定待恢复的数据块的个数为一个,则:
所述根据所述第一校验数据和第二校验数据恢复待恢复的数据块的第一数据区中每一条带上对应的坏块数据包括:
根据所述待恢复的数据块的第一数据区中每一条带的第一校验数据和其余有效数据恢复对应的条带上的坏块数据;
所述根据所述第一校验数据和备份数据恢复待恢复的数据块的第二数据区中每一条带上对应的坏块数据包括:
根据所述待恢复的数据块的第二数据区中的每一条带的备份数据恢复对应的条带上的坏块数据;
若确定待恢复的数据块的个数为两个,则:
所述根据所述第一校验数据和第二校验数据恢复待恢复的数据块的第一数据区中每一条带上对应的坏块数据包括:
根据待恢复的其中一个数据块的第一数据区中每一条带中待恢复的坏块数据对应的第二校验数据和所述第二校验数据对应的有效数据恢复所述待恢复的坏块数据;
根据所述待恢复的数据块的第一数据区中每一条带中已恢复的其中一个数据块的坏块数据、其余有效数据以及所述第一校验数据恢复待恢复的另一个数据块的坏块数据;
所述根据所述第一校验数据和备份数据恢复待恢复的数据块的第二数据区中每一条带上对应的坏块数据包括:
判断待恢复的两个数据块的第二数据区中的数据是否互为备份,若是,则根据所述待恢复的数据块的第二数据区中的每一条带的第一校验数据和其余有效数据恢复对应的条带上的坏块数据;若否,则根据所述待恢复的数据块的第二数据区中的每一条带的备份数据恢复对应的条带上的坏块数据。
由上述描述可知,既可以恢复单个block坏块数据,也可以恢复任意两个block坏块数据,兼容性好,对于要恢复两个block坏块数据的情况,对于第一数据区,先根据第二校验数据和第二校验数据对应的有效数据恢复出其中一个block坏块数据,再根据恢复出的block坏块数据、第一校验数据以及第一校验数据对应的有效数据恢复出另一个block坏块数据,对应第二数据区,先通过备份数据进行坏块数据恢复,如果损坏的是互为备份的数据,则根据第一校验数据和第一校验数据对应的有效数据恢复出坏块数据,根据两个数据区各自的数据存储方式能够方便准确地恢复出任意两个block坏块数据。
进一步的,所述根据待恢复的其中一个数据块的第一数据区中每一条带中待恢复的坏块数据对应的第二校验数据和所述第二校验数据对应的有效数据恢复所述待恢复的坏块数据包括:
确定所述待恢复的其中一个数据块的第一数据区中每一条带中待恢复的坏块数据作为斜向异或计算的元素生成的第二校验数据;
根据所述第二校验数据和用于生成所述第二校验数据的斜向异或计算中除所述待恢复的待坏块数据外的其余有效数据恢复所述待恢复的坏块数据。
由上述描述可知,由于第二校验数据是不同条带的有效数据之间的斜向异或生成的,而第一数据区中的每个有效数据均有参与到斜向异或计算,所以当有两个block坏块数据时,可以根据第二校验数据和与待恢复的坏块数据一起参与斜向异或计算的其它条带的有效数据对待恢复的坏块数据进行恢复,由此保证了能够支持两个block坏块数据的恢复。
进一步的,每一条带包括组成所述数据读写区的各个数据块的相同数据子块;
在进行数据写入时,待一条带的数据写满后,再写下一条带的数据;
根据条带的数据写入顺序依次恢复各个条带上待恢复数据块对应的坏块数据。
由上述描述可知,每一条带由所有数据块的相同数据子块组成,比如有8个数据块:block1、block2,……,block8,则每一条带是由block1(n)、block2(n),……,block8(n)组成,并且是在一条带的数据写满后,再写下一条带的数据,这样不仅方便对block数据的统一管理,而且写入后一个数据子块数据时,不需要等待前一个数据子块写完,能够实现组成条带的各个数据子块并发写入数据,提高了数据处理效率。
进一步的,所述第二数据区包括每个数据块的前N-1个和后N-1个数据子块,或者所述第二数据区包括每个数据块的后N-1个数据子块;
每个数据块的其余数据子块组成所述第一数据区;
所述N大于或者等于所述第一数据区中的条带的有效数据个数。
由上述描述可知,第二数据区有备份数据,存储空间利用率较低,但是数据恢复速度较快,如果两个block数据块互为备份数据,只需要一次计算即可恢复出两个block数据块,如果两个block数据块不是互为备份数据,则直接根据备份数据就可以恢复出两个block数据块;而第一数据区中没有备份数据,存储空间利用率较高,但是其进行两个block数据块的恢复时,需要进行两次计算才能够全部恢复出来,数据恢复速度较慢,所以根据对存储空间利用率和数据恢复速度的权衡,可以对第一数据区和第二数据区进行不同的布局,灵活度高。
进一步的,所述第二校验数据根据所述第二校验数据所在的条带写入的有效数据与所述数据读写区中位于所述第二校验数据所在的条带之前的预设个数条带中的有效数据之间的异或得到包括:
对于第一个条带,其对应的第二校验数据为写入所述第一个条带的第一个有效数据;
对于第二个条带至第M-1个条带,每一个条带对应的第二校验数据为所述第二校验数据所在的条带写入的第一个有效数据与在所述条带之前写入的其余条带中和所述第二校验数据所在的条带的第一个有效数据呈对角关系的有效数据之间的异或;
对于其余条带,每一个条带对应的第二校验数据为所述第二校验数据所在的条带写入的第一个有效数据与在所述条带之前写入的并且和所述条带相邻的连续M-1个条带中与所述第二校验数据所在的条带的第一个有效数据呈对角关系的有效数据之间的异或;
所述M为第一数据区中的条带的有效数据个数。
由上述描述可知,对于前面几个条带的第二校验数据,由于其斜向有效数据不足M个,因此,需要特定的斜向异或计算方式,由此保证了进行数据恢复时的可靠性。
请参照图3,本发明另一实施例提供了一种坏块数据的恢复装置,包括:
接收模块,用于接收坏块数据恢复请求,根据所述坏块数据恢复请求确定待恢复的数据块,由预设个数的数据块组成数据读写区,所述数据读写区包括第一校验数据和第二校验数据,所述第一校验数据根据所述数据读写区中写入的有效数据之间的横向异或得到,所述第二校验数据根据所述数据读写区中写入的有效数据之间的斜向异或得到,每个数据块包括第一数据区和第二数据区,所述第一数据区中的每个有效数据既用于计算横向异或,也用于计算斜向异或,所述第二数据区包括与每一写入所述第二数据区的有效数据对应的备份数据;
第一坏块数据恢复模块,用于根据所述第一校验数据和第二校验数据恢复待恢复的数据块的第一数据区中对应的坏块数据;
第二坏块数据恢复模块,用于根据所述第一校验数据和备份数据恢复待恢复的数据块的第二数据区中对应的坏块数据。
本发明另一实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述一种坏块数据的恢复方法中的各个步骤。
请参照图4,本发明另一实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述一种坏块数据的恢复方法中的各个步骤。
本发明的上述坏块数据的恢复方法、装置、计算机可读介质及电子设备可以应用于任何类型的硬盘的坏块数据恢复,比如固态硬盘等,下面通过具体实施方式进行说明:
实施例一
请参照图2,一种坏块数据的恢复方法,包括步骤:
S1、接收坏块数据恢复请求,根据所述坏块数据恢复请求确定待恢复的数据块;
其中,由预设个数的数据块组成数据读写区,所述数据读写区包括第一校验数据和第二校验数据,所述第一校验数据根据所述数据读写区中写入的有效数据之间的横向异或得到,所述第二校验数据根据所述数据读写区中写入的有效数据之间的斜向异或得到;
横向异或指的是在由写入的有效数据组成的阵列中,处于横向关系的有效数据之间的异或,斜向异或则指的是处于斜向关系的有效数据之间的异或;
如图5所示,Page_6,Page_7,Page_8,Page_9,Page_10是处于横向关系则它们之间的异或是横向异或,Page_30,Page_25,Page_20,Page_15,Page_5是处于斜向关系,则它们之间的异或是斜向异或;
每个数据块包括第一数据区和第二数据区,所述第一数据区中的每个有效数据既用于计算横向异或,也用于计算斜向异或,所述第二数据区包括与每一写入所述第二数据区的有效数据对应的备份数据;
也就是说,第一数据区中的有效数据是单备份,并且每个有效数据均参与到两种类型的异或计算汇总,第二数据区中的有效数据是双备份,即第二数据区中有效数据存储区的一半用于写入有效数据,另一半用于对写入的有效数据的备份;
如图5所示,预设数据区为第二数据区,normal数据区为第一数据区,则预存数据区中的有效数据存储区一半用于写入有效数据,一半用于备份写入的有效数据,比如Page_0、Page_2、Page_4用于写入有效数据,Page_1、Page_3、Page_5则分别用于备份Page_0、Page_2、Page_4中写入的有效数据;
具体的,将数据读写区划分成一个个条带(block stripe),每一条带包括组成所述数据读写区的各个数据块的相同数据子块;
如图5所示,一共有8个block组成数据读写区,每个block有502个物理page,每个page为16kb,将所有plane的相同block子块组成一个条带,比如8个block数据块:block1、block2,……,block8,则每一条带是由block1(n)、block2(n),……,block8(n)组成,即block1(0)、block2(0),……,block8(0)组成一个条带,block1(1)、block2(1),……,block8(1)组成一个条带,……,block1(501)、block2(501),……,block8(501),也就是说,图5所示的数据读写区一共有502个条带;
在进行数据写入时,待一条带的数据写满后,再写下一条带的数据;
在图5中,数据写入的顺序是Page_0,Page_1,……,Page_5,Parity_0_0,Parity_0_1,Page_6,Page_7,……,Page_10,Parity_1_0,Parity_1_1,……,Page_3096,Page_3097,……,Page_3011,Parity_501_0,Parity_501_1;
根据条带的数据写入顺序依次恢复各个条带上待恢复数据块对应的坏块数据;
在图5中,坏块数据的恢复是按照自上而下的顺序依次恢复各个条带上对应的坏块数据;
数据读写区的每个条带均包括第一校验数据和第二校验数据;
每个条带上的第一校验数据根据所述第一校验数据所在的条带写入的所有有效数据之间的异或得到,每个条带上的第二校验数据根据所述第二校验数据所在的条带写入的有效数据与所述数据读写区中位于所述第二校验数据所在的条带之前的预设个数条带中的有效数据之间的异或得到;
如图5所示,对于预存数据区的第一校验数据,由于其写入的有效数据仅存储在一半有效数据存储区中,另一半有效数据存储区用于备份,所以其第一校验数据就是写入的有效数据的异或,比如:
Parity_0_0 = Page_0 ^ Page_2 ^ Page_4;
Parity_1_0 = Page_6 ^ Page_8 ^ Page_10;
而对于normal数据区的第一校验数据,则是其所在的条带前面写入的所有有效数据的异或,比如:
Parity_5_0 = Page_30 ^ Page_31 ^ Page_32 ^ Page_33 ^ Page_34 ^ Page_35;
Parity_6_0 = Page_36 ^ Page_37 ^ Page_38 ^ Page_39 ^ Page_40 ^ Page_41;
其中,每一个条带对应的第二校验数据为所述第二校验数据所在的条带写入的第一个有效数据与在所述条带之前写入的并且和所述条带相邻的连续(M-1)条带中与所述第二校验数据所在的条带的第一个有效数据呈对角关系的有效数据之间的异或;
M的大小等于第一数据区中的条带的有效数据Page个数,如图5所示,该图中normal数据区每一条带的有效数据个数为6个,即条带写入的数据个数减去两个校验数据Parity_x_0(第一校验数据)和Parity_x_1(第二校验数据),x=0,1,……,501,因此,进行斜向异或的有效数据个数也为6;
但是,对于前5个条带,其斜向异或计算的有效数据个数不足6个,因此,对于前5个条带,有特定的计算方式,具体如下:
Parity_0_1 = Page_0;
Parity_1_1 = Page_6 ^ Page_1;
Parity_2_1 = Page_12 ^ Page_7 ^ Page_2;
Parity_3_1 = Page_18 ^ Page_13 ^ Page_8 ^ Page_3;
Parity_4_1 = Page_24 ^ Page_19 ^ Page_14 ^ Page_9 ^ Page_4;
即对于第一个条带,其对应的第二校验数据为写入所述第一个条带的第一个有效数据;
对于第二个条带至第M-1个条带,每一个条带对应的第二校验数据为所述第二校验数据所在的条带写入的第一个有效数据与在所述条带之前写入的其余条带中和所述第二校验数据所在的条带的第一个有效数据呈对角关系的有效数据之间的异或;
对于其余条带,每一个条带对应的第二校验数据为所述第二校验数据所在的条带写入的第一个有效数据与在所述条带之前写入的并且和所述条带相邻的连续M-1个条带中与所述第二校验数据所在的条带的第一个有效数据呈对角关系的有效数据之间的异或;
比如第6个条带,Parity_5_1= Page_30 ^ Page_25 ^ Page_20 ^ Page_15^Page_10 ^ Page_5;
S2、根据所述第一校验数据和第二校验数据恢复待恢复的数据块的第一数据区中对应的坏块数据;
S3、根据所述第一校验数据和备份数据恢复待恢复的数据块的第二数据区中对应的坏块数据;
即以条带为单位,自上而下一个条带一个条带的恢复每一条带上待恢复的数据块对应的坏块数据。
实施例二
本实施例相较于实施例一进一步限定了如何进行坏块数据的恢复,具体的:在根据所述坏块数据恢复请求确定待恢复的数据块之后还包括步骤:
确定待恢复的数据块的个数;
之后根据待恢复的数据块的个数进行对应的坏块数据恢复操作:
若为一个,则:
根据所述待恢复的数据块的第一数据区中每一条带的第一校验数据和其余有效数据恢复对应的条带上的坏块数据;
根据所述待恢复的数据块的第二数据区中的每一条带的备份数据恢复对应的条带上的坏块数据;
由于每个条带都有第一校验数据,第一校验数据是所有写入该条带的有效数据的异或,所有当仅有一个数据块损坏时,可以直接根据第一校验数据和除坏块数据外的其余有效数据进行异或恢复,或者第二数据区中的坏块数据可以直接根据备份数据恢复;
比如,图5中,假设是Channel0/cell0plane0的block数据损坏,则对于预存数据区的比如Page_0可以根据Page_1中备份的数据恢复,或者可以通过:
Page_0=Parity_0_0^Page_2^Page_4恢复;
对于normal存储区的比如Page_36可以通过:
Page_36=Parity_6_0^Page_37^Page_38^Page_39^Page_40^Page_41恢复;
若为两个,则:
对于第一数据区中的数据,首先根据待恢复的其中一个数据块的第一数据区中每一条带中待恢复的坏块数据对应的第二校验数据和所述第二校验数据对应的有效数据恢复所述待恢复的坏块数据;
具体的,确定所述待恢复的其中一个数据块的第一数据区中每一条带中待恢复的坏块数据作为斜向异或计算的元素生成的第二校验数据;
根据所述第二校验数据和用于生成所述第二校验数据的斜向异或计算中除所述待恢复的待坏块数据外的其余有效数据恢复所述待恢复的坏块数据;
接着根据所述待恢复的数据块的第一数据区中每一条带中已恢复的其中一个数据块的坏块数据、其余有效数据以及所述第一校验数据恢复待恢复的另一个数据块的坏块数据;
比如,图6中,假设channel0/cell0/plane0和channel0/cell1/plane0的block数据损坏;
Normal数据区的恢复方法如下:
比如要恢复Page_30和Page_32上的数据,可以先恢复出Page_30,然后通过Parity_5_0和横向有效数据Page,计算出Page_32,具体计算公式如下:
Page_30 = Parity_5_1 ^ Page_25 ^ Page_20 ^ Page_15 ^ Page_10 ^ Page_5;
Page_32 = Parity_5_0 ^ Page_30 ^ Page_31 ^ Page_33 ^ Page_34 ^ Page_35;
依次类推,可以将normal数据区中的其它失效的有效数据全部恢复出来;
假设是channel0/cell1/plane0和channel0/cell1/plane1的block数据损坏;
则比如要恢复Page_32和Page_33上的数据,首先确定出Page_32有参与计算的斜向异或对应的第二校验数据,即Parity_7_1,则通过以下计算式:
Page_32= Parity_7_1 ^ Page_42^ Page_37 ^ Page_27 ^ Page_22 ^ Page_17;
恢复出Page_32;
然后再根据Page_33 = Parity_5_0 ^ Page_30 ^ Page_31 ^ Page_32 ^ Page_34 ^ Page_35恢复出Page_33;
对于第二数据区中的数据,判断待恢复的两个数据块的第二数据区中的数据是否互为备份,若是,则根据所述待恢复的数据块的第二数据区中的每一条带的第一校验数据和其余有效数据恢复对应的条带上的坏块数据;若否,则根据所述待恢复的数据块的第二数据区中的每一条带的备份数据恢复对应的条带上的坏块数据;
如图6中,由于两个数据块中的数据不是互为备份的,所以Page_0的数据可以通过Page_1恢复出来,Page_2中的数据可以通过Page_3恢复出来;
假设channel0/cell0/plane0和channel0/cell0/plane1的block数据损坏,则由于两个数据块在预存数据区中是互为备份的,所以此时通过第一校验数据和其余有效数据异或恢复,比如:
Page_0=Page_1=Parity_0_0^Page_2^Page_4;
依次类推,可以恢复出预存数据区的其余坏块数据。
实施例三
本实施例相较于实施例一或实施例二进一步限定了如何划分第一数据区和第二数据区:
对于第一数据区,数据存储方式是单备份+双异或的方式,所以其存储空间利用率较高,但是其进行两个block数据块的恢复时,需要进行两次计算才能够全部恢复出来,数据恢复速度较慢;而对于第二数据区,数据存储方式是双备份+双异或的方式,存储空间利用率较低,但是数据恢复速度较快,如果两个block数据块互为备份数据,只需要一次计算即可恢复出两个block数据块,如果两个block数据块不是互为备份数据,则直接根据备份数据就可以恢复出两个block数据块;所以实际应用过程中,可以根据实际需求设定第一数据区和第二数据区;
在一个可选的实施方式中,可以如图5所示的布局,所述第二数据区包括每个数据块的前N-1个和后N-1个数据子块,每个数据块的其余数据子块组成所述第一数据区;
其中,N大于或者等于第一数据区中的条带的有效数据个数;
这种方式下每个数据块的前N-1个和后N-1个数据子块可以通过备份数据或者第一校验数据快速恢复;其它数据子块则通过两次异或计算来恢复;
在另一个可选的实施方式中,如图7所示,所述第二数据区包括每个数据块的后N-1个数据子块,每个数据块的其余数据子块组成所述第一数据区;
为了提高存储空间的利用率,可以设置N等于第一数据区中的条带的有效数据个数,即在图5所示的布局中,N取6;
通过对第一数据区、第二数据区的大小和位置的划分,能够对存储空间利用率和数据恢复速度进行合理的权衡。
实施例四
请参照图3,一种坏块数据的恢复装置,包括:
接收模块,用于接收坏块数据恢复请求,根据所述坏块数据恢复请求确定待恢复的数据块,由预设个数的数据块组成数据读写区,所述数据读写区包括第一校验数据和第二校验数据,所述第一校验数据根据所述数据读写区中写入的有效数据之间的横向异或得到,所述第二校验数据根据所述数据读写区中写入的有效数据之间的斜向异或得到,每个数据块包括第一数据区和第二数据区,所述第一数据区中的每个有效数据既用于计算横向异或,也用于计算斜向异或,所述第二数据区包括与每一写入所述第二数据区的有效数据对应的备份数据;
第一坏块数据恢复模块,用于根据所述第一校验数据和第二校验数据恢复待恢复的数据块的第一数据区中对应的坏块数据;
第二坏块数据恢复模块,用于根据所述第一校验数据和备份数据恢复待恢复的数据块的第二数据区中对应的坏块数据。
实施例五
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例一至三中任一个中的一种坏块数据的恢复方法中的各个步骤。
实施例六
请参照图4,一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述实施例一至三中任一个中的一种坏块数据的恢复方法中的各个步骤。
综上所述,本发明提供的一种坏块数据的恢复方法、装置、计算机可读存储介质及电子设备,将每个数据块划分为第一数据区和第二数据区,第一数据区中的数据存储方式为单备份加双异或方式,第二数据区的数据存储方式为双备份加双异或的方式,双异或的方式包括同一条带的有效数据之间的横向异或方式和不同条带的有效数据之间的斜向异或方式,通过两种异或方式分别计算得到第一校验数据和第二校验数据,第一数据区中的每个有效数据既用于计算横向异或,也用于计算斜向异或,当出现任意两个block块的数据损坏时,两个block块的第一数据区的坏块数据能够根据第一校验数据和第二校验数据进行恢复,两个block块的第二数据区的坏块数据能够根据第一校验数据和备份数据进行恢复,能够恢复两个block坏块数据,相对于现有的RAID机制只能恢复一个block坏块数据,提升了数据的可靠性;并且也能够恢复单个block坏块数据,兼容性好,同时可以灵活设置第一数据区和第二数据区的大小和位置,达到数据恢复速度和存储空间利用率的均衡。
在本申请所提供的上述实施例中,应该理解到,所揭露的方法、装置、计算机可读存储介质以及电子设备,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个组件或模块可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或组件或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的组件可以是或者也可以不是物理上分开的,作为组件显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部组件来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个组件单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.一种坏块数据的恢复方法,其特征在于,包括步骤:
接收坏块数据恢复请求,根据所述坏块数据恢复请求确定待恢复的数据块,由预设个数的数据块组成数据读写区,所述数据读写区包括第一校验数据和第二校验数据,所述第一校验数据根据所述数据读写区中写入的有效数据之间的横向异或得到,所述第二校验数据根据所述数据读写区中写入的有效数据之间的斜向异或得到,每个数据块包括第一数据区和第二数据区,所述第一数据区中的每个有效数据既用于计算横向异或,也用于计算斜向异或,所述第二数据区包括与每一写入所述第二数据区的有效数据对应的备份数据;
根据所述第一校验数据和第二校验数据恢复待恢复的数据块的第一数据区中对应的坏块数据;
根据所述第一校验数据和备份数据恢复待恢复的数据块的第二数据区中对应的坏块数据;
所述数据读写区的每个条带包括第一校验数据和第二校验数据;
所述第一校验数据根据所述数据读写区中写入的有效数据之间的横向异或得到,所述第二校验数据根据所述数据读写区中写入的有效数据之间的斜向异或得到包括:
所述第一校验数据根据所述第一校验数据所在的条带写入的所有有效数据之间的异或得到,所述第二校验数据根据所述第二校验数据所在的条带写入的有效数据与所述数据读写区中位于所述第二校验数据所在的条带之前的预设个数条带中的有效数据之间的异或得到;
所述根据所述第一校验数据和第二校验数据恢复待恢复的数据块的第一数据区中对应的坏块数据包括:
根据所述第一校验数据和第二校验数据恢复待恢复的数据块的第一数据区中每一条带上对应的坏块数据;
所述根据所述第一校验数据和备份数据恢复待恢复的数据块的第二数据区中对应的坏块数据包括:
根据所述第一校验数据和备份数据恢复待恢复的数据块的第二数据区中每一条带上对应的坏块数据;
所述根据所述坏块数据恢复请求确定待恢复的数据块之后还包括步骤:
确定待恢复的数据块的个数;
若确定待恢复的数据块的个数为一个,则:
所述根据所述第一校验数据和第二校验数据恢复待恢复的数据块的第一数据区中每一条带上对应的坏块数据包括:
根据所述待恢复的数据块的第一数据区中每一条带的第一校验数据和其余有效数据恢复对应的条带上的坏块数据;
所述根据所述第一校验数据和备份数据恢复待恢复的数据块的第二数据区中每一条带上对应的坏块数据包括:
根据所述待恢复的数据块的第二数据区中的每一条带的备份数据恢复对应的条带上的坏块数据;
若确定待恢复的数据块的个数为两个,则:
所述根据所述第一校验数据和第二校验数据恢复待恢复的数据块的第一数据区中每一条带上对应的坏块数据包括:
根据待恢复的其中一个数据块的第一数据区中每一条带中待恢复的坏块数据对应的第二校验数据和所述第二校验数据对应的有效数据恢复所述待恢复的坏块数据;
根据所述待恢复的数据块的第一数据区中每一条带中已恢复的其中一个数据块的坏块数据、其余有效数据以及所述第一校验数据恢复待恢复的另一个数据块的坏块数据;
所述根据所述第一校验数据和备份数据恢复待恢复的数据块的第二数据区中每一条带上对应的坏块数据包括:
判断待恢复的两个数据块的第二数据区中的数据是否互为备份,若是,则根据所述待恢复的数据块的第二数据区中的每一条带的第一校验数据和其余有效数据恢复对应的条带上的坏块数据;若否,则根据所述待恢复的数据块的第二数据区中的每一条带的备份数据恢复对应的条带上的坏块数据。
2.根据权利要求1所述的一种坏块数据的恢复方法,其特征在于,所述根据待恢复的其中一个数据块的第一数据区中每一条带中待恢复的坏块数据对应的第二校验数据和所述第二校验数据对应的有效数据恢复所述待恢复的坏块数据包括:
确定所述待恢复的其中一个数据块的第一数据区中每一条带中待恢复的坏块数据作为斜向异或计算的元素生成的第二校验数据;
根据所述第二校验数据和用于生成所述第二校验数据的斜向异或计算中除所述待恢复的待坏块数据外的其余有效数据恢复所述待恢复的坏块数据。
3.根据权利要求1至2中任一项所述的一种坏块数据的恢复方法,其特征在于,每一条带包括组成所述数据读写区的各个数据块的相同数据子块;
在进行数据写入时,待一条带的数据写满后,再写下一条带的数据;
根据条带的数据写入顺序依次恢复各个条带上待恢复数据块对应的坏块数据。
4.根据权利要求1至2中任一项所述的一种坏块数据的恢复方法,其特征在于,所述第二数据区包括每个数据块的前N-1个和后N-1个数据子块,或者所述第二数据区包括每个数据块的后N-1个数据子块;
每个数据块的其余数据子块组成所述第一数据区;
所述N大于或者等于所述第一数据区中的条带的有效数据个数。
5.根据权利要求1至2中任一项所述的一种坏块数据的恢复方法,其特征在于,所述第二校验数据根据所述第二校验数据所在的条带写入的有效数据与所述数据读写区中位于所述第二校验数据所在的条带之前的预设个数条带中的有效数据之间的异或得到包括:
对于第一个条带,其对应的第二校验数据为写入所述第一个条带的第一个有效数据;
对于第二个条带至第M-1个条带,每一个条带对应的第二校验数据为所述第二校验数据所在的条带写入的第一个有效数据与在所述条带之前写入的其余条带中和所述第二校验数据所在的条带的第一个有效数据呈对角关系的有效数据之间的异或;
对于其余条带,每一个条带对应的第二校验数据为所述第二校验数据所在的条带写入的第一个有效数据与在所述条带之前写入的并且和所述条带相邻的连续M-1个条带中与所述第二校验数据所在的条带的第一个有效数据呈对角关系的有效数据之间的异或;
所述M为第一数据区中的条带的有效数据个数。
6.一种坏块数据的恢复装置,其特征在于,包括:
接收模块,用于接收坏块数据恢复请求,根据所述坏块数据恢复请求确定待恢复的数据块,由预设个数的数据块组成数据读写区,所述数据读写区包括第一校验数据和第二校验数据,所述第一校验数据根据所述数据读写区中写入的有效数据之间的横向异或得到,所述第二校验数据根据所述数据读写区中写入的有效数据之间的斜向异或得到,每个数据块包括第一数据区和第二数据区,所述第一数据区中的每个有效数据既用于计算横向异或,也用于计算斜向异或,所述第二数据区包括与每一写入所述第二数据区的有效数据对应的备份数据;
第一坏块数据恢复模块,用于根据所述第一校验数据和第二校验数据恢复待恢复的数据块的第一数据区中对应的坏块数据;
第二坏块数据恢复模块,用于根据所述第一校验数据和备份数据恢复待恢复的数据块的第二数据区中对应的坏块数据;
所述数据读写区的每个条带包括第一校验数据和第二校验数据;
所述第一校验数据根据所述数据读写区中写入的有效数据之间的横向异或得到,所述第二校验数据根据所述数据读写区中写入的有效数据之间的斜向异或得到包括:
所述第一校验数据根据所述第一校验数据所在的条带写入的所有有效数据之间的异或得到,所述第二校验数据根据所述第二校验数据所在的条带写入的有效数据与所述数据读写区中位于所述第二校验数据所在的条带之前的预设个数条带中的有效数据之间的异或得到;
所述根据所述第一校验数据和第二校验数据恢复待恢复的数据块的第一数据区中对应的坏块数据包括:
根据所述第一校验数据和第二校验数据恢复待恢复的数据块的第一数据区中每一条带上对应的坏块数据;
所述根据所述第一校验数据和备份数据恢复待恢复的数据块的第二数据区中对应的坏块数据包括:
根据所述第一校验数据和备份数据恢复待恢复的数据块的第二数据区中每一条带上对应的坏块数据;
所述根据所述坏块数据恢复请求确定待恢复的数据块之后还包括步骤:
确定待恢复的数据块的个数;
若确定待恢复的数据块的个数为一个,则:
所述根据所述第一校验数据和第二校验数据恢复待恢复的数据块的第一数据区中每一条带上对应的坏块数据包括:
根据所述待恢复的数据块的第一数据区中每一条带的第一校验数据和其余有效数据恢复对应的条带上的坏块数据;
所述根据所述第一校验数据和备份数据恢复待恢复的数据块的第二数据区中每一条带上对应的坏块数据包括:
根据所述待恢复的数据块的第二数据区中的每一条带的备份数据恢复对应的条带上的坏块数据;
若确定待恢复的数据块的个数为两个,则:
所述根据所述第一校验数据和第二校验数据恢复待恢复的数据块的第一数据区中每一条带上对应的坏块数据包括:
根据待恢复的其中一个数据块的第一数据区中每一条带中待恢复的坏块数据对应的第二校验数据和所述第二校验数据对应的有效数据恢复所述待恢复的坏块数据;
根据所述待恢复的数据块的第一数据区中每一条带中已恢复的其中一个数据块的坏块数据、其余有效数据以及所述第一校验数据恢复待恢复的另一个数据块的坏块数据;
所述根据所述第一校验数据和备份数据恢复待恢复的数据块的第二数据区中每一条带上对应的坏块数据包括:
判断待恢复的两个数据块的第二数据区中的数据是否互为备份,若是,则根据所述待恢复的数据块的第二数据区中的每一条带的第一校验数据和其余有效数据恢复对应的条带上的坏块数据;若否,则根据所述待恢复的数据块的第二数据区中的每一条带的备份数据恢复对应的条带上的坏块数据。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1-5任意一项所述的一种坏块数据的恢复方法中的各个步骤。
8.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-5任意一项所述的一种坏块数据的恢复方法中的各个步骤。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202010553130.3A CN111930552B (zh) | 2020-06-17 | 2020-06-17 | 坏块数据的恢复方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202010553130.3A CN111930552B (zh) | 2020-06-17 | 2020-06-17 | 坏块数据的恢复方法、装置、存储介质及电子设备 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN111930552A CN111930552A (zh) | 2020-11-13 |
| CN111930552B true CN111930552B (zh) | 2024-07-30 |
Family
ID=73317193
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202010553130.3A Active CN111930552B (zh) | 2020-06-17 | 2020-06-17 | 坏块数据的恢复方法、装置、存储介质及电子设备 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN111930552B (zh) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112596679B (zh) * | 2020-12-25 | 2023-10-10 | 深圳忆联信息系统有限公司 | 固态硬盘的raid实现方法、装置、计算机设备及存储介质 |
| CN115543697B (zh) * | 2022-11-30 | 2023-03-10 | 北京网智易通科技有限公司 | 电子档案存储方法、装置、电子设备和存储介质 |
| CN116501553B (zh) * | 2023-06-25 | 2023-09-19 | 苏州浪潮智能科技有限公司 | 数据恢复方法、装置、系统、电子设备及存储介质 |
| CN120704958B (zh) * | 2025-08-28 | 2026-01-27 | 山东云海国创云计算装备产业创新中心有限公司 | Raid数据处理方法、装置、芯片、电子设备、存储介质及计算机程序产品 |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110532128A (zh) * | 2019-08-16 | 2019-12-03 | 西安交通大学 | 一种降低数据更新代价的纠删码编码及数据重构方法 |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101719086B (zh) * | 2009-11-30 | 2012-10-03 | 成都市华为赛门铁克科技有限公司 | 磁盘阵列容错处理方法和装置及容错系统 |
| CN103412799B (zh) * | 2013-07-26 | 2016-08-24 | 华为技术有限公司 | 数据恢复方法、数据恢复设备和分布式存储系统 |
| US20150100819A1 (en) * | 2013-10-03 | 2015-04-09 | Andrey Fedorov | Method of Recovering Data in a Storage Device |
| CN104866243A (zh) * | 2015-05-31 | 2015-08-26 | 上海交通大学 | 优化输入输出负载的raid-6横向斜向校验编码及解码方法 |
| CN104866386B (zh) * | 2015-05-31 | 2018-04-27 | 上海交通大学 | 具有最优更新代价的编码及解码方法 |
| EP3364541B1 (en) * | 2016-12-24 | 2019-08-14 | Huawei Technologies Co., Ltd. | Storage controller, data processing chip, and data processing method |
| CN111124738B (zh) * | 2018-10-31 | 2023-08-18 | 伊姆西Ip控股有限责任公司 | 用于独立冗余磁盘阵列的数据管理方法、设备和计算机程序产品 |
-
2020
- 2020-06-17 CN CN202010553130.3A patent/CN111930552B/zh active Active
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110532128A (zh) * | 2019-08-16 | 2019-12-03 | 西安交通大学 | 一种降低数据更新代价的纠删码编码及数据重构方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN111930552A (zh) | 2020-11-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN111930552B (zh) | 坏块数据的恢复方法、装置、存储介质及电子设备 | |
| CN100495353C (zh) | 数据存储器阵列 | |
| US9798620B2 (en) | Systems and methods for non-blocking solid-state memory | |
| CN101625652B (zh) | 多磁盘容错系统及生成校验块、恢复数据块的方法 | |
| CN101916173B (zh) | 一种基于raid的数据读写方法及其系统 | |
| CN103534688B (zh) | 数据恢复方法、存储设备和存储系统 | |
| US9063869B2 (en) | Method and system for storing and rebuilding data | |
| CN101546249A (zh) | 磁盘阵列在线容量扩展方法 | |
| CN104156174A (zh) | 基于条带的固态硬盘raid实现方法及装置 | |
| US7870464B2 (en) | System and method for recovery of data for a lost sector in a storage system | |
| KR20130097995A (ko) | 비휘발성 메모리 장치의 제어 방법 및 비휘발성 메모리 시스템 | |
| TWI704451B (zh) | 用來進行關於容錯式磁碟陣列的動態復原管理之方法與裝置以及依據該方法來運作之儲存系統 | |
| CN111813609B (zh) | 一种存储介质中数据恢复方法、数据恢复系统及相关设备 | |
| CN107885620B (zh) | 一种提高固态盘阵列性能和可靠性的方法及系统 | |
| CN104461373B (zh) | 一种raid数据处理方法及装置 | |
| CN106933707B (zh) | 基于raid技术的数据存储设备数据恢复方法及系统 | |
| US20170345456A1 (en) | Programmable error-correcting code for a host device | |
| US20050283652A1 (en) | Fault tolerance system and method for one or two failed disks in a disk array | |
| CN115543223A (zh) | 灵活构成磁盘阵列卡的方法、介质、设备及磁盘阵列卡 | |
| CN114625563B (zh) | Ssd的数据保护方法、装置、可读存储介质及电子设备 | |
| CN113424262B (zh) | 一种存储校验方法及装置 | |
| CN104461383B (zh) | 一种独立磁盘冗余阵列的实现方法及装置 | |
| CN111506259B (zh) | 数据存储、读取方法、装置、设备及可读存储介质 | |
| CN111897676A (zh) | 一种基于数据库索引的文件备份方法及装置 | |
| CN114610245B (zh) | 基于ssd的raid实现方法、装置、可读存储介质及电子设备 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| CB02 | Change of applicant information |
Address after: 518000 floors 1-3 and 4 of buildings 4 and 8, zone 2, Zhongguan honghualing Industrial South Zone, No. 1213 Liuxian Avenue, Pingshan community, Taoyuan Street, Nanshan District, Shenzhen, Guangdong Applicant after: BIWIN STORAGE TECHNOLOGY Co.,Ltd. Address before: 518000 1st, 2nd, 4th and 6th floors of No.4 factory building of tongfuyu industrial city, Taoyuan Street, Nanshan District, Shenzhen City, Guangdong Province Applicant before: BIWIN STORAGE TECHNOLOGY Co.,Ltd. |
|
| CB02 | Change of applicant information | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |