CN102708019A - 一种硬盘数据恢复方法、装置及*** - Google Patents
一种硬盘数据恢复方法、装置及*** Download PDFInfo
- Publication number
- CN102708019A CN102708019A CN2012101320953A CN201210132095A CN102708019A CN 102708019 A CN102708019 A CN 102708019A CN 2012101320953 A CN2012101320953 A CN 2012101320953A CN 201210132095 A CN201210132095 A CN 201210132095A CN 102708019 A CN102708019 A CN 102708019A
- Authority
- CN
- China
- Prior art keywords
- hard disk
- data
- lba
- block address
- physical block
- 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.)
- Granted
Links
Images
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/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/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1883—Methods for assignment of alternate areas for defective areas
-
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2082—Data synchronisation
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1879—Direct read-after-write methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1883—Methods for assignment of alternate areas for defective areas
- G11B2020/1893—Methods for assignment of alternate areas for defective areas using linear replacement to relocate data from a defective block to a non-contiguous spare area, e.g. with a secondary defect list [SDL]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种硬盘数据恢复方法、装置及***,该方法包括:当从硬盘中读取数据发现错误时,记录发生错误的数据在硬盘中对应的逻辑块地址;根据预设算法对所述逻辑块地址对应的第一物理块地址的数据执行恢复操作,得到恢复数据;向硬盘发送写入恢复数据到逻辑块地址的指令,以使硬盘根据所述指令将所述恢复数据写入所述逻辑块地址;其中,所述逻辑块地址对应重映射后的第二物理块地址。本发明还公开了一种硬盘数据恢复装置及***。本发明的目的在于提供一种硬盘数据恢复方法、装置及***,将通过预设算法得到的恢复数据写入重映射后的新的物理块地址对应的扇区,能够快速修复硬盘的错误扇区或坏块,提高了硬盘错误扇区或硬盘坏块的修复效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种硬盘数据恢复方法、装置及***。
背景技术
目前,常用的硬盘包括机械硬盘和固态硬盘,由于机械硬盘容易受温度、振动的影响而出现读写错误,且固态硬盘自身固有的擦写次数限制和坏块率也会导致读写错误。虽然硬盘具有纠错能力,但其只能通过自身纠错算法纠正错误位数较少的错误数据,其纠错能力是有限的。
现有技术中,当错误数据的错误位数太多,硬盘无法通过自身纠错算法进行纠错时,存储控制器多采用RAID(Redundant Array of Independent Disks,独立磁盘的冗余阵列)算法纠正错误数据,并通过重建或格式化操作对硬盘数据进行恢复。若在重建操作的过程中硬盘阵列中的其他硬盘出现错误,硬盘中的数据将无法恢复;而格式化操作需要进行整个磁道的数据读取、格式化和两次数据写入操作,第一次为将整个磁道的数据(包括通过RAID算法得到的恢复数据及错误数据所在磁道上的其他数据)写入保留区域,第二次为将整个磁道的数据写入格式化完成后的磁道上,操作繁琐,比较费时,而且保留区域是用来保存硬盘的参数和配置信息,进行第一次数据写入操作时会带来较大的风险。
发明内容
本发明实施例提供一种硬盘数据恢复方法、装置及***,用以提高硬盘错误扇区或硬盘坏块的修复效率。
为了解决上述技术问题,本发明实施例提供了一种硬盘数据恢复方法,该方法包括:
当从硬盘中读取数据发现错误时,记录发生错误的数据在所述硬盘中对应的逻辑块地址;
根据预设算法对所述逻辑块地址对应的第一物理块地址的数据执行恢复操作,得到恢复数据;
向所述硬盘发送写入所述恢复数据到所述逻辑块地址的指令,以使所述硬盘根据所述指令将所述恢复数据写入所述逻辑块地址;其中,所述逻辑块地址对应重映射后的第二物理块地址。
相应地,本发明实施例还提供了一种硬盘数据恢复装置,该装置包括:
记录模块,用于当从硬盘中读取数据发现错误时,记录发生错误的数据在所述硬盘中对应的逻辑块地址;
恢复模块,用于根据预设算法对所述逻辑块地址对应的第一物理块地址的数据执行恢复操作,得到恢复数据;
触发模块,用于向所述硬盘发送写入所述恢复数据到所述逻辑块地址的指令,以使所述硬盘根据所述指令将所述恢复数据写入所述逻辑块地址;其中,所述逻辑块地址对应重映射后的第二物理块地址。
另外,本发明实施例还提供一种存储***,该存储***包括存储控制器和与所述存储控制器具有通信连接的硬盘阵列,该存储控制器包括本发明实施例提供的硬盘数据恢复装置。
实施本发明实施例,具有如下有益效果:
本发明实施例通过当从硬盘中读取数据发现错误时,记录发生错误的数据在所述硬盘中对应的逻辑块地址;根据预设算法对所述逻辑块地址对应的物理块地址的数据执行恢复操作,得到恢复数据;向所述硬盘发送写入所述恢复数据到所述逻辑块地址的指令,以使所述硬盘根据所述指令将所述恢复数据写入所述逻辑块地址;其中,所述逻辑块地址对应重映射后的新的物理块地址,从而使用硬盘内其它的扇区或块(例如硬盘冗余区的扇区)快速、方便地代替错误数据所在的错误扇区或坏块,将通过预设算法得到的恢复数据写入重映射后的新的物理块地址对应的扇区,能够快速修复硬盘的错误扇区或坏块,提高了硬盘错误扇区或硬盘坏块的修复效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的存储***的结构示意图;
图2为本发明实施例提供的一硬盘数据恢复装置的结构示意图;
图3为本发明实施例提供的逻辑块地址和物理块地址的重映射示意图;
图4为本发明实施例提供的另一硬盘数据恢复装置的结构示意图;
图5为本发明实施例的硬盘数据恢复方法的方法流程示意图;
图6为本发明实施例的另一硬盘数据恢复方法的方法流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参见图1,为本发明实施例提供的存储***的结构示意图。所述***包括:存储控制器01和硬盘阵列02。
具体的,所述存储控制器01包括一硬盘数据恢复装置03,所述硬盘阵列02可包括至少两个HDD(Hard Disk Drive,机械硬盘)或SSD(Solid State Drive,固态硬盘)。
所述硬盘阵列02可由至少两个硬盘组成具有检错纠错能力的硬盘阵列,如RAID1或RAID5,所述存储控制器01可根据不同的硬盘阵列采用不同的纠错算法。
具体的,RAID1又称为Mirror或Mirroring,是由两个硬盘组成镜像,两个硬盘中保存了相同的数据,其原理就是将一块硬盘的数据以相同位置指向另一块硬盘的位置。当其中一个硬盘中出现错误数据时,所述存储控制器01可以从另一个硬盘中直接得到对应的正确数据。而RAID5是将数据按条带方式保存在至少3个硬盘中,当其中一个硬盘出现数据错误时,所述存储控制器01可以通过异或算法根据其他硬盘中的数据得到对应的正确数据。这些都是现有技术,不再赘述。
进一步的,请参见图2,为本发明实施例提供的一硬盘数据恢复装置03的结构示意图。该硬盘数据恢复装置03用于当从硬盘(硬盘阵列02中的一个硬盘)中读取数据发现错误时,记录发生错误的数据在所述硬盘中对应的逻辑块地址;根据预设算法对所述逻辑块地址对应的第一物理块地址的数据执行恢复操作,得到恢复数据;向所述硬盘发送写入所述恢复数据到所述逻辑块地址的指令,以使所述硬盘根据所述指令将所述恢复数据写入所述逻辑块地址;其中,所述逻辑块地址对应重映射后的第二物理块地址。本领域普通技术人员应当理解的是,“预设算法”在本发明实施例中可以是RAID纠错算法,在其它等同实施例中也可以是其它的数据恢复方法,本发明对此不做限定。
具体的,该硬盘数据恢复装置03可以包括:记录模块031、恢复模块032及触发模块033,其中:
记录模块031,用于当从硬盘中读取数据发现错误时,记录发生错误的数据在所述硬盘中对应的逻辑块地址。
具体的,在本实施例中,假设所述硬盘数据恢复装置03从硬盘A中读取数据,所述硬盘A与另一硬盘B组成一适用纠错算法为RAID1算法的硬盘阵列02。
当所述硬盘数据恢复装置03从所述硬盘A中读取数据时,会向所述硬盘A发送所述数据所在的逻辑块地址(Logical Block Address,LBA)。如果所述硬盘A中出现了错误数据,所述硬盘A会向所述硬盘数据恢复装置03上报校验错误信息,所述校验错误信息中包括所述错误数据所在的逻辑块地址。当所述硬盘数据恢复装置03从所述硬盘A中读取数据时,发现错误数据,所述记录模块031则记录所述错误数据对应的逻辑块地址。
需要说明的是,本发明实施例针对的错误数据为位数超过硬盘A预设的阈值,硬盘A通过自身纠错算法无法纠正的错误数据。当错误数据的位数低于预设的阈值时,硬盘A可通过自身纠错算法得到对应的正确数据。
恢复模块032,用于根据预设算法对所述记录模块031记录的逻辑块地址对应的第一物理块地址的数据执行恢复操作,得到恢复数据。
具体的,对应于本实施例中所述硬盘A与另一硬盘B组成的适用纠错算法为RAID1算法的硬盘阵列02,所述预设算法为RAID1。
当然,根据硬盘阵列02的不同,所述恢复模块032执行恢复操作采用的算法也不同,在此不赘述。
恢复模块032可以采用RAID1算法对所述记录模块031发现的错误数据执行恢复操作,在另一个正常的硬盘B中的与所述记录模块031记录的逻辑块地址相同的逻辑块地址所对应的物理块地址上读取所述错误数据对应的正确数据,得到恢复数据。
其中,PBA(Physical Block Address,物理块地址)为数据在硬盘中实际所在扇区的地址,所述第一物理快地址为所述错误数据在所述硬盘A中的扇区的地址。
具体的,每个硬盘都有LBA(Logical Block Address,逻辑块地址)-PBA映射表,用来记录该硬盘的逻辑块地址与物理块地址之间的对应关系。每个逻辑块地址都有一个与之对应的物理块地址。
硬盘数据恢复装置03是根据逻辑块地址对所述硬盘A进行访问的,当所述硬盘数据恢复装置03从所述硬盘A中读取数据时,向所述硬盘A发送数据所在的逻辑块地址,逻辑块地址进入硬盘之后会根据所述LBA-PBA映射表翻译成物理快地址,即可实现所述硬盘数据恢复装置03对所述硬盘A的内部某个扇区的寻址。
触发模块033,用于向所述硬盘发送写入所述恢复数据到所述逻辑块地址的指令,以使所述硬盘根据所述指令将所述恢复模块032得到的恢复数据写入所述记录模块031记录的逻辑块地址;其中,所述逻辑块地址对应重映射后的第二物理块地址。
具体的,当所述恢复模块032得到恢复数据后,所述触发模块033向所述硬盘A发送写入所述恢复数据到所述逻辑块地址的指令,以使所述硬盘A根据所述指令将所述恢复模块032得到的恢复数据写入所述记录模块031记录的逻辑块地址。
其中,所述逻辑块地址对应重映射后的第二物理块地址。
当所述硬盘A根据所述指令将所述恢复模块032得到的恢复数据写入所述记录模块031记录的逻辑块地址时,需执行重映射操作,即将所述恢复模块032得到的恢复数据写入所述硬盘A中的一个新的物理块地址,此新的物理块地址即为所述第二物理块地址。此时需要刷新所述LBA-PBA映射表,使所述第二物理块地址代替所述第一物理块地址,即实现了所述硬盘A中错误数据的恢复。
优选的,所述第二物理块地址指向的是硬盘A冗余区的物理块;在其它实现方式下,所述第二物理块地址还可以指向硬盘A中除冗余区之外的空闲的物理块。
此时,所述逻辑块地址对应的物理块地址发生了变化,但由于所述硬盘数据恢复装置03是根据逻辑块地址对所述硬盘A进行访问的,所述硬盘数据恢复装置03看不到物理块地址发生了变化,仍然可以按照所述逻辑块地址来访问所述硬盘A,不会对所述硬盘数据恢复装置03的正常操作带来任何影响。
假设所述硬盘A共有60个物理块地址,其中物理块地址1-50属于用户区,物理块地址51-60属于冗余区。图3为逻辑块地址和物理块地址的重映射的示意图,表1为所述触发模块033向所述硬盘A发送写入所述恢复数据到所述逻辑块地址的指令前的所述LBA-PBA映射表;表2为所述触发模块033向所述硬盘A发送写入所述恢复数据到所述逻辑块地址的指令后的所述LBA-PBA映射表。
表1
逻辑块地址 | 物理块地址 |
1 | 1 |
2 | 2 |
3 | 3 |
4 | 4 |
表2
逻辑块地址 | 物理块地址 |
1 | 1 |
2 | 2 |
3 | 3 |
4 | 51 |
进一步可选的,如图4所示,为本发明实施例提供的另一硬盘数据恢复装置,所述硬盘数据恢复装置03包括上述实施例中的记录模块031、恢复模块032及触发模块033,本实施例中,所述硬盘数据恢复装置03还包括:确定模块034,其中:
所述确定单元034,用于确定所述硬盘的冗余区是否有剩余空间;若所述硬盘的冗余区有剩余空间,则执行所述向所述硬盘发送写入所述恢复数据到所述逻辑块地址的指令的步骤;若所述硬盘的冗余区无剩余空间,则执行硬盘重建操作。
具体的,HDD在设计时设置了一些冗余扇区,所述硬盘数据恢复装置03或上层软件看不到这些冗余扇区,只有硬盘自身可以看到这些冗余扇区。冗余扇区用来代替出现错误数据的扇区。
同理,SSD在设计时设置了一些冗余块。每个SSD都是由多个块组成的,每个块内包括多个页,它是SSD进行数据读写的最小单位,相当于HDD的扇区,SSD的一个逻辑块地址对应于块中的一个页。当某个块的擦除次数过多就会失效,不能再执行正常的写操作。此外,块还会发生整体失效。
在本发明实施例中,所述冗余扇区及所述冗余块统称为冗余区。
由于硬盘上的冗余区容量是有限的,而且不同的硬盘生产厂家的冗余区设置不同,如果错误数据较多,已发生了多次重映射,冗余区可能会不够用。某些硬盘在S.M.A.R.T(Self Monitoring Analysis And Reporting Technology,自我监测、分析和报告技术)属性里面会提供一些冗余区的信息,例如已经执行了多少次重映射,还有多少个待执行的重映射,冗余区还剩多少空间等。
为确保所述恢复数据可以顺利写入所述硬盘A的冗余区中,需所述确定模块034确定所述硬盘A的冗余区是否有剩余空间。
具体的,若所述确定模块034确定出所述硬盘A的冗余区有剩余空间,则通知触发模块033向所述硬盘发送写入所述恢复数据到所述逻辑块地址的指令,以使所述硬盘根据所述指令将所述恢复模块032得到的恢复数据写入所述记录模块031记录的逻辑块地址。
若所述确定模块034确定出所述硬盘A的冗余区无剩余空间,则所述硬盘A无法进行重映射操作,即表明所述硬盘A内存在一个无法修复的错误扇区或坏块,需要执行硬盘重建操作,具体的:所述硬盘数据恢复装置03读取所述硬盘A内的所有数据(包括所述恢复模块032得到的恢复数据及其他数据),然后统一写入热备盘。所述热备盘为在所述硬盘阵列中预先设置的一个或多个只保持通电状态但不参与数据读写操作的硬盘。
当然,根据用户的具体策略,所述硬盘数据恢复装置03也可以先不执行硬盘重建操作,而是等无法恢复的错误数据累积到一定数量之后再执行硬盘重建操作。此为现有技术,不再赘述。
进一步可选的,如图4所示,所述硬盘数据恢复装置03还包括:
对比模块035,用于读取所述逻辑块地址中写入的所述恢复数据,与所述恢复模块032根据预设算法对所述逻辑块地址对应的第一物理块地址的数据执行恢复操作得到的恢复数据进行对比,判断两者是否一致;若一致,则表明写入成功;若不一致,则表明写入失败,执行硬盘重建操作。
具体的,所述硬盘A向所述第二物理块地址写入所述恢复模块032得到的恢复数据时有可能出错,因此为了确保所述恢复数据的正确写入,还需要所述硬盘数据恢复装置03执行确认操作。
则所述对比模块035读取所述硬盘A向所述第二逻辑块地址写入的所述恢复数据,与所述恢复模块032得到的恢复数据进行对比,判断两者是否一致,以此来判断所述恢复数据是否正确写入。
若所述对比模块035确定出所述硬盘A向所述第二逻辑块地址写入的所述恢复数据与所述恢复模块032得到的恢复数据不一致,则所述硬盘数据恢复装置03执行硬盘重建操作。
具体的,若所述对比模块035确定出所述硬盘A向所述第二逻辑块地址写入的所述恢复数据与所述恢复模块032得到的恢复数据不一致,则表明写入失败,产生原因可能是所述硬盘A中的冗余区存在问题,则所述硬盘A无法进行重映射操作,即表明所述硬盘A内存在一个无法修复的错误扇区或坏块,需要执行硬盘重建操作,具体的:所述硬盘数据恢复装置03读取所述硬盘A内的所有数据(包括所述恢复模块032得到的恢复数据及其他数据),然后统一写入热备盘。所述热备盘为在所述硬盘阵列中预先设置的一个或多个只保持通电状态但不参与数据读写操作的硬盘。
当然,根据用户的具体策略,所述硬盘数据恢复装置03也可以先不执行硬盘重建操作,而是等无法恢复的错误数据累积到一定数量之后再执行硬盘重建操作。此为现有技术,在此不赘述。
进一步的,如图4所示,所述硬盘数据恢复装置03还包括:
判断模块036,用于判断所述硬盘是否上报校验错误信息;若否,则表明写入成功;若是,则表明写入失败,执行硬盘重建操作。
具体的,所述硬盘数据恢复装置03也可以通过所述判断模块036判断所述硬盘A是否上报校验错误信息的方式来确定所述恢复数据是否正确写入。
为了保证数据读写的可靠性,HDD的每个扇区保存了数据和与数据对应的检错纠错码。当数据准备写入扇区时,HDD先计算出对应的检错纠错码,然后将它和数据一起写入。当数据被读取时,检错纠错码也同时被读取,硬盘会进行校验,如果校验不通过则说明数据存在错误。当数据错误的位数较少时,例如每个扇区不超过20个字节,HDD通过自身纠错算法能够将其纠正,读出的数据仍然是正确的。如果数据错误的位数太多而无法纠正,HDD就会向与之相连的硬盘数据恢复装置03上报校验错误信息,将纠错的任务交给硬盘数据恢复装置03来完成。
同理,SSD一般是由很多闪存颗粒组成的,虽然在物理上没有扇区的概念,但SSD可以将数据和与数据对应的检错纠错码保存到每一片闪存颗粒上,从而实现类似的容错功能,当然SSD的纠错能力同样也是有限的。
因此,通过所述判断模块036判断所述硬盘A是否上报校验错误信息,可以确定所述恢复数据是否正确写入。
若所述判断模块036判断出所述硬盘A上报了校验错误信息,则所述硬盘数据恢复装置03执行硬盘重建操作。
具体的,所述判断模块036判断出所述硬盘A上报了校验错误信息,则表明写入失败,产生原因可能是所述硬盘A中的冗余区存在问题,无法实现错误数据的恢复,即表明所述硬盘A内存在一个无法修复的错误扇区或坏块,需要执行硬盘重建操作,具体的:所述硬盘数据恢复装置03读取所述硬盘A内的所有数据(包括所述恢复模块032得到的恢复数据及其他数据),然后统一写入热备盘。所述热备盘为在所述硬盘阵列中预先设置的一个或多个只保持通电状态但不参与数据读写操作的硬盘。
当然,根据用户的具体策略,所述硬盘数据恢复装置03也可以先不执行硬盘重建操作,而是等无法恢复的错误数据累积到一定数量之后再执行硬盘重建操作。此为现有技术,在此不赘述。
进一步的,如图4所示,所述硬盘数据恢复装置03还包括:
报告模块037,用于向操作***上报所述恢复模块032得到的恢复数据,以使所述操作***根据所述恢复数据执行相应的业务。
具体的,当所述恢复模块032根据预设算法得到所述恢复数据时,所述报告模块037即将所述恢复数据上报给操作***,以使所述操作***根据所述恢复数据执行相应的业务。
需说明的是,以上模块划分只是举例而言,本领域普通技术人员可以根据本发明实施例所述方法获得其它的模块划分方式,进而实现本发明。
综上所述,本发明实施例通过当从硬盘中读取数据发现错误时,记录发生错误的数据在所述硬盘中对应的逻辑块地址;根据预设算法对所述逻辑块地址对应的物理块地址的数据执行恢复操作,得到恢复数据;向所述硬盘发送写入所述恢复数据到所述逻辑块地址的指令,以使所述硬盘根据所述指令将所述恢复数据写入所述逻辑块地址;其中,所述逻辑块地址对应重映射后的新的物理块地址,从而使用硬盘内其它的扇区或块(例如硬盘冗余区的扇区)快速、方便地代替错误数据所在的错误扇区或坏块,将通过预设算法得到的恢复数据写入重映射后的新的物理块地址对应的扇区,能够快速修复硬盘的错误扇区或坏块,提高了硬盘错误扇区或硬盘坏块的修复效率。
请参见图5,为本发明实施例的硬盘数据恢复方法的方法流程示意图,所述方法包括:
S101,当从硬盘中读取数据发现错误时,记录发生错误的数据在所述硬盘中对应的逻辑块地址。
具体的,在本实施例中,假设从硬盘A中读取数据,所述硬盘A与另一硬盘B组成一适用纠错算法为RAID1算法的硬盘阵列。
当所述硬盘数据恢复装置从所述硬盘A中读取数据时,会向所述硬盘A发送所述数据所在的逻辑块地址。如果所述硬盘A中出现了错误数据,所述硬盘A会向所述硬盘数据恢复装置上报校验错误信息,所述校验错误信息中包括所述错误数据所在的逻辑块地址。当所述硬盘数据恢复装置从所述硬盘A中读取数据时,发现错误数据,则记录所述错误数据对应的逻辑块地址。
需要说明的是,本发明实施例针对的错误数据为位数超过硬盘A预设的阈值,硬盘A通过自身纠错算法无法纠正的错误数据。当错误数据的位数低于预设的阈值时,硬盘A可通过自身纠错算法得到对应的正确数据。
S102,根据预设算法对所述逻辑块地址对应的第一物理块地址的数据执行恢复操作,得到恢复数据。
具体的,对应于本实施例中所述硬盘A与另一硬盘B组成的适用纠错算法为RAID1算法的硬盘阵列,所述预设算法为RAID1。
当然,根据硬盘阵列的不同,所述硬盘数据恢复装置执行恢复操作采用的算法也不同,在此不赘述。
所述硬盘数据恢复装置采用RAID1算法对错误数据执行恢复操作,在另一个正常的硬盘B中的相同的逻辑块地址所对应的物理块地址上读取所述错误数据对应的正确数据,得到恢复数据。
其中,所述物理块地址为数据在硬盘中实际所在扇区的地址,所述第一物理快地址为所述错误数据在所述硬盘A中的扇区的地址。
具体的,每个硬盘都有一个LBA-PBA映射表,用来记录该硬盘的逻辑块地址与物理快地址之间的对应关系。每个逻辑块地址都有一个对应的物理快地址。
所述硬盘数据恢复装置是根据逻辑块地址对所述硬盘A进行访问的,当所述硬盘数据恢复装置从所述硬盘A中读取数据时,向所述硬盘A发送数据所在的逻辑块地址,逻辑块地址进入硬盘之后会根据所述LBA-PBA映射表翻译成物理快地址,即可实现所述硬盘数据恢复装置对所述硬盘A的内部某个扇区的寻址。
S103,向所述硬盘发送写入所述恢复数据到所述逻辑块地址的指令,以使所述硬盘根据所述指令将所述恢复数据写入所述逻辑块地址;其中,所述逻辑块地址对应重映射后的第二物理块地址。
具体的,当所述硬盘数据恢复装置得到恢复数据后,即向所述硬盘A发送写入所述恢复数据到所述逻辑块地址的指令,以使所述硬盘A根据所述指令将所述恢复数据写入所述逻辑块地址。其中,所述逻辑块地址对应重映射后的第二物理块地址。
当所述硬盘A根据所述指令将所述恢复数据写入所述逻辑块地址时,需执行重映射操作,即将所述恢复数据写入所述硬盘A中的一个新的物理块地址,即得到所述第二物理块地址。此时需要刷新所述LBA-PBA映射表,使所述第二物理块地址代替所述第一物理块地址,即实现了所述硬盘A中错误数据的恢复。
优选的,所述第二物理块地址指向的是硬盘A冗余区的物理块;在其它实现方式下,所述第二物理块地址还可以指向硬盘A中除冗余区之外的空闲的物理块。
此时,所述逻辑块地址对应的物理块地址发生了变化,但由于硬盘数据恢复装置是根据逻辑块地址对硬盘进行访问的,所述硬盘数据恢复装置看不到物理块地址发生了变化,仍然可以按照所述逻辑块地址来访问所述硬盘,不会对所述硬盘数据恢复装置的正常操作带来任何影响。
所述硬盘数据恢复装置向所述硬盘A发送写入所述恢复数据到所述逻辑块地址的指令前的所述LBA-PBA映射表请再次参见表1;所述硬盘数据恢复装置向所述硬盘A发送写入所述恢复数据到所述逻辑块地址的指令后的所述LBA-PBA映射表请再次参见表2。
本发明实施例通过当从硬盘中读取数据发现错误时,记录发生错误的数据在所述硬盘中对应的逻辑块地址;根据预设算法对所述逻辑块地址对应的物理块地址的数据执行恢复操作,得到恢复数据;向所述硬盘发送写入所述恢复数据到所述逻辑块地址的指令,以使所述硬盘根据所述指令将所述恢复数据写入所述逻辑块地址;其中,所述逻辑块地址对应重映射后的新的物理块地址,从而使用硬盘内其它的扇区或块(例如硬盘冗余区的扇区)快速、方便地代替错误数据所在的错误扇区或坏块,将通过预设算法得到的恢复数据写入重映射后的新的物理块地址对应的扇区,能够快速修复硬盘的错误扇区或坏块,提高了硬盘错误扇区或硬盘坏块的修复效率。
请参见图6,为本发明实施例的另一硬盘数据恢复方法的方法流程示意图。所述方法包括:
S201,当从硬盘中读取数据发现错误时,记录发生错误的数据在所述硬盘中对应的逻辑块地址。
S202,根据预设算法对所述逻辑块地址对应的第一物理块地址的数据对所述错误数据执行恢复操作,得到恢复数据。
S203,向操作***上报所述恢复数据,以使所述操作***根据所述恢复数据执行相应的业务。
具体的,当硬盘数据恢复模块根据预设算法得到所述恢复数据时,即将所述恢复数据上报给操作***,以使所述操作***根据所述恢复数据执行相应的业务。
S204,确定所述硬盘的冗余区是否有剩余空间。若是,则执行S205;否则,执行S207。
具体的,HDD在设计时设置了一些冗余扇区,硬盘数据恢复装置或上层软件看不到这些冗余扇区,只有硬盘自身可以看到这些冗余扇区。冗余扇区用来代替出现错误数据的扇区。
同理,SSD在设计时设置了一些冗余块。每个SSD都是由多个块组成的,每个块内包括多个页,它是SSD进行数据读写的最小单位,相当于HDD的扇区,SSD的一个逻辑块地址对应于块中的一个页。当某个块的擦除次数过多就会失效,不能再执行正常的写操作。此外,块还会发生整体失效。
在本发明实施例中,所述冗余扇区及所述冗余块统称为冗余区。
由于硬盘上的冗余区容量是有限的,而且不同的硬盘生产厂家的冗余区设置不同,如果错误数据较多,已发生了多次重映射,冗余区可能会不够用。某些硬盘在S.M.A.R.T属性里面会提供一些冗余区的信息,例如已经执行了多少次重映射,还有多少个待执行的重映射,冗余区还剩多少空间等。
为确保所述恢复数据可以顺利写入所述硬盘的冗余区中,需确定所述硬盘的冗余区是否有剩余空间。
具体的,若硬盘数据恢复装置确定出所述硬盘的冗余区无剩余空间,则所述硬盘无法进行重映射操作,即表明所述硬盘内存在一个无法修复的错误扇区或坏块,需要执行S207。
当然,根据用户的具体策略,所述硬盘数据恢复装置也可以先不执行硬盘重建操作,而是等无法恢复的错误数据累积到一定数量之后再执行硬盘重建操作。此为现有技术,在此不赘述。
S205,向所述硬盘发送写入所述恢复数据到所述逻辑块地址的指令,以使所述硬盘根据所述指令将所述恢复数据写入所述逻辑块地址;其中,所述逻辑块地址对应重映射后的第二物理块地址。
S206,读取所述逻辑块地址中写入的所述恢复数据,与根据预设算法对所述逻辑块地址对应的第一物理块地址的数据执行恢复操作得到的恢复数据进行对比,判断两者是否一致。若是,则表明写入成功,流程结束;否则,执行S207。
具体的,所述硬盘向所述第二物理块地址写入所述恢复数据时有可能出错,因此为了确保所述恢复数据的正确写入,还需要所述硬盘数据恢复装置执行确认操作。
则所述硬盘数据恢复装置读取所述写入的所述恢复数据,与所述根据预设算法得到的恢复数据进行对比,判断两者是否一致,以此来判断所述恢复数据是否正确写入。
进一步可选的,可以通过判断所述硬盘是否上报校验错误信息的方式来确定所述恢复数据是否正确写入。
S207,执行硬盘重建操作。
具体的,若确定出所述写入的所述恢复数据与所述根据预设算法得到的恢复数据不一致,则表明写入失败,产生原因可能是所述硬盘中的冗余区存在问题,所述硬盘无法进行重映射操作,即表明所述硬盘内存在一个无法修复的错误扇区或坏块,需要执行硬盘重建操作,读取所述硬盘内的所有数据(包括根据预设算法得到的恢复数据及其他数据),然后统一写入热备盘。所述热备盘为在所述硬盘阵列中预先设置的一个或多个只保持通电状态但不参与数据读写操作的硬盘。
进一步可选的,若判断出所述硬盘向所述存储控制器上报了校验错误信息,则表明写入失败,同样需要执行所述S207。
当然,根据用户的具体策略,也可以先不执行硬盘重建操作,而是等无法恢复的错误数据累积到一定数量之后再执行硬盘重建操作。此为现有技术,不再赘述。
本发明实施例通过当从硬盘中读取数据发现错误时,记录发生错误的数据在所述硬盘中对应的逻辑块地址;根据预设算法对所述逻辑块地址对应的物理块地址的数据执行恢复操作,得到恢复数据;向所述硬盘发送写入所述恢复数据到所述逻辑块地址的指令,以使所述硬盘根据所述指令将所述恢复数据写入所述逻辑块地址;其中,所述逻辑块地址对应重映射后的新的物理块地址,从而使用硬盘内其它的扇区或块(例如硬盘冗余区的扇区)快速、方便地代替错误数据所在的错误扇区或坏块,将通过预设算法得到的恢复数据写入重映射后的新的物理块地址对应的扇区,能够快速修复硬盘的错误扇区或坏块,提高了硬盘错误扇区或硬盘坏块的修复效率。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实施。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。
Claims (12)
1.一种硬盘数据恢复方法,其特征在于,应用于存储控制器,所述方法包括:
当从硬盘中读取数据发现错误时,记录发生错误的数据在所述硬盘中对应的逻辑块地址;
根据预设算法对所述逻辑块地址对应的第一物理块地址的数据执行恢复操作,得到恢复数据;
向所述硬盘发送写入所述恢复数据到所述逻辑块地址的指令,以使所述硬盘根据所述指令将所述恢复数据写入所述逻辑块地址;其中,所述逻辑块地址对应重映射后的第二物理块地址。
2.如权利要求1所述的方法,其特征在于,所述第二物理块地址对应的硬盘存储区域存在于所述硬盘的冗余区。
3.如权利要求2所述的方法,其特征在于,在向所述硬盘发送写入所述恢复数据到所述逻辑块地址的指令的步骤之前,在所述根据预设算法对所述逻辑块地址对应的第一物理块地址的数据执行恢复操作,得到恢复数据的步骤之后,所述方法还包括:
确定所述硬盘的冗余区是否有剩余空间;
若所述硬盘的冗余区有剩余空间,则执行所述向所述硬盘发送写入所述恢复数据到所述逻辑块地址的指令的步骤;
若所述硬盘的冗余区无剩余空间,则执行硬盘重建操作。
4.如权利要求1至3任一项所述的方法,其特征在于,在向所述硬盘发送写入所述恢复数据到所述逻辑块地址的指令,以使所述硬盘根据所述指令将所述恢复数据写入所述逻辑块地址的步骤之后,所述方法还包括:
读取所述逻辑块地址中写入的所述恢复数据,与根据预设算法对所述逻辑块地址对应的第一物理块地址的数据执行恢复操作得到的恢复数据进行对比,判断两者是否一致;
若一致,则表明写入成功;若不一致,则表明写入失败,执行硬盘重建操作。
5.如权利要求1至3任一项所述的方法,其特征在于,在向所述硬盘发送写入所述恢复数据到所述逻辑块地址的指令,以使所述硬盘根据所述指令将所述恢复数据写入所述逻辑块地址的步骤之后,所述方法还包括:
判断所述硬盘是否上报校验错误信息;
若否,则表明写入成功;若是,则表明写入失败,执行硬盘重建操作。
6.如权利要求1至3任一项所述的方法,其特征在于,在所述根据预设算法对所述逻辑块地址对应的第一物理块地址的数据执行恢复操作,得到恢复数据的步骤之后,所述方法还包括:
向操作***上报所述恢复数据,以使所述操作***根据所述恢复数据执行相应的业务。
7.一种硬盘数据恢复装置,其特征在于,所述装置包括:
记录模块,用于当从硬盘中读取数据发现错误时,记录发生错误的数据在所述硬盘中对应的逻辑块地址;
恢复模块,用于根据预设算法对所述记录模块记录的逻辑块地址对应的第一物理块地址的数据执行恢复操作,得到恢复数据;
触发模块,用于向所述硬盘发送写入所述恢复数据到所述逻辑块地址的指令,以使所述硬盘根据所述指令将所述恢复模块得到的恢复数据写入所述记录模块记录的逻辑块地址;其中,所述逻辑块地址对应重映射后的第二物理块地址。
8.如权利要求7所述的装置,其特征在于,所述第二物理块地址对应的硬盘存储区域存在于所述硬盘的冗余区,所述装置还包括:
确定模块,用于确定所述硬盘的冗余区是否有剩余空间;若所述硬盘的冗余区有剩余空间,则执行所述向所述硬盘发送写入所述恢复数据到所述逻辑块地址的指令的步骤;若所述硬盘的冗余区无剩余空间,则执行硬盘重建操作。
9.如权利要求7或8所述的装置,其特征在于,所述装置还包括:
对比模块,用于读取所述逻辑块地址中写入的所述恢复数据,与所述恢复模块根据预设算法对所述逻辑块地址对应的第一物理块地址的数据执行恢复操作得到的恢复数据进行对比,判断两者是否一致;若一致,则表明写入成功;若不一致,则表明写入失败,执行硬盘重建操作。
10.如权利要求7或8所述的装置,其特征在于,还包括:
判断模块,用于判断所述硬盘是否上报校验错误信息;若否,则表明写入成功;若是,则表明写入失败,执行硬盘重建操作。
11.如权利要求7或8所述的装置,其特征在于,还包括:
报告模块,用于向操作***上报所述恢复模块得到的恢复数据,以使所述操作***根据所述恢复数据执行相应的业务。
12.一种存储***,其特征在于,所述存储***包括存储控制器和与所述存储控制器具有通信连接的硬盘阵列,所述存储控制器包括如权利要求7至11任一项所述的硬盘数据恢复装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210132095.3A CN102708019B (zh) | 2012-04-28 | 2012-04-28 | 一种硬盘数据恢复方法、装置及*** |
PCT/CN2012/084230 WO2013159503A1 (zh) | 2012-04-28 | 2012-11-07 | 一种硬盘数据恢复方法、装置及*** |
EP12875455.3A EP2778926B1 (en) | 2012-04-28 | 2012-11-07 | Hard disk data recovery method, device and system |
US14/307,141 US9424141B2 (en) | 2012-04-28 | 2014-06-17 | Hard disk data recovery method, apparatus, and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210132095.3A CN102708019B (zh) | 2012-04-28 | 2012-04-28 | 一种硬盘数据恢复方法、装置及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102708019A true CN102708019A (zh) | 2012-10-03 |
CN102708019B CN102708019B (zh) | 2014-12-03 |
Family
ID=46900832
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210132095.3A Active CN102708019B (zh) | 2012-04-28 | 2012-04-28 | 一种硬盘数据恢复方法、装置及*** |
Country Status (4)
Country | Link |
---|---|
US (1) | US9424141B2 (zh) |
EP (1) | EP2778926B1 (zh) |
CN (1) | CN102708019B (zh) |
WO (1) | WO2013159503A1 (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013159503A1 (zh) * | 2012-04-28 | 2013-10-31 | 华为技术有限公司 | 一种硬盘数据恢复方法、装置及*** |
CN103645963A (zh) * | 2013-12-26 | 2014-03-19 | 深圳市迪菲特科技股份有限公司 | 一种存储***及其数据一致性校验方法 |
CN103678517A (zh) * | 2013-11-27 | 2014-03-26 | 华为技术有限公司 | 修复硬盘逻辑错误的方法及控制器 |
CN104123100A (zh) * | 2013-04-25 | 2014-10-29 | 国际商业机器公司 | 控制存储设备阵列中的数据存储 |
WO2015027678A1 (zh) * | 2013-08-27 | 2015-03-05 | 华为技术有限公司 | 一种坏道修复方法及装置 |
CN104794027A (zh) * | 2015-04-30 | 2015-07-22 | 四川效率源信息安全技术有限责任公司 | 一种参数识别错误的修复方法 |
CN105320467A (zh) * | 2014-08-05 | 2016-02-10 | 株式会社东芝 | 盘装置及盘装置的数据读方法 |
CN105808387A (zh) * | 2016-03-30 | 2016-07-27 | 苏州美天网络科技有限公司 | 用于防止硬盘数据丢失的方法 |
CN105808385A (zh) * | 2016-03-30 | 2016-07-27 | 苏州美天网络科技有限公司 | 硬盘数据的防丢失方法 |
CN105808386A (zh) * | 2016-03-30 | 2016-07-27 | 苏州美天网络科技有限公司 | 硬盘数据恢复校验方法 |
CN105893180A (zh) * | 2016-03-30 | 2016-08-24 | 苏州美天网络科技有限公司 | 硬盘数据采用云端进行恢复的方法 |
CN107111535A (zh) * | 2014-12-12 | 2017-08-29 | 英特尔公司 | 存储***中的加速数据恢复 |
CN107463596A (zh) * | 2017-03-24 | 2017-12-12 | 北京瑞卓喜投科技发展有限公司 | 针对设置链外勘误表的区块链并行查询方法及*** |
CN109375869A (zh) * | 2018-09-17 | 2019-02-22 | 至誉科技(武汉)有限公司 | 实现数据可靠读写的方法以及***、存储介质 |
CN111104056A (zh) * | 2018-10-25 | 2020-05-05 | 华为技术有限公司 | 存储***中数据恢复方法、***及装置 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104484244A (zh) * | 2014-12-31 | 2015-04-01 | 宁波江东波莫纳电子科技有限公司 | 一种新型计算机硬盘数据恢复*** |
US9959179B1 (en) * | 2016-03-24 | 2018-05-01 | Veritas Technologies Llc | Systems and methods for repairing corrupted data segments |
CN105893182A (zh) * | 2016-03-30 | 2016-08-24 | 苏州美天网络科技有限公司 | 用于对硬盘数据进行备份的方法 |
CN111966540B (zh) | 2017-09-22 | 2024-03-01 | 成都华为技术有限公司 | 存储介质的管理方法、装置及可读存储介质 |
CN111045858B (zh) * | 2018-10-15 | 2023-12-29 | 深信服科技股份有限公司 | 一种坏道处理方法及*** |
CN109445976A (zh) * | 2018-10-23 | 2019-03-08 | 四川巧夺天工信息安全智能设备有限公司 | 一种提取电路板型号为800041的西数硬盘数据的方法 |
CN111382007B (zh) * | 2018-12-28 | 2024-04-30 | 深圳市茁壮网络股份有限公司 | 一种数据恢复方法、装置及电子设备 |
CN112000524A (zh) * | 2020-08-27 | 2020-11-27 | 北京浪潮数据技术有限公司 | ***数据在硬盘中的备份和读取方法、装置、设备及介质 |
CN116360709B (zh) * | 2023-05-31 | 2023-08-08 | 天津神舟通用数据技术有限公司 | 一种数据存取*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7240178B2 (en) * | 2001-07-25 | 2007-07-03 | Sony Corporation | Non-volatile memory and non-volatile memory data rewriting method |
CN101751306A (zh) * | 2008-12-12 | 2010-06-23 | 内江市效率源信息安全技术有限责任公司 | 缺陷硬盘的数据恢复设备和恢复方法 |
CN101903866A (zh) * | 2007-11-21 | 2010-12-01 | 提琴存储器公司 | 非易失存储介质中的数据存储的方法和*** |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5166936A (en) * | 1990-07-20 | 1992-11-24 | Compaq Computer Corporation | Automatic hard disk bad sector remapping |
US5974544A (en) * | 1991-12-17 | 1999-10-26 | Dell Usa, L.P. | Method and controller for defect tracking in a redundant array |
JPH07134635A (ja) * | 1993-11-10 | 1995-05-23 | Nec Eng Ltd | ディスクアレイ装置 |
US6332204B1 (en) * | 1999-03-31 | 2001-12-18 | International Business Machines Corporation | Recovering and relocating unreliable disk sectors when encountering disk drive read errors |
US6851070B1 (en) * | 2001-08-13 | 2005-02-01 | Network Appliance, Inc. | System and method for managing time-limited long-running operations in a data storage system |
US6854022B1 (en) * | 2002-02-22 | 2005-02-08 | Western Digital Technologies, Inc. | Disk drive using rotational position optimization algorithm to facilitate write verify operations |
EP1550053A4 (en) * | 2002-09-18 | 2009-03-25 | Netezza Corp | ARCHITECTURE OF THE MIRROR DISK FOR DATABASE DEVICES |
US7337351B2 (en) * | 2002-09-18 | 2008-02-26 | Netezza Corporation | Disk mirror architecture for database appliance with locally balanced regeneration |
ATE528760T1 (de) * | 2002-09-19 | 2011-10-15 | Koninkl Philips Electronics Nv | Aufzeichnungsmedium-defektmanagement |
ATE391956T1 (de) * | 2003-02-10 | 2008-04-15 | Netezza Corp | Rasche wiederherstellung eines defekten plattensektors in einem verteilten datenbanksystem |
JP2007519136A (ja) * | 2003-07-17 | 2007-07-12 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 欠陥管理情報を再構成を伴う情報記録装置及び方法 |
US7523257B2 (en) * | 2003-08-27 | 2009-04-21 | Adaptec, Inc. | Method of managing raid level bad blocks in a networked storage system |
US7475276B2 (en) * | 2004-05-07 | 2009-01-06 | Equallogic, Inc. | Method for maintaining track data integrity in magnetic disk storage devices |
JP2007536676A (ja) * | 2004-05-10 | 2007-12-13 | 松下電器産業株式会社 | 追記形ディスクに対するデータ記録/再生 |
US7313721B2 (en) * | 2004-06-21 | 2007-12-25 | Dot Hill Systems Corporation | Apparatus and method for performing a preemptive reconstruct of a fault-tolerant RAID array |
JP4609034B2 (ja) * | 2004-10-25 | 2011-01-12 | 富士ゼロックス株式会社 | ディスクアレイ装置 |
US7916421B1 (en) * | 2005-05-05 | 2011-03-29 | Seagate Technology Llc | Methods and structure for recovery of write fault errors in a dynamically mapped mass storage device |
US7617358B1 (en) * | 2005-05-05 | 2009-11-10 | Seagate Technology, Llc | Methods and structure for writing lead-in sequences for head stability in a dynamically mapped mass storage device |
TWI283349B (en) * | 2005-05-12 | 2007-07-01 | Inventec Corp | Data protection method |
JP2007052509A (ja) * | 2005-08-15 | 2007-03-01 | Fujitsu Ltd | ディスクアレイ装置における媒体エラーリカバリ装置、方法、及びプログラム |
US8145941B2 (en) * | 2006-10-31 | 2012-03-27 | Hewlett-Packard Development Company, L.P. | Detection and correction of block-level data corruption in fault-tolerant data-storage systems |
US8001417B2 (en) * | 2007-12-30 | 2011-08-16 | Agere Systems Inc. | Method and apparatus for repairing uncorrectable drive errors in an integrated network attached storage device |
CN101840364A (zh) * | 2010-01-29 | 2010-09-22 | 成都市华为赛门铁克科技有限公司 | 一种恢复数据的方法及存储装置 |
US20120084507A1 (en) * | 2010-10-01 | 2012-04-05 | John Colgrove | Multi-level protection with intra-device protection in a raid array based storage system |
CN101980137B (zh) * | 2010-10-19 | 2012-05-30 | 成都市华为赛门铁克科技有限公司 | 廉价磁盘冗余阵列重构方法、装置及*** |
US20130179726A1 (en) * | 2012-01-08 | 2013-07-11 | Synology Incorporated | Automatic remapping in redundant array of independent disks and related raid |
CN102708019B (zh) * | 2012-04-28 | 2014-12-03 | 华为技术有限公司 | 一种硬盘数据恢复方法、装置及*** |
-
2012
- 2012-04-28 CN CN201210132095.3A patent/CN102708019B/zh active Active
- 2012-11-07 WO PCT/CN2012/084230 patent/WO2013159503A1/zh active Application Filing
- 2012-11-07 EP EP12875455.3A patent/EP2778926B1/en active Active
-
2014
- 2014-06-17 US US14/307,141 patent/US9424141B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7240178B2 (en) * | 2001-07-25 | 2007-07-03 | Sony Corporation | Non-volatile memory and non-volatile memory data rewriting method |
CN101903866A (zh) * | 2007-11-21 | 2010-12-01 | 提琴存储器公司 | 非易失存储介质中的数据存储的方法和*** |
CN101751306A (zh) * | 2008-12-12 | 2010-06-23 | 内江市效率源信息安全技术有限责任公司 | 缺陷硬盘的数据恢复设备和恢复方法 |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9424141B2 (en) | 2012-04-28 | 2016-08-23 | Huawei Technologies Co., Ltd. | Hard disk data recovery method, apparatus, and system |
WO2013159503A1 (zh) * | 2012-04-28 | 2013-10-31 | 华为技术有限公司 | 一种硬盘数据恢复方法、装置及*** |
CN104123100A (zh) * | 2013-04-25 | 2014-10-29 | 国际商业机器公司 | 控制存储设备阵列中的数据存储 |
CN104123100B (zh) * | 2013-04-25 | 2017-08-04 | 国际商业机器公司 | 控制存储设备阵列中的数据存储 |
WO2015027678A1 (zh) * | 2013-08-27 | 2015-03-05 | 华为技术有限公司 | 一种坏道修复方法及装置 |
US10127099B2 (en) | 2013-08-27 | 2018-11-13 | Huawei Technologies Co., Ltd. | Bad sector repair method and apparatus |
CN103678517A (zh) * | 2013-11-27 | 2014-03-26 | 华为技术有限公司 | 修复硬盘逻辑错误的方法及控制器 |
CN103678517B (zh) * | 2013-11-27 | 2017-01-18 | 华为技术有限公司 | 修复硬盘逻辑错误的方法及控制器 |
CN103645963A (zh) * | 2013-12-26 | 2014-03-19 | 深圳市迪菲特科技股份有限公司 | 一种存储***及其数据一致性校验方法 |
CN103645963B (zh) * | 2013-12-26 | 2016-06-29 | 深圳市迪菲特科技股份有限公司 | 一种存储***及其数据一致性校验方法 |
CN105320467B (zh) * | 2014-08-05 | 2018-11-06 | 株式会社东芝 | 盘装置及盘装置的数据读方法 |
CN105320467A (zh) * | 2014-08-05 | 2016-02-10 | 株式会社东芝 | 盘装置及盘装置的数据读方法 |
CN107111535A (zh) * | 2014-12-12 | 2017-08-29 | 英特尔公司 | 存储***中的加速数据恢复 |
CN104794027A (zh) * | 2015-04-30 | 2015-07-22 | 四川效率源信息安全技术有限责任公司 | 一种参数识别错误的修复方法 |
CN104794027B (zh) * | 2015-04-30 | 2017-12-08 | 四川效率源信息安全技术股份有限公司 | 一种参数识别错误的修复方法 |
CN105893180B (zh) * | 2016-03-30 | 2019-02-19 | 苏州美天网络科技有限公司 | 硬盘数据采用云端进行恢复的方法 |
CN105808387A (zh) * | 2016-03-30 | 2016-07-27 | 苏州美天网络科技有限公司 | 用于防止硬盘数据丢失的方法 |
CN105808385A (zh) * | 2016-03-30 | 2016-07-27 | 苏州美天网络科技有限公司 | 硬盘数据的防丢失方法 |
CN105893180A (zh) * | 2016-03-30 | 2016-08-24 | 苏州美天网络科技有限公司 | 硬盘数据采用云端进行恢复的方法 |
CN105808386A (zh) * | 2016-03-30 | 2016-07-27 | 苏州美天网络科技有限公司 | 硬盘数据恢复校验方法 |
CN105808386B (zh) * | 2016-03-30 | 2019-02-19 | 苏州美天网络科技有限公司 | 硬盘数据恢复校验方法 |
CN107463596A (zh) * | 2017-03-24 | 2017-12-12 | 北京瑞卓喜投科技发展有限公司 | 针对设置链外勘误表的区块链并行查询方法及*** |
CN109375869A (zh) * | 2018-09-17 | 2019-02-22 | 至誉科技(武汉)有限公司 | 实现数据可靠读写的方法以及***、存储介质 |
CN111104056A (zh) * | 2018-10-25 | 2020-05-05 | 华为技术有限公司 | 存储***中数据恢复方法、***及装置 |
Also Published As
Publication number | Publication date |
---|---|
EP2778926A1 (en) | 2014-09-17 |
EP2778926B1 (en) | 2018-03-14 |
EP2778926A4 (en) | 2014-11-05 |
CN102708019B (zh) | 2014-12-03 |
US20140298087A1 (en) | 2014-10-02 |
WO2013159503A1 (zh) | 2013-10-31 |
US9424141B2 (en) | 2016-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102708019B (zh) | 一种硬盘数据恢复方法、装置及*** | |
CN104484251B (zh) | 一种硬盘故障的处理方法及装置 | |
CN103718162B (zh) | 用于ssd中灵活的raid的方法和设备 | |
US9110835B1 (en) | System and method for improving a data redundancy scheme in a solid state subsystem with additional metadata | |
US9405617B1 (en) | System and method for data error recovery in a solid state subsystem | |
US8589761B2 (en) | Apparatus and methods for providing data integrity | |
CN103309775B (zh) | 一种高可靠磁盘阵列的容错方法 | |
CN101916173B (zh) | 一种基于raid的数据读写方法及其*** | |
CN102207895B (zh) | 一种独立磁盘冗余阵列数据重建方法和装置 | |
US20140215262A1 (en) | Rebuilding a storage array | |
US8904244B2 (en) | Heuristic approach for faster consistency check in a redundant storage system | |
US11531590B2 (en) | Method and system for host-assisted data recovery assurance for data center storage device architectures | |
CN103389920A (zh) | 一种磁盘坏块的自检测方法和装置 | |
CN104035830A (zh) | 一种数据恢复方法和装置 | |
US20150347232A1 (en) | Raid surveyor | |
CN103034458B (zh) | 固态硬盘中实现独立磁盘冗余阵列的方法及装置 | |
CN105468479B (zh) | 一种磁盘阵列raid坏块处理方法及装置 | |
CN103019882A (zh) | 固态硬盘的raid4*** | |
US20060215456A1 (en) | Disk array data protective system and method | |
CN103544995A (zh) | 一种坏道修复方法及装置 | |
US20100138603A1 (en) | System and method for preventing data corruption after power failure | |
EP2613258A1 (en) | Automatic remapping in redundant array of independent disks and related raid | |
CN102385544B (zh) | 一种磁盘重建方法和装置 | |
CN104850359A (zh) | 一种raid阵列重建方法和装置 | |
CN102508747A (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 |