CN115934403A - 数据恢复方法、装置及固态硬盘 - Google Patents
数据恢复方法、装置及固态硬盘 Download PDFInfo
- Publication number
- CN115934403A CN115934403A CN202211714147.8A CN202211714147A CN115934403A CN 115934403 A CN115934403 A CN 115934403A CN 202211714147 A CN202211714147 A CN 202211714147A CN 115934403 A CN115934403 A CN 115934403A
- Authority
- CN
- China
- Prior art keywords
- data
- solid state
- transmission channel
- flash memory
- memory array
- 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.)
- Pending
Links
- 239000007787 solid Substances 0.000 title claims abstract description 146
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000011084 recovery Methods 0.000 title claims abstract description 40
- 230000005540 biological transmission Effects 0.000 claims abstract description 197
- 230000036541 health Effects 0.000 claims abstract description 59
- 238000012544 monitoring process Methods 0.000 claims abstract description 11
- 238000013507 mapping Methods 0.000 claims description 63
- 238000012546 transfer Methods 0.000 claims description 13
- 230000003862 health status Effects 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 7
- 108091006146 Channels Proteins 0.000 description 96
- 238000010586 diagram Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 7
- 101100045541 Homo sapiens TBCD gene Proteins 0.000 description 4
- 101150093640 SSD1 gene Proteins 0.000 description 4
- 101100111629 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) KAR2 gene Proteins 0.000 description 4
- 102100030290 Tubulin-specific chaperone D Human genes 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000004148 unit process Methods 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请涉及一种数据恢复方法,该方法应用于主机设备;主机设备与固态硬盘通过硬盘接口连接,固态硬盘包括全闪存阵列、设于硬盘接口和全闪存阵列之间的相互独立的固有传输通道和备用传输通道;上述方法包括:监测固态硬盘的健康状态;响应于固态硬盘的健康状态为故障,表明固有传输通道的数据传输中断,启动备用传输通道;通过备用传输通道将存于全闪存阵列中的数据转移至主机内存中。通过上述方法的步骤,能够实现在固态硬盘发生故障时,在无需大幅增加自身结构复杂度和保留原有空间利用率的条件下,完成数据恢复的过程。
Description
技术领域
本申请涉及固态硬盘技术领域,特别是涉及一种数据恢复方法、装置及固态硬盘。
背景技术
目前在服务器行业中,RAID(RedundantArrayofIndependentDisks,独立磁盘构成的具有冗余能力的阵列)磁盘阵列的应用越来越广泛,一般的存储服务器后端可能会挂载几十甚至上百块SSD(solidstatedisk,固态硬盘),当这些磁盘组成磁盘阵列(RAID)之后可以被视作一块容量很大的SSD。而且,一般会根据不同的用户需求将上述RAID进行分级排列。
然而,发明人意识到,现有的RAID结构很难实现在自身发生故障时,在无需大幅增加自身结构复杂度和保留原有空间利用率的条件下,完成数据恢复的过程。如图1所示,一种传统的RAID结构类型,如图1所示的RAID0,它将目标录入数据分为几部分(如图1所示的BLOCK1-BLOCK8),然后将不同的BLOCK同时向不同的磁盘内写入。虽然采用这种方式可以提高磁盘的数据写入效率,但缺少备用数据,即没有数据冗余,当某部分磁盘发生故障时,也不能实现数据的恢复。而且,另一种常见的RAID结构类型,如图2所示的RAID1,它采用镜像备份的原理,将目标录入数据分两次分别写入相同的两个部分磁盘阵列模块(如图2所示的BLOCK1-BLOCK4)。当其中一部分的磁盘阵列模块发生故障时,可以直接从另一部分的硬盘中读取数据。然而,RAID1的存储空间使用率不高,两部分的磁盘阵列模块必须镜像存储有相同的数据,因此它的存储空间使用率只有50%。此外,RAID0和RAID1都是结构相对简单的RAID配置方式。其中,RAID0有较高的数据写入效率,但没有数据冗余;RAID1虽然有数据冗余但是存储空间利用率不高,因此采用RAID的排列方法很难实现在自身发生故障时,在无需大幅增加自身结构复杂度和保留原有空间利用率的条件下,完成数据恢复的过程。
发明内容
本申请针对上述不足或缺点,提供了一种数据恢复方法、装置、固态硬盘、计算机设备及存储介质,能够实现在固态硬盘发生故障时,在无需大幅增加自身结构复杂度和保留原有空间利用率的条件下,完成数据恢复的过程。
本申请根据第一方面提供了一种数据恢复方法,该方法应用于主机设备;主机设备与固态硬盘通过硬盘接口连接,固态硬盘包括全闪存阵列、设于硬盘接口和全闪存阵列之间的相互独立的固有传输通道和备用传输通道;上述方法包括:
监测固态硬盘的健康状态;
响应于固态硬盘的健康状态为故障,表明固有传输通道的数据传输中断,启动备用传输通道;
通过备用传输通道将存于全闪存阵列中的数据转移至主机内存中。
在一些实施例中,上述备用传输通道包括控制芯片和数据传输电路;
控制芯片用于接收来自主机设备的指令,调整数据传输电路的电流值至与指令的类型对应的电流值范围;
数据传输电路作为主机设备与全闪存阵列之间的数据通道。
在一些实施例中,响应于固态硬盘的健康状态为故障,启动备用传输通道,上述方法包括:
响应于固态硬盘的健康状态为故障,向备用传输通道的控制芯片发送启用指令,以指示控制芯片将数据传输电路的电流值提高至与启动指令对应的额定电流值。
在一些实施例中,上述方法还包括:
响应于固态硬盘的健康状态为正常,向备用传输通道的控制芯片发送待命指令,以指示控制芯片将数据传输电路的电流值维持在与待命指令对应的,低于额定电流值的范围内。
在一些实施例中,通过备用传输通道将存于全闪存阵列中的数据转移至主机内存中,上述方法包括:
通过备用传输通道读取全闪存阵列中的源数据;
将从全闪存阵列中读取的源数据存储于主机内存中。
在一些实施例中,上述方法还包括:
通过解码软件将从全闪存阵列中读取的,存储于主机内存中的源数据进行解码,转变为目标数据。
在一些实施例中,在将数据经过硬盘接口转移至主机内存中之后,还包括:
检测其他连接于主机设备的固态硬盘的健康状态,确定一个或多个健康状态为正常的目标固态硬盘;
将从全闪存阵列中转移至主机内存的数据写入目标固态硬盘。
在一些实施例中,上述方法还包括:
在固态硬盘的健康状态为正常时,获取存于固态硬盘中的原始映射表,根据原始映射表在主机设备中生成备份映射表,以及当原始映射表发生更新时,相应更新备份映射表;
上述方法还包括:
响应于原始映射表丢失;映射表包括全闪存阵列中的物理地址和虚拟地址的映射关系;
根据备份映射表读取全闪存阵列中的数据。
本申请根据另一方面提供了一种数据恢复装置,该装置应用于主机设备;主机设备与固态硬盘通过硬盘接口连接,固态硬盘包括全闪存阵列、设于硬盘接口和全闪存阵列之间的相互独立的固有传输通道和备用传输通道,上述装置包括:
健康状态监测模块:用于监测固态硬盘的健康状态;
备用通道启动模块:用于响应于固态硬盘的健康状态为故障,表明固有传输通道的数据传输中断,启动备用传输通道;
数据转移模块:用于通过备用传输通道将存于全闪存阵列中的数据转移至主机内存中。
本申请还提供了一种固态硬盘,该固态硬盘包括硬盘接口、全闪存阵列、设于硬盘接口和全闪存阵列之间的相互独立的固有传输通道和备用传输通道。
在一些实施例中,硬盘接口用于连接主机设备;上述备用传输通道包括控制芯片和数据传输电路;其中,上述数据传输电路作为主机设备与全闪存阵列之间的数据通道,控制芯片用于接收来自主机设备的指令以及调整数据传输电路的电流值至与上述指令的类型对应的电流值范围。
本申请根据另一方面提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,上述处理器在执行计算机程序时实现上述任一项数据恢复方法的步骤。
本申请根据另一方面还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任一项数据恢复方法的步骤。
在本申请上述实施例中,通过主机设备监测固态硬盘的健康状态;若固态硬盘的健康状态为故障,表明固有传输通道的数据传输中断,即固态硬盘的主控单元的数据传输中断。此时,启动备用传输通道,通过备用传输通道将存于固态硬盘的全闪存阵列中的数据转移至主机内存中。通过上述方法的步骤,能够实现在自身发生故障时,在无需大幅增加自身结构复杂度和保留原有空间利用率的条件下,完成数据恢复的过程。
附图说明
图1为一种传统的磁盘阵列结构示意图;
图2为另一种传统的磁盘阵列结构示意图;
图3为一种传统的固态硬盘结构示意图;
图4为本申请一个或多个实施例中一种可恢复数据的固态硬盘结构示意图;
图5为本申请一个或多个实施例中一种数据恢复方法流程示意图;
图6为本申请一个或多个实施例中一种故障后的固态硬盘数据传输结构示意图;
图7为本申请一个或多个实施例中一种通过备用传输通道将存于全闪存阵列中的数据转移至主机内存中的方法流程示意图;
图8为本申请一个或多个实施例中一种将从全闪存阵列中转移至主机内存的数据写入健康的固态硬盘的方法流程示意图;
图9为本申请一个或多个实施例中一种根据备份在主机设备内的映射表读取全闪存阵列中的数据的方法流程示意图;
图10为本申请一个或多个实施例中一种数据恢复装置示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅用以解释本申请,并不用于限定本申请。
首先,本实施例中的数据恢复方法基于一种在传统SSD的基础上改进得到的固态硬盘。如图3的SSD0表示一种传统SSD(solidstatedisk,固态硬盘),其中包括SSD主控单元、NANDFLASH阵列(类似于内存条阵列)、U.2接口以及DRAM阵列(类似于内存条)。其中,图3中的SSD主控单元可以与NANDFLASH阵列、U.2接口以及DRAM阵列相互传输数据。当SSD0发生故障时,例如在上述数据流向的任何一个环节出现不可修复的错误,或者SSD0的固件出现损坏等会导致无法再通过原有的数据通道读取NAND阵列中存储的数据的故障时,无法将位于NAND FLASH阵列中的数据继续通过SSD主控单元进行数据传输。其中,SSD1与主机设备通过U.2接口来连接,来自主机设备的数据流可以通过U.2接口流入固态硬盘的SSD主控单元(相当于主机设备的中央处理器)。SSD主控单元对数据进行处理之后写入DRAM阵列(相当于主机设备的内存条)。当SSD主控单元有空闲,即SSD主控单元有多余的计算资源,处于无软件运行、无操作指令的系统最低运行状态、且DRAM阵列中的数据量达到预设阈值时,SSD主控单元会将DRAM阵列中暂存的数据向NAND FLASH阵列中写入。但是,DRAM阵列中的数据在SSD1断电之后会丢失,而NANDFLASH阵列中的数据在SSD1断电之后也不会丢失,因此数据可以在NANDFLASH阵列中长期保存。因为DRAM阵列的数据读取速度远高于NANDFALSH阵列,因此,SSD主控单元通常会先将可能要使用的目标数据从NANDFLASH阵列复制至DRAM阵列中,当主机设备需要调用数据时,SSD主控单元可以直接从DRAM阵列中读取数据,之后通过U.2接口发送至主机设备。
具体地,上述改进后得到的固态硬盘是在SSD0的基础上增加了备用传输通道,如图4所示,该备用传输通道包括相应的数据恢复芯片及相关电路,从而上述改进后的固态硬盘在故障时可以通过该备用传输通道实现数据恢复功能。变为如图4所示的SSD1。经过上述对传统的SSD的改进,能够实现在上述固态硬盘出现故障时,自动恢复固态硬盘中的数据。
本申请根据第一方面提供了一种数据恢复方法,该方法应用于主机设备;主机设备与上述改进后得到的固态硬盘通过硬盘接口连接,其中,上述主机设备可以为计算机设备、计算机的CPU等具备数据处理功能的设备。上述硬盘接口可以为U.2接口、M.2接口以及NGFF接口等。
固态硬盘包括全闪存阵列、设于硬盘接口和全闪存阵列之间的相互独立的固有传输通道和备用传输通道;其中,全闪存阵列为NAND闪存(NANDFLASH阵列);固有传输通道包括SSD主控单元、硬盘接口、全闪存阵列,以及相关的用于连接SSD主控单元与硬盘接口的数据传输线路、用于连接SSD主控单元与全闪存阵列的数据传输线路。备用传输通道包括数据恢复芯片、硬盘接口、全闪存阵列,以及相关的用于连接数据恢复芯片与硬盘接口的数据传输线路、用于连接数据恢复芯片与全闪存阵列的数据传输线路。
如图5所示,上述方法包括:
S110:监测固态硬盘的健康状态;
首先主机设备实时监测与自身连接的固态硬盘的健康状态,并基于固态硬盘的健康状态来判断固有传输通道的数据传输是否中断,即如果监测到固态硬盘的健康状态为故障,则判定固有传输通道的数据传输中断,反之,如果监测到固态硬盘的健康状态为正常,则判定固有传输通道的数据传输未中断。其中,上述固态硬盘的健康状态是由自身的运行参数和数据传输参数来决定的。具体地,上述运行参数和数据传输参数可以为实时数据传输率、实时运行温度以及实时误码率。当上述固态硬盘的运行参数或数据传输参数中有一项超出对应的预设参数阈值,例如固态硬盘的实时运行温度大于预设温度阈值85℃时,主机设备会将该固态硬盘的健康状态判定为故障。
S120:响应于固态硬盘的健康状态为故障,表明固有传输通道的数据传输中断,启动备用传输通道;
当主机设备监测到固态硬盘的健康状态为故障时,主机设备向备用传输通道发送启用指令以启动备用传输通道。
S130:通过备用传输通道将存于全闪存阵列中的数据转移至主机内存中。
在上述备用传输通道启动后,主机设备通过备用传输将存于全闪存阵列中的数据转移至主机内存中。
具体地,如图6所示,图6展示了本实施例的一种故障后的固态硬盘数据传输结构示意图。首先,在固态硬盘正常运行的情况下,主机设备会接收来自SSD主控单元的数据,监测该固态硬盘的健康状态。其中,主机设备可以根据与固态硬盘相关的运行参数以及数据传输参数来判断固态硬盘的健康状态。
上述与固态硬盘相关的运行参数以及数据传输参数可以包括实时数据传输率、实时运行温度以及实时误码率。然后,当上述固态硬盘发生故障时,表明上述与固态硬盘的实时数据传输率、实时运行温度以及实时误码率数中存在一项超出对应的预设参数阈值,则该固态硬盘的健康状态将会被视为故障。基于图4所示的故障后的固态硬盘数据传输结构示意图,此时,健康状态为故障的固态硬盘的固有传输通道中断,即固态硬盘原有的SSD主控单元故障中断,完全不能利用固有传输通道来传输数据。再然后,主机设备向数据传输通道的控制芯片发送启用指令,启动备用传输通道。其中,备用传输通道为图4当中的数据恢复芯片及相关电路,备用传输通道的控制芯片可以为上述数据恢复芯片,上述相关电路可以为数据传输电路。最后,主机设备通过该备用传输通道将存于全闪存阵列中的目标数据转移至自身的主机内存中。具体地,当备用传输通道启动后,上述备用传输通道内部的控制芯片控制数据传输电路的电路恢复至额定电流,使得主机设备可通过该启动后的备用传输通道将存于全闪存阵列中的目标数据转移至自身的主机内存中。
在一些实施例中,上述备用传输通道包括控制芯片和数据传输电路,控制芯片用于接收来自主机设备的指令,调整数据传输电路的电流值至与指令的类型对应的电流值范围。上述数据传输电路作为主机设备与全闪存阵列之间的数据通道。
示例性地,基于如图6所示的故障后的固态硬盘数据传输结构,上述备用传输通道所包括的控制芯片即为图6中的数据恢复芯片,而且,图6中所示的相关电路即为上述数据传输电路。图6中的数据恢复芯片用于接收来自主机设备的指令,调整数据传输电路的电流值至与指令的类型对应的电流值范围。具体地,在上述固态硬盘的健康状态为正常时,固态硬盘采用固有传输通道传输数据,无需启用备用传输通道中的数据传输电路。此时,数据传输电路处于待命状态,且处于待命状态的数据传输电路的电流值小于自身额定电流值。当上述固态硬盘的健康状态为故障时,固态硬盘需要启用备用传输通道中的数据传输电路。此时,数据传输电路处于启动状态,且处于启动状态的数据传输电路的电流值等于该数据传输电路额定电流值。
在一些实施例中,响应于固态硬盘的健康状态为故障,启动备用传输通道,上述方法包括:
响应于固态硬盘的健康状态为故障,向备用传输通道的控制芯片发送启用指令,以指示控制芯片将数据传输电路的电流值提高至与启动指令对应的额定电流值。
在一些实施例中,上述方法还包括:
响应于固态硬盘的健康状态为正常,向备用传输通道的控制芯片发送待命指令,以指示控制芯片将数据传输电路的电流值维持在与待命指令对应的,低于额定电流值的范围内。
示例性地,当固态硬盘的健康状态为故障时,固态硬盘的实时数据传输率、实时运行温度以及实时误码率当中会存在一项或多项超出预设阈值。此时,主机设备向备用传输通道的控制芯片发送启用指令,即电流提高指令,以指示控制芯片将数据传输电路的电流值提高至与启动指令对应的额定电流值。其中,上述控制芯片可以为一种电流型控制芯片,用于接收来自主机设备发送的指令一种电流型控制芯片,用于接收来自主机设备发送的指令并控制上述数据传输电路的电流值。在上述备用传输通道启动之前,其内部的数据传输电路的电流值低于额定电流值。当上述备用传输通道启动后,其内部的数据传输电路的电流值等于额定电流值。
当固态硬盘的健康状态为正常时,固态硬盘的实时数据传输率、实时运行温度以及实时误码率当中任意一项都不超出预设阈值。此时,主机设备向备用传输通道的控制芯片发送待命指令,即电流控制指令,以指示控制芯片将数据传输电路的电流值维持在与待命指令对应的额定电流值范围内。在上述备用传输通道处于待命状态时,其内部的数据传输电路的电流值低于额定电流值。当上述备用传输通道启动后,其内部的数据传输电路的电流值等于额定电流值。
在一些实施例中,如图7所示,通过备用传输通道将存于全闪存阵列中的数据转移至主机内存中,上述方法包括:
S210:通过备用传输通道读取全闪存阵列中的源数据;
S220:将从全闪存阵列中读取的源数据存储于主机内存中。
示例性地,主机设备通过备用传输通道读取全闪存阵列中的源数据,其中,全闪存阵列可以为图6所示的NANDFLASH阵列,上述源数据可以为二进制数据。而且,在执行上述步骤之前,主机设备会将原先位于固态硬盘的SSD主控单元中的映射表备份于主机内存中。当主机设备需要从全闪存阵列中读取源数据时,可以根据上述预先备份的映射表中的物理地址和虚拟地址的映射关系来读取源数据。当主机设备根据上述映射表读取到源数据后,主机设备将读取的源数据存储于主机内存中。
在一些实施例中,上述方法还包括:通过解码软件将从全闪存阵列中读取的,存储于主机内存中的源数据进行解码,转变为目标数据。
示例性地,主机设备通过备用传输通道读取全闪存阵列中的源数据,其中,全闪存阵列可以为图6所示的NANDFLASH阵列,上述源数据可以为二进制数据。当需要将源数据处理为目标数据进行加工时,主机设备会采用相应的解码软件来将存储于主机内存中的源数据(例如二进制数据)进行解码,转变为目标数据(例如十六进制数据)。其中,上述解码软件可以为二进制解码器。
在一些实施例中,如图8所示,在将数据经过硬盘接口转移至主机内存中之后,还包括:
S310:检测其他连接于主机设备的固态硬盘的健康状态,确定一个或多个健康状态为正常的目标固态硬盘;
S320:将从全闪存阵列中转移至主机内存的数据写入目标固态硬盘。
示例性地,在将数据经过硬盘接口转移至主机内存中之后,主机设备检测其他连接于自身的固态硬盘的健康状态,确定一个或多个健康状态为正常的目标固态硬盘。其中,主机设备会检测上述其他连接于自身的固态硬盘的实时数据传输率、实时运行温度以及实时误码率以判断它们的健康状态。最后确定确定一个或多个实时数据传输率、实时运行温度以及实时误码率均未超出预设阈值的目标固态硬盘。最后,主机设备将从全闪存阵列中转移至主机内存中的数据写入上述目标固态硬盘,其中,全闪存阵列可以为NANDFLASH阵列。通过上述方法的步骤,可以实现将全闪存阵列中的数据精准地转移至健康的固态硬盘中。
在一些实施例中,如图9所示,上述方法还包括:
在固态硬盘的健康状态为正常时,获取存于固态硬盘中的原始映射表,根据原始映射表在主机设备中生成备份映射表,以及当原始映射表发生更新时,相应更新备份映射表;
上述方法还包括:
S410:响应于原始映射表丢失;映射表包括全闪存阵列中的物理地址和虚拟地址的映射关系;
S420:根据备份映射表读取全闪存阵列中的数据。
示例性地,在固态硬盘的健康状态为正常时,固态硬盘的实时数据传输率、实时运行温度以及实时误码率的任意一项均未超出预设阈值,主机设备先获取存于固态硬盘中的原始映射表,然后,主机设备先复制上述原始映射表,然后,在自身的主机内存中录入并生成备份映射表。当上述原始映射表发生更新时,主机设备也会相应更新备份映射表。当上述原本存储于固态硬盘中的原始映射表丢失时,主机设备会先将上述生成的备份映射表作为最新备份映射表,然后根据最新备份映射表来读取全闪存阵列中的数据。其中,上述原始映射表、备份映射表均包括全闪存阵列中存储的数据的物理地址和虚拟地址的映射关系。通过上述方法的步骤,可以实现主机设备内映射表的实时更新,以及全闪存阵列中的数据的精准读取。
本申请根据另一方面提供了一种数据恢复装置,如图10所示,该装置应用于主机设备;主机设备与固态硬盘通过硬盘接口连接,固态硬盘包括全闪存阵列、设于硬盘接口和全闪存阵列之间的相互独立的固有传输通道和备用传输通道,上述装置包括:
健康状态监测模块110:用于监测固态硬盘的健康状态;
备用通道启动模块120:用于响应于固态硬盘的健康状态为故障,表明固有传输通道的数据传输中断,启动备用传输通道;
数据转移模块130:用于通过备用传输通道将存于全闪存阵列中的数据转移至主机内存中。
在一些实施例中,健康状态监测模块110用于用于监测固态硬盘的健康状态。其中,主机设备通过检测固态硬盘的实时数据传输率、实时运行温度以及实时误码率来判断固态硬盘的健康状态。
在一些实施例中,备用通道启动模块120用于当固态硬盘的健康状态为故障时,主机设备启动备用传输通道,该方法包括:当固态硬盘的健康状态为故障时,主机设备向备用传输通道的控制芯片发送启用指令,以指示控制芯片将数据传输电路的电流值提高至与启动指令对应的额定电流值。
示例性地,当固态硬盘的健康状态为故障时,固态硬盘的实时数据传输率、实时运行温度以及实时误码率当中有一项或多项超出预设阈值。此时,主机设备向备用传输通道的控制芯片发送启用指令,以指示控制芯片将数据传输电路的电流值提高至与启动指令对应的额定电流值。其中,上述控制芯片可以为数据恢复芯片。在上述备用传输通道启动之前,其内部的数据传输电路的电流值低于额定电流值。当上述备用传输通道启动后,其内部的数据传输电路的电流值等于额定电流值。
在一些实施例中,备用通道启动模块120还用于当固态硬盘的健康状态为正常时,主机设备向备用传输通道发送待命指令,该方法包括:当固态硬盘的健康状态为正常时,主机设备向备用传输通道的控制芯片发送待命指令,以指示控制芯片将数据传输电路的电流值维持在与待命指令对应的,低于额定电流值的范围内。
示例性地,当固态硬盘的健康状态为正常时,固态硬盘的实时数据传输率、实时运行温度以及实时误码率当中任意一项都不超出预设阈值。此时,主机设备向备用传输通道的控制芯片发送待命指令,以指示控制芯片将数据传输电路的电流值维持在与待命指令对应的额定电流值范围内。其中,上述控制芯片可以为数据恢复芯片。在上述备用传输通道待命时,其内部的数据传输电路的电流值低于额定电流值。当上述备用传输通道启动后,其内部的数据传输电路的电流值等于额定电流值。
在一些实施例中,数据转移模块130用于通过备用传输通道将存于全闪存阵列中的数据转移至主机内存中,该方法包括:主机设备通过备用传输通道读取全闪存阵列中的源数据,其中,全闪存阵列可以为图6所示的NANDFLASH阵列,上述源数据可以为二进制数据。而且,在执行上述步骤之前,主机设备会将原先位于固态硬盘的SSD主控单元中的映射表备份于主机内存中。当主机设备需要从全闪存阵列中读取源数据时,可以根据上述预先备份的映射表中的物理地址和虚拟地址的映射关系,将从全闪存阵列中读取到的源数据存储于主机内存中,即主机设备根据预先备份的映射表将从全闪存阵列中读取的源数据存储于主机内存中。
在一些实施例中,数据转移模块130还可以用于利用解码软件将从全闪存阵列中读取的,存储于主机内存中的源数据进行解码,转变为目标数据。
示例性地,主机设备通过备用传输通道读取全闪存阵列中的源数据,其中,全闪存阵列可以为图6所示的NANDFLASH阵列,上述源数据可以为二进制数据。当需要将源数据处理为目标数据进行加工时,主机设备会采用相应的解码软件来将存储于主机内存中的源数据(例如二进制数据)进行解码,转变为目标数据(例如十六进制数据)。其中,上述解码软件可以为二进制解码器。
在一些实施例中,数据转移模块130还可以用于在将数据经过硬盘接口转移至主机内存中之后,指示主机设备检测其他连接于自身的固态硬盘的健康状态,确定一个或多个健康状态为正常的目标固态硬盘。其中,主机设备会检测上述其他连接于自身的固态硬盘的实时数据传输率、实时运行温度以及实时误码率以判断它们的健康状态。最后确定确定一个或多个实时数据传输率、实时运行温度以及实时误码率均未超出预设阈值的目标固态硬盘。最后,主机设备将从全闪存阵列中转移至主机内存中的数据写入上述目标固态硬盘,其中,全闪存阵列可以为NANDFLASH阵列。
在一些实施例中,数据转移模块130还可以用于在固态硬盘的健康状态为正常时,指示主机设备获取存于固态硬盘中的原始映射表,根据原始映射表在主机设备中生成备份映射表,以及当原始映射表发生更新时,更新备份映射表。
示例性地,在固态硬盘的健康状态为正常时,即固态硬盘的实时数据传输率、实时运行温度以及实时误码率均未超出预设阈值,主机设备首先获取存于固态硬盘中的原始映射表。然后,注解设备根据原始映射表在自身的主机内存中生成备份映射表。当上述原始映射表发生更新时,主机设备也会相应更新备份映射表。当上述原本存储于固态硬盘中的原始映射表丢失时,主机设备会根据之前备份的映射表读取全闪存阵列中的数据。其中,上述映射表包括全闪存阵列中存储的数据的物理地址和虚拟地址的映射关系。
本申请根据另一方面提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,上述处理器在执行计算机程序时实现上述任一项数据恢复方法的步骤。
本申请根据另一方面还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任一项数据恢复方法的步骤。
本领域普通技术人员可以理解实现上述方法实施例中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)、直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种数据恢复方法,其特征在于,所述方法应用于主机设备;所述主机设备与固态硬盘通过硬盘接口连接,所述固态硬盘包括全闪存阵列、设于所述硬盘接口和所述全闪存阵列之间的相互独立的固有传输通道和备用传输通道;所述方法包括:
监测所述固态硬盘的健康状态;
响应于所述固态硬盘的健康状态为故障,表明所述固有传输通道的数据传输中断,启动所述备用传输通道;
通过所述备用传输通道将存于所述全闪存阵列中的数据转移至主机内存中。
2.根据权利要求1所述的数据恢复方法,其特征在于,所述备用传输通道包括控制芯片和数据传输电路;
控制芯片用于接收来自所述主机设备的指令,调整所述数据传输电路的电流值至与所述指令的类型对应的电流值范围;
所述数据传输电路作为所述主机设备与所述全闪存阵列之间的数据通道。
3.根据权利要求2所述的数据恢复方法,其特征在于,响应于所述固态硬盘的健康状态为故障,启动所述备用传输通道,包括:
响应于所述固态硬盘的健康状态为故障,向所述备用传输通道的控制芯片发送启用指令,以指示所述控制芯片将所述数据传输电路的电流值提高至与所述启动指令对应的额定电流值。
4.根据权利要求2所述的数据恢复方法,其特征在于,所述方法还包括:
响应于所述固态硬盘的健康状态为正常,向所述备用传输通道的控制芯片发送待命指令,以指示所述控制芯片将所述数据传输电路的电流值维持在与所述待命指令对应的,低于额定电流值的范围内。
5.根据权利要求1所述的数据恢复方法,其特征在于,通过所述备用传输通道将存于所述全闪存阵列中的数据转移至主机内存中,包括:
通过所述备用传输通道读取所述全闪存阵列中的源数据;
将从所述全闪存阵列中读取的源数据存储于所述主机内存中。
6.根据权利要求5所述的数据恢复方法,其特征在于,所述方法还包括:
通过解码软件将从所述全闪存阵列中读取的,存储于所述主机内存中的源数据进行解码,转变为目标数据。
7.根据权利要求1所述的数据恢复方法,其特征在于,在将所述数据经过所述硬盘接口转移至主机内存中之后,还包括:
检测其他连接于所述主机设备的固态硬盘的健康状态,确定一个或多个健康状态为正常的目标固态硬盘;
将从所述全闪存阵列中转移至所述主机内存的数据写入所述目标固态硬盘。
8.根据权利要求1所述的数据恢复方法,其特征在于,所述方法还包括:
在所述固态硬盘的健康状态为正常时,获取存于所述固态硬盘中的原始映射表,根据所述原始映射表在所述主机设备中生成备份映射表,以及当所述原始映射表发生更新时,相应更新所述备份映射表;
所述方法还包括:
响应于所述原始映射表丢失;所述映射表包括全闪存阵列中的物理地址和虚拟地址的映射关系;
根据所述备份映射表读取所述全闪存阵列中的数据。
9.一种数据恢复装置,其特征在于,所述装置应用于主机设备;所述主机设备与固态硬盘通过硬盘接口连接,所述固态硬盘包括全闪存阵列、设于所述硬盘接口和所述全闪存阵列之间的相互独立的固有传输通道和备用传输通道,所述装置包括:
健康状态监测模块:用于监测所述固态硬盘的健康状态;
备用通道启动模块:用于响应于所述固态硬盘的健康状态为故障,表明所述固有传输通道的数据传输中断,启动所述备用传输通道;
数据转移模块:用于通过所述备用传输通道将存于所述全闪存阵列中的数据转移至主机内存中。
10.一种固态硬盘,其特征在于,所述固态硬盘包括硬盘接口、全闪存阵列、设于所述硬盘接口和所述全闪存阵列之间的相互独立的固有传输通道和备用传输通道。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211714147.8A CN115934403A (zh) | 2022-12-29 | 2022-12-29 | 数据恢复方法、装置及固态硬盘 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211714147.8A CN115934403A (zh) | 2022-12-29 | 2022-12-29 | 数据恢复方法、装置及固态硬盘 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115934403A true CN115934403A (zh) | 2023-04-07 |
Family
ID=86557637
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211714147.8A Pending CN115934403A (zh) | 2022-12-29 | 2022-12-29 | 数据恢复方法、装置及固态硬盘 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115934403A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116543822A (zh) * | 2023-05-15 | 2023-08-04 | 深圳市领德创科技有限公司 | 一种应用于固态硬盘的闪存测试及处理方法和系统 |
-
2022
- 2022-12-29 CN CN202211714147.8A patent/CN115934403A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116543822A (zh) * | 2023-05-15 | 2023-08-04 | 深圳市领德创科技有限公司 | 一种应用于固态硬盘的闪存测试及处理方法和系统 |
CN116543822B (zh) * | 2023-05-15 | 2024-04-05 | 深圳市领德创科技有限公司 | 一种应用于固态硬盘的闪存测试及处理方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8943358B2 (en) | Storage system, apparatus, and method for failure recovery during unsuccessful rebuild process | |
US7984325B2 (en) | Storage control device, data recovery device, and storage system | |
US6785783B2 (en) | NUMA system with redundant main memory architecture | |
JP5887757B2 (ja) | ストレージシステム、ストレージ制御装置およびストレージ制御方法 | |
US20060212748A1 (en) | Storage control apparatus and method | |
US8411526B2 (en) | Storage device, electronic device, and storage device control method | |
JP2004038290A (ja) | 情報処理システムおよび同システムで用いられるディスク制御方法 | |
US8225136B2 (en) | Control method and storage device | |
JP2006079418A (ja) | 記憶制御装置、制御方法及びプログラム | |
US10338844B2 (en) | Storage control apparatus, control method, and non-transitory computer-readable storage medium | |
WO2021088367A1 (zh) | 数据恢复方法及相关设备 | |
US11809295B2 (en) | Node mode adjustment method for when storage cluster BBU fails and related component | |
CN115599607B (zh) | 一种raid阵列的数据恢复方法及相关装置 | |
CN115934403A (zh) | 数据恢复方法、装置及固态硬盘 | |
JP5040331B2 (ja) | 記憶装置、記憶装置の制御方法、及び記憶装置の制御プログラム | |
JPWO2009098777A1 (ja) | バックアップ方法、コントローラ、及びディスクアレイシステム | |
CN110837444A (zh) | 一种存储器故障处理方法及装置 | |
CN116414616A (zh) | 一种固态硬盘ssd故障恢复方法、ssd及系统 | |
JP6540202B2 (ja) | 情報処理システム、制御装置および制御プログラム | |
CN111880636B (zh) | 一种存储阵列的断电保护方法及相关装置 | |
JP3776438B2 (ja) | 記憶装置 | |
CN108628701B (zh) | 缓存数据的保护方法及装置 | |
US8453007B2 (en) | Storage device and recovery method | |
CN111400096B (zh) | 基于linux缺页机制的内存镜像方法及其系统和装置 | |
WO2021082011A1 (zh) | 应用于磁盘阵列系统的数据重构方法、装置及计算设备 |
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 |