CN114297000B - 一种数据备份方法、装置、设备及存储介质 - Google Patents
一种数据备份方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114297000B CN114297000B CN202111591768.7A CN202111591768A CN114297000B CN 114297000 B CN114297000 B CN 114297000B CN 202111591768 A CN202111591768 A CN 202111591768A CN 114297000 B CN114297000 B CN 114297000B
- Authority
- CN
- China
- Prior art keywords
- solid state
- state disk
- data
- information
- block addresses
- 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
- 238000000034 method Methods 0.000 title claims abstract description 47
- 239000007787 solid Substances 0.000 claims abstract description 265
- 238000013507 mapping Methods 0.000 claims abstract description 58
- 238000006243 chemical reaction Methods 0.000 claims abstract description 47
- 230000002159 abnormal effect Effects 0.000 claims abstract description 19
- 238000013500 data storage Methods 0.000 claims description 28
- 238000004590 computer program Methods 0.000 claims description 17
- 238000012163 sequencing technique Methods 0.000 claims description 11
- 238000013519 translation Methods 0.000 claims description 11
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000011084 recovery Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000002708 enhancing effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
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
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种固态硬盘数据备份方法、装置、设备及存储介质,包括:当第一固态硬盘发生异常掉电事件后,通过预设专用数据读取通道读取第一固态硬盘的配置信息;基于配置信息对第二固态硬盘进行相应的参数配置,以得到与第一固态硬盘的配置相一致的第二固态硬盘;对第一固态硬盘中用于记录用户数据对应的地址信息的元数据进行扫描以创建得到第一固态硬盘的闪存转换层映射表;基于闪存转换层映射表从第一固态硬盘中读取相应的用户数据,并将读取到的用户数据写入第二固态硬盘。本申请基于第一固态硬盘的配置信息配置第二固态硬盘并构建闪存转换层映射表,然后根据该信息表将用户数据备份至第二固态硬盘,从而实现故障固态硬盘的整盘备份。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种数据备份方法、装置、设备及存储介质。
背景技术
当前,SSD(Solid State Disk,固态硬盘)在使用过程中可能会因为某些原因造成SSD上电无法正常加载。其中,SSD上电启动过程一般都会有下电状态的判断,用于确认上次的下电是否执行完成,如果上次的下电没有执行完成,SSD固件会考虑做特殊处理,比如固件holding(保持)等。比如,当SSD遭遇异常掉电时,固件没有完成掉电处理流程,丢失了需要刷写到NAND(计算机闪存设备)中进行永久存储的数据,从而导致SSD再次上电时可能无法正常加载。由此可知,如何解决故障SSD的数据恢复和备份就成了一件非常重要的问题了。
发明内容
有鉴于此,本发明的目的在于提供一种数据备份方法、装置、设备以及存储介质,能够实现故障固态硬盘的整盘备份,有利于避免数据丢失造成的损失,有效增强固态硬盘的可用性。其具体方案如下:
第一方面,本申请公开了一种固态硬盘数据备份方法,包括:
当第一固态硬盘发生异常掉电事件后,通过预设专用数据读取通道读取所述第一固态硬盘的配置信息;
基于所述配置信息对第二固态硬盘进行相应的参数配置,以得到与所述第一固态硬盘的配置相一致的所述第二固态硬盘;
对所述第一固态硬盘中用于记录用户数据对应的地址信息的元数据进行扫描以创建得到所述第一固态硬盘的闪存转换层映射表;
基于所述闪存转换层映射表从所述第一固态硬盘中读取相应的用户数据,并将读取到的所述用户数据写入所述第二固态硬盘。
可选的,所述通过预设专用数据读取通道读取所述第一固态硬盘的配置信息,包括:
通过预设专用数据读取通道读取所述第一固态硬盘的超级块数据以及配置文件,并对所述超级块数据以及所述配置文件进行解析以得到相应的命名空间配置信息;
相应的,所述基于所述配置信息对第二固态硬盘进行相应的参数配置,以得到与所述第一固态硬盘的配置相一致的所述第二固态硬盘,包括:
基于所述命名空间配置信息对第二固态硬盘进行相应的参数配置,以得到与所述第一固态硬盘的配置相一致的所述第二固态硬盘。
可选的,所述对所述第一固态硬盘中用于记录用户数据对应的地址信息的元数据进行扫描以创建得到所述第一固态硬盘的闪存转换层映射表,包括:
对所述第一固态硬盘中每个数据存储单元中的元数据进行扫描,以得到相应的扫描结果;所述数据存储单元用于记录预设数据大小的用户数据以及相应的包含所述用户数据对应的逻辑块地址以及写入时间戳的元数据;
对所述扫描结果中各所述逻辑块地址对应的物理块地址进行排序,并利用一个全局量记录基于所述写入时间戳得到的不同所述物理块地址对应的排序序号;
在本地内存中开辟一个表空间,并将所述表空间中的不同表项配置为用于记录不同所述数据存储单元中的所述逻辑块地址对应的物理块地址以及相应的所述排序序号的表项;
利用所述扫描结果中各所述逻辑块地址对应的物理块地址以及所述排序序号对所述表空间中的表项进行相应的信息写入操作,并将所述扫描结果中记录的逻辑块地址分别索引至所述表空间中相应的表项,以创建得到所述第一固态硬盘的闪存转换层映射表。
可选的,所述利用所述扫描结果中各所述逻辑块地址对应的物理块地址以及所述排序序号对所述表空间中的表项进行相应的信息写入操作的过程中,包括:
当获取到目标逻辑块地址对应的待写入表项信息,则以所述目标逻辑块地址为索引对所述表空间进行查找,以确定当前所述表空间中是否存在与所述目标逻辑块地址对应的目标表项;
如果不存在,则将所述待写入表项信息写入当前所述表空间中的一个空表项中,以得到与所述目标逻辑块地址对应的目标表项;
如果存在,则判断所述待写入表项信息中的排序序号是否大于所述目标表项中的排序序号,如果是则利用所述待写入表项信息对当前所述目标表项中的信息进行替换。
可选的,所述基于所述闪存转换层映射表从所述第一固态硬盘中读取相应的用户数据,包括:
依次读取所述闪存转换层映射表中的所述物理块地址,并利用读取到的所述物理块地址以及预设的数据读取工具,读取所述第一固态硬盘中与所述物理块地址对应的所述用户数据。
可选的,所述为所述表空间中不同的表项配置不同的索引信息,包括:
将所述表空间中不同表项对应的逻辑块地址配置为相应所述表项对应的索引信息。
可选的,所述将读取到的所述用户数据写入所述第二固态硬盘,包括:
基于所述表空间中不同表项对应的逻辑块地址构建相应的主机逻辑块地址;
利用预设的数据写入工具,并基于所述主机逻辑块地址将读取到的所述用户数据写入所述第二固态硬盘。
第二方面,本申请公开了一种数据备份装置,包括:
配置信息读取模块,用于当第一固态硬盘发生异常掉电事件后,通过预设专用数据读取通道读取所述第一固态硬盘的配置信息;
参数配置模块,用于基于所述配置信息对第二固态硬盘进行相应的参数配置,以得到与所述第一固态硬盘的配置相一致的所述第二固态硬盘;
信息表创建模块,用于对所述第一固态硬盘中用于记录用户数据对应的地址信息的元数据进行扫描以创建得到所述第一固态硬盘的闪存转换层映射表;
数据读取模块,用于基于所述闪存转换层映射表从所述第一固态硬盘中读取相应的用户数据,
数据写入模块,用于将读取到的所述用户数据写入所述第二固态硬盘。
第三方面,本申请公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现前述公开的固态硬盘数据备份方法的步骤。
第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的固态硬盘数据备份方法的步骤。
可见,本申请提供了一种固态硬盘数据备份方法,包括当第一固态硬盘发生异常掉电事件后,通过预设专用数据读取通道读取所述第一固态硬盘的配置信息;基于所述配置信息对第二固态硬盘进行相应的参数配置,以得到与所述第一固态硬盘的配置相一致的所述第二固态硬盘;对所述第一固态硬盘中用于记录用户数据对应的地址信息的元数据进行扫描以创建得到所述第一固态硬盘的闪存转换层映射表;基于所述闪存转换层映射表从所述第一固态硬盘中读取相应的用户数据,并将读取到的所述用户数据写入所述第二固态硬盘。由此可知,本申请利用预设专用数据读取通道读取发生异常掉电的第一固态硬盘中的配置信息,然后基于配置信息对第二固态硬盘进行配置并构建出闪存转换层映射表,进一步根据闪存转换层映射表将从第一固态硬盘中读取的用户数据写入至第二固态硬盘,从而实现故障固态硬盘的整盘备份,有利于避免数据丢失造成的损失,有效增强固态硬盘的可用性,从而提高固态硬盘的市场竞争力。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种固态硬盘数据备份方法流程图;
图2为本申请公开的一种数据存储单元中的数据帧结构示意图;
图3为本申请公开的一种具体的固态硬盘数据备份方法流程图;
图4为本申请公开的一种具体的固态硬盘数据备份方法流程图;
图5为本申请公开的一种闪存转换层映射表示意图;
图6为本申请公开的一种固态硬盘数据备份装置结构示意图;
图7为本申请公开的一种电子设备结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
当前,固态硬盘的异常掉电,会造成需要刷写到计算机闪存设备中进行永久存储的数据的丢失,从而导致SSD再次上电时可能无法正常加载。由此可知,如何解决故障SSD的数据恢复和备份就成了一件非常重要的问题了。然而,在现有技术中对丢失数据的恢复功能并非固态硬盘的标配功能。为此,本申请提供了一种固态硬盘数据备份方法,可以将故障的固态硬盘中的数据备份到用于备份的固态硬盘上,从而实现故障固态硬盘的整盘备份,有利于避免数据丢失造成的损失,有效增强固态硬盘的可用性。
本发明实施例公开了一种固态硬盘数据备份方法,参见图1所示,该方法包括:
步骤S11:当第一固态硬盘发生异常掉电事件后,通过预设专用数据读取通道读取所述第一固态硬盘的配置信息。
本实施例中,当第一固态硬盘遭遇异常掉电后,所述第一固态硬盘无法完成正常的掉电处理流程,此时主机端可以通过预设专用数据通道读取所述第一固态硬盘的配置信息。可以理解的是,所述第一固态硬盘发生异常掉电时,也可以间接判断出所述第一固态硬盘发生了故障,因此需要通过预设专用数据读取通道将所述第一固态硬盘中的配置信息读取出来以备后续步骤的使用。
步骤S12:基于所述配置信息对第二固态硬盘进行相应的参数配置,以得到与所述第一固态硬盘的配置相一致的所述第二固态硬盘。
本实施例中,通过预设专用数据读取通道读取所述第一固态硬盘的配置信息之后,主机端则基于所述配置信息对第二固态硬盘进行相应的参数配置,以得到与所述第一固态硬盘的配置相一致的所述第二固态硬盘。可以理解的是,所述第二固态硬盘用于替代所述第一固态硬盘存储数据,主机端会将所述第一固态硬盘中的数据备份至所述第二固态硬盘,从而利用所述第二固态硬盘接替所述第一固态硬盘的存储工作并对所述第一固态硬盘进行维修。
步骤S13:对所述第一固态硬盘中用于记录用户数据对应的地址信息的元数据进行扫描以创建得到所述第一固态硬盘的闪存转换层映射表。
需要指出的是,所述第一固态硬盘采用4K+大小的单元格式存储数据,以得到相应的数据存储单元,并将该数据存储单元命名为DateFrame(数据帧),所述数据帧的结构如图2所示,所述数据帧保存有4K用户数据(4K UserData)以及16字节元数据(16bytes CtrlMeta),其中,所述元数据记录有所述用户数据对应的地址信息等关键信息,其属性为控制类的元数据。
本实施例中,主机端利用预设扫描工具对所述第一固态硬盘中用于记录用户数据对应的地址信息的元数据进行扫描以创建得到所述第一固态硬盘的闪存转换层映射表。可以理解的是,对所述元数据扫描后会得到所述第一固态硬盘中记录的用户数据对应的地址信息,从而主机端能够利用所述地址信息创建闪存转换层映射表。
步骤S14:基于所述闪存转换层映射表从所述第一固态硬盘中读取相应的用户数据,并将读取到的所述用户数据写入所述第二固态硬盘。
本实施例中,创建得到所述第一固态硬盘的闪存转换层映射表之后,则基于所述闪存转换层映射表从所述第一固态硬盘中读取相应的用户数据,并将读取到的所述用户数据写入所述第二固态硬盘。可以理解的是,所述第一固态硬盘中的每一份4K用户数据对应着一个元数据,并且所述元数据记录着与所述用户数据对应的地址信息等关键信息,而又由于所述闪存转换层映射表基于所述元数据完成创建的,所以当主机端根据所述闪存转换层映射表从所述第一固态硬盘中读取相应的用户数据时,就可以直接将所述用户数据写入到所述第二固态硬盘中进行保存。
可见,本申请实施例中利用预设专用数据读取通道读取发生异常掉电的第一固态硬盘中的配置信息,然后基于配置信息对第二固态硬盘进行配置并构建出闪存转换层映射表,进一步根据闪存转换层映射表将从第一固态硬盘中读取的用户数据写入至第二固态硬盘,从而实现故障固态硬盘的整盘备份,有利于避免数据丢失造成的损失,有效增强固态硬盘的可用性,从而提高固态硬盘的市场竞争力。
参见图3所示,本发明实施例公开了一种具体的固态硬盘数据备份方法,相较于上一实施例,本实施例对技术方案作了进一步的说明和优化。
步骤S21:通过预设专用数据读取通道读取所述第一固态硬盘的超级块数据以及配置文件,并对所述超级块数据以及所述配置文件进行解析以得到相应的命名空间配置信息。
本实施例中,当第一固态硬盘发生异常掉电事件后,通过预设专用数据读取通道读取所述第一固态硬盘的超级块数据以及配置文件,并对所述超级块数据以及所述配置文件进行解析以得到相应的命名空间配置信息。可以理解的是,所述第一固态硬盘发生故障导致异常下电之后,主机端则通过预设专用数据通道读取所述第一固态硬盘的超级块数据以及所述配置文件,由于所述超级块数据以及所述配置文件中记录着配置固态硬盘信息的关键配置信息,所以获取到所述超级块数据以及所述配置文件之后,则对所述超级块数据以及所述配置文件进行解析,从而得到相应的命名空间配置信息。
步骤S22:基于所述命名空间配置信息对第二固态硬盘进行相应的参数配置,以得到与所述第一固态硬盘的配置相一致的所述第二固态硬盘。
本实施例中,对所述超级块数据以及所述配置文件进行解析以得到相应的命名空间配置信息之后,主机端则基于所述命名空间配置信息对第二固态硬盘进行相应的参数配置,以得到与所述第一固态硬盘的配置相一致的所述第二固态硬盘。可以理解的是,利用所述第一固态硬盘的命名空间配置信息对所述第二固态硬盘进行配置,就可以使得所述第二固态硬盘与所述第一固态硬盘的配置保持一致。
步骤S23:对所述第一固态硬盘中用于记录用户数据对应的地址信息的元数据进行扫描以创建得到所述第一固态硬盘的闪存转换层映射表。
步骤S24:基于所述闪存转换层映射表从所述第一固态硬盘中读取相应的用户数据,并将读取到的所述用户数据写入所述第二固态硬盘。
其中,关于上述步骤S23至步骤S24的具体过程可以参考前述实施例公开的相应内容,在此不再进行赘述。
可见,本申请实施例中利用预设专用数据读取通道读取发生异常掉电的第一固态硬盘中的超级块数据以及配置文件,从而解析所述超级块数据以及所述配置文件之后得到相应的命名空间配置信息,然后基于所述命名空间配置信息对第二固态硬盘进行配置并构建出闪存转换层映射表,进一步根据闪存转换层映射表将从第一固态硬盘中读取的用户数据写入至第二固态硬盘,从而实现故障固态硬盘的整盘备份,有利于避免数据丢失造成的损失,有效增强固态硬盘的可用性,从而提高固态硬盘的市场竞争力。
参见图4所示,本发明实施例公开了一种具体的固态硬盘数据备份方法,相较于上一实施例,本实施例对技术方案作了进一步的说明和优化。
步骤S31:当第一固态硬盘发生异常掉电事件后,通过预设专用数据读取通道读取所述第一固态硬盘的配置信息。
步骤S32:基于所述配置信息对第二固态硬盘进行相应的参数配置,以得到与所述第一固态硬盘的配置相一致的所述第二固态硬盘。
其中,关于上述步骤S31至步骤S32的具体过程可以参考前述实施例公开的相应内容,在此不再进行赘述。
步骤S33:对所述第一固态硬盘中每个数据存储单元中的元数据进行扫描,以得到相应的扫描结果;所述数据存储单元用于记录预设数据大小的用户数据以及相应的包含所述用户数据对应的逻辑块地址以及写入时间戳的元数据。
本实施例中,由于所述第一固态硬盘中每个数据存储单元中的元数据中记录有用于构建闪存转换层映射表关键的信息,所以需要对所述元数据进行扫描,以得到相应的扫描结果。可以理解的是,所述数据存储单元记录有预设数据大小的用户数据以及相应的包含与所述用户数据对应的逻辑块地址和所述用户数据写入对应的写入时间戳的元数据,所以所述扫描结果记录着所述用户数据所对应的逻辑块地址和所述用户数据写入时对应的写入时间戳的等关键数据信息。
步骤S34:对所述扫描结果中各所述逻辑块地址对应的物理块地址进行排序,并利用一个全局量记录基于所述写入时间戳得到的不同所述物理块地址对应的排序序号。
本实施例中,对所述第一固态硬盘中每个数据存储单元中的元数据进行扫描,以得到相应的扫描结果之后,则对所述扫描结果中不同的所述逻辑块地址对应的所述物理块地址进行排序,并利用一个全局量基于所述写入时间戳得到的不同所述物理块地址对应的排序序号。可以理解的是,所述全局量与所述排序序号是相对应的,也即,每当从所述第一固态硬盘中扫描到一个新的所述数据存储单元中的元数据时,提取出所述元数据中的所述逻辑块地址和相应的排序序号,然后利用一个全局量记录基于所述写入时间戳得到的不同所述物理块地址对应的排序序号,所述全局量的数值可以与所述排序序号的数值相一致,或者每执行一次所述利用一个全局量记录基于所述写入时间戳得到的不同所述物理块地址对应的排序序号的步骤,所述全局量就在上一所述全局量的基础上实现数值加一。对于只搬移数据的GC(Garbage Collection,垃圾回收)等过程,一般不做所述全局量的修改,而且在固态硬盘整个寿命过程中所述全局量都不能发生反转。
步骤S35:在本地内存中开辟一个表空间,并将所述表空间中的不同表项配置为用于记录不同所述数据存储单元中的所述逻辑块地址对应的物理块地址以及相应的所述排序序号的表项。
本实施例中,在本地内存中开辟一个表空间,并将所述表空间中的不同表项配置为用于记录不同所述数据存储单元中的所述逻辑块地址对应的物理块地址以及相应的所述排序序号的表项。可以理解的是,所述表空间由不同的表项构成并且每个表项分别记录着不同的数据存储单元中的用户数据所对应的物理块地址以及相应的所述排序序号,从而确定出所述表项的数据结构。
步骤S36:利用所述扫描结果中各所述逻辑块地址对应的物理块地址以及所述排序序号对所述表空间中的表项进行相应的信息写入操作,并将所述扫描结果中记录的逻辑块地址分别索引至所述表空间中相应的表项,以创建得到所述第一固态硬盘的闪存转换层映射表。
本实施例中,对所述第一固态硬盘中每个数据存储单元中的元数据进行扫描,以得到相应的扫描结果,利用所述扫描结果中各所述逻辑块地址对应的物理块地址以及所述排序序号对所述表空间中的表项进行相应的信息写入操作,并将所述扫描结果中记录的逻辑块地址分别索引至所述表空间中相应的表项,也即,将所述表空间中不同表项对应的逻辑块地址配置为相应所述表项对应的索引信息,从而在主机端构建出不同索引信息对应不同表项的所述第一固态硬盘的闪存转换层映射表。不同的逻辑块地址对应不一样的表项,也即每一个逻辑地址对应一个表项。如图5所示,所述表项设置为FTL entry(FlashTranslation Layer entry,闪存转换层表项),每个FTL entry的形式表示为(PBA,seq_num),其中,PBA(Physical Block Address,物理块地址)表示不同所述数据存储单元中的所述物理块地址,seq_num表示用于记录不同所述物理块地址对应的全局量。主机端的闪存转换层映射表中的每个表项中的表项信息都包含不同的PBA和与PBA对应的seq_num,并且每个表项对应一个LBA(Logical Block Address,逻辑块地址)。
本实施例中,所述利用所述扫描结果中各所述逻辑块地址对应的物理块地址以及所述排序序号对所述表空间中的表项进行相应的信息写入操作的过程中,可以包括:当获取到目标逻辑块地址对应的待写入表项信息,则以所述目标逻辑块地址为索引对所述表空间进行查找,以确定当前所述表空间中是否存在与所述目标逻辑块地址对应的目标表项;如果不存在,则将所述待写入表项信息写入当前所述表空间中的一个空表项中,以得到与所述目标逻辑块地址对应的目标表项;如果存在,则判断所述待写入表项信息中的排序序号是否大于所述目标表项中的排序序号,如果是则利用所述待写入表项信息对当前所述目标表项中的信息进行替换。
可以理解的是,当扫描所述第一固态硬盘中每个数据存储单元中的元数据时,得到相应的目标逻辑块地址,将所述逻辑块地址对应的物理块地址与当前的全局量确定为与所述目标逻辑块地址对应的待写入表项信息,也即,所述待写入表项信息包括与所述目标逻辑块地址对应的物理块地址以及排序序号。以所述目标逻辑块地址为索引对所述表空间进行查找,以确定当前所述表空间中是否存在与所述目标逻辑块地址对应的目标表项,如果当前所述表空间中不存在与所述目标逻辑块地址对应的目标表项,则将所述待写入表项信息写入当前所述表空间中的一个空表项中,以得到与所述目标逻辑块地址对应的目标表项;如果当前所述表空间中存在与所述目标逻辑块地址对应的目标表项存在,则判断所述待写入表项信息中的排序序号是否大于所述目标表项中的排序序号,如果是则利用所述待写入表项信息对当前所述目标表项中的信息进行替换。例如,当扫描所述第一固态硬盘中的一个数据存储单元中的元数据得到一个当前的逻辑块地址时,则以当前的所述逻辑块地址为索引对所述表空间进行查找,并查找到与当前的所述逻辑块地址对应的一个FTLentry时,首先判断FTL entry是否已被写入,若未被写入,则将获取得到的当前表项信息写入到空表项中,从而得到与当前的所述逻辑块地址有映射关系的FTL entry(PBA,seq_num),若已被写入,则比较当前表项信息的seq_num和已存入表空间中的与所述当前的逻辑块地址对应的FTL entry的表项信息中的seq_num,并且将seq_num数值大的FTL entry中的LBA作为与所述当前的逻辑块地址对应的最终结果,并将其更新到闪存转换层映射表中。
步骤S37:依次读取所述闪存转换层映射表中的所述物理块地址,并利用读取到的所述物理块地址以及预设的数据读取工具,读取所述第一固态硬盘中与所述物理块地址对应的所述用户数据。
本实施例中,在主机端创建好所述闪存转换层映射表之后,就可以通过依次读取所述闪存转换层映射表中的所述物理块地址,并利用读取到的所述物理块地址以及预设的数据读取工具,读取所述第一固态硬盘中与所述物理块地址对应的所述用户数据。可以理解的是,所述闪存转换层映射表中物理块地址也就是所述第一固态硬盘存储所述用户数据的地址,因此可以利用从所述闪存转换层映射表读取到的所述物理块地址在所述第一固态硬盘中检索出与所述物理块地址对应的用户数据。
步骤S38:将读取到的所述用户数据写入所述第二固态硬盘。
本实施例中,利用所述预设的数据读取工具读取所述第一固态硬盘中与所述物理块地址对应的所述用户数据之后,即可将所述用户数据写入所述第二固态硬盘。具体地,基于所述表空间中不同表项对应的逻辑块地址构建相应的主机逻辑块地址;利用预设的数据写入工具,并基于所述主机逻辑块地址将读取到的所述用户数据写入所述第二固态硬盘。可以理解的是,所述表空间中的不同表项中的物理块地址与所述第二固态硬盘的物理块地址一致,也即所述第一固态硬盘中的物理块地址与所述第二固态硬盘的物理块地址是一致的,所以在将从所述第一固态硬盘中读取到的用户数据写入所述第二固态硬盘,需要基于所述表空间中不同表项中的物理地址所对应的逻辑块地址构建相应的主机逻辑块地址,从而实现在主机端恢复工具的控制下,将发生异常掉电的所述第一固态硬盘的数据备份至所述第二固态硬盘。
需要指出的是,所述主机端可以是服务器或者PC(Personal Computer,个人计算机)等可以挂在固态硬盘的平台。并且所述预设的数据读取工具与所述预设的数据写入工具可以是同一个具有读取与写入功能的数据操作工具,例如,所述数据操作工具可以为预设的NVMe CLI(Non Volatile Memory express Command Line Interface,非易失性内存表示命令行接口)工具,可以利用所述预设的NVMe CLI工具读取所述第一固态硬盘中与所述物理块地址对应的所述用户数据或者利用所述预设的NVMe CLI工具将读取到的所述用户数据写入所述第二固态硬盘。
可见,本申请实施例中利用预设专用数据读取通道读取发生异常掉电的第一固态硬盘中的配置信息,然后基于配置信息对第二固态硬盘进行配置并构建出闪存转换层映射表,进一步根据闪存转换层映射表将从第一固态硬盘中读取的用户数据写入至第二固态硬盘,从而实现故障固态硬盘的整盘备份,有利于避免数据丢失造成的损失,有效增强固态硬盘的可用性,从而提高固态硬盘的市场竞争力。
相应的,本申请实施例还公开了一种固态硬盘数据备份装置,参见图6所示,该装置包括:
配置信息读取模块11,用于当第一固态硬盘发生异常掉电事件后,通过预设专用数据读取通道读取所述第一固态硬盘的配置信息;
参数配置模块12,用于基于所述配置信息对第二固态硬盘进行相应的参数配置,以得到与所述第一固态硬盘的配置相一致的所述第二固态硬盘;
信息表创建模块13,用于对所述第一固态硬盘中用于记录用户数据对应的地址信息的元数据进行扫描以创建得到所述第一固态硬盘的闪存转换层映射表;
数据读取模块14,用于基于所述闪存转换层映射表从所述第一固态硬盘中读取相应的用户数据,
数据写入模块15,用于将读取到的所述用户数据写入所述第二固态硬盘。
可见,本申请实施例中利用预设专用数据读取通道读取发生异常掉电的第一固态硬盘中的配置信息,然后基于配置信息对第二固态硬盘进行配置并构建出闪存转换层映射表,进一步根据闪存转换层映射表将从第一固态硬盘中读取的用户数据写入至第二固态硬盘,从而实现故障固态硬盘的整盘备份,有利于避免数据丢失造成的损失,有效增强固态硬盘的可用性,从而提高固态硬盘的市场竞争力。
在一些具体实施例中,所述配置信息读取模块11,具体包括:
第一数据读取单元,用于通过预设专用数据读取通道读取所述第一固态硬盘的超级块数据以及配置文件;
数据解析单元,用于对所述超级块数据以及所述配置文件进行解析以得到相应的命名空间配置信息。
在一些具体实施例中,所述参数配置模块12,具体包括:
参数配置单元,用于基于所述命名空间配置信息对第二固态硬盘进行相应的参数配置,以得到与所述第一固态硬盘的配置相一致的所述第二固态硬盘。
在一些具体实施例中,所述信息表创建模块13,具体包括:
数据扫描单元,用于对所述第一固态硬盘中每个数据存储单元中的元数据进行扫描,以得到相应的扫描结果;所述数据存储单元用于记录预设数据大小的用户数据以及相应的包含所述用户数据对应的逻辑块地址以及写入时间戳的元数据;
地址排序单元,用于对所述扫描结果中各所述逻辑块地址对应的物理块地址进行排序,并利用一个全局量记录基于所述写入时间戳得到的不同所述物理块地址对应的排序序号;
表空间开辟单元,用于在本地内存中开辟一个表空间,并将所述表空间中的不同表项配置为用于记录不同所述数据存储单元中的所述逻辑块地址对应的物理块地址以及相应的所述排序序号的表项;
信息写入单元,用于利用所述扫描结果中各所述逻辑块地址对应的物理块地址以及所述排序序号对所述表空间中的表项进行相应的信息写入操作,并将所述扫描结果中记录的逻辑块地址分别索引至所述表空间中相应的表项,以创建得到所述第一固态硬盘的闪存转换层映射表。
在一些具体实施例中,所述利用所述扫描结果中各所述逻辑块地址对应的物理块地址以及所述排序序号对所述表空间中的表项进行相应的信息写入操作,具体还包括:
目标表项确定单元,用于当获取到目标逻辑块地址对应的待写入表项信息,则以所述目标逻辑块地址为索引对所述表空间进行查找,以确定当前所述表空间中是否存在与所述目标逻辑块地址对应的目标表项;
信息写入单元,用于当当前所述表空间中不存在与所述目标逻辑块地址对应的目标表项,则将所述待写入表项信息写入当前所述表空间中的一个空表项中,以得到与所述目标逻辑块地址对应的目标表项;
信息替换单元,用于当当前所述表空间中存在与所述目标逻辑块地址对应的目标表项,则判断所述待写入表项信息中的排序序号是否大于所述目标表项中的排序序号,如果是则利用所述待写入表项信息对当前所述目标表项中的信息进行替换。
在一些具体实施例中,所述为所述表空间中不同的表项配置不同的索引信息,具体包括:
信息配置单元,将所述表空间中不同表项对应的逻辑块地址配置为相应所述表项对应的索引信息。
在一些具体实施例中,所述数据读取模块14,具体包括:
第二数据读取单元,用于依次读取所述闪存转换层映射表中的所述物理块地址,并利用读取到的所述物理块地址以及预设的数据读取工具,读取所述第一固态硬盘中与所述物理块地址对应的所述用户数据。
在一些具体实施例中,所述数据写入模块15,具体包括:
地址构建单元,用于基于所述表空间中不同表项对应的逻辑块地址构建相应的主机逻辑块地址;
数据写入单元,用于利用预设的数据写入工具,并基于所述主机逻辑块地址将读取到的所述用户数据写入所述第二固态硬盘。
进一步的,本申请实施例还提供了一种电子设备。图7是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本申请的使用范围的任何限制。
图7为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的固态硬盘数据备份方法中的相关步骤。另外,本实施例中的电子设备20具体可以为电子计算机。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作系统221、计算机程序222等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的固态硬盘数据备份方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
进一步的,本申请实施例还公开了一种存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,实现前述任一实施例公开的固态硬盘数据备份方法步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种固态硬盘数据备份方法、装置、设备以及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (9)
1.一种固态硬盘数据备份方法,其特征在于,包括:
当第一固态硬盘发生异常掉电事件后,通过预设专用数据读取通道读取所述第一固态硬盘的配置信息;
基于所述配置信息对第二固态硬盘进行相应的参数配置,以得到与所述第一固态硬盘的配置相一致的所述第二固态硬盘;
对所述第一固态硬盘中用于记录用户数据对应的地址信息的元数据进行扫描以创建得到所述第一固态硬盘的闪存转换层映射表;
基于所述闪存转换层映射表从所述第一固态硬盘中读取相应的用户数据,并将读取到的所述用户数据写入所述第二固态硬盘;
其中,所述对所述第一固态硬盘中用于记录用户数据对应的地址信息的元数据进行扫描以创建得到所述第一固态硬盘的闪存转换层映射表,包括:
对所述第一固态硬盘中每个数据存储单元中的元数据进行扫描,以得到相应的扫描结果;所述数据存储单元用于记录预设数据大小的用户数据以及相应的包含所述用户数据对应的逻辑块地址以及写入时间戳的元数据;
对所述扫描结果中各所述逻辑块地址对应的物理块地址进行排序,并利用一个全局量记录基于所述写入时间戳得到的不同所述物理块地址对应的排序序号;
在本地内存中开辟一个表空间,并将所述表空间中的不同表项配置为用于记录不同所述数据存储单元中的所述逻辑块地址对应的物理块地址以及相应的所述排序序号的表项;
利用所述扫描结果中各所述逻辑块地址对应的物理块地址以及所述排序序号对所述表空间中的表项进行相应的信息写入操作,并将所述扫描结果中记录的逻辑块地址分别索引至所述表空间中相应的表项,以创建得到所述第一固态硬盘的闪存转换层映射表。
2.根据权利要求1所述的固态硬盘数据备份方法,其特征在于,所述通过预设专用数据读取通道读取所述第一固态硬盘的配置信息,包括:
通过预设专用数据读取通道读取所述第一固态硬盘的超级块数据以及配置文件,并对所述超级块数据以及所述配置文件进行解析以得到相应的命名空间配置信息;
相应的,所述基于所述配置信息对第二固态硬盘进行相应的参数配置,以得到与所述第一固态硬盘的配置相一致的所述第二固态硬盘,包括:
基于所述命名空间配置信息对第二固态硬盘进行相应的参数配置,以得到与所述第一固态硬盘的配置相一致的所述第二固态硬盘。
3.根据权利要求1所述的固态硬盘数据备份方法,其特征在于,所述利用所述扫描结果中各所述逻辑块地址对应的物理块地址以及所述排序序号对所述表空间中的表项进行相应的信息写入操作的过程中,包括:
当获取到目标逻辑块地址对应的待写入表项信息,则以所述目标逻辑块地址为索引对所述表空间进行查找,以确定当前所述表空间中是否存在与所述目标逻辑块地址对应的目标表项;
如果不存在,则将所述待写入表项信息写入当前所述表空间中的一个空表项中,以得到与所述目标逻辑块地址对应的目标表项;
如果存在,则判断所述待写入表项信息中的排序序号是否大于所述目标表项中的排序序号,如果是则利用所述待写入表项信息对当前所述目标表项中的信息进行替换。
4.根据权利要求1所述的固态硬盘数据备份方法,其特征在于,所述基于所述闪存转换层映射表从所述第一固态硬盘中读取相应的用户数据,包括:
依次读取所述闪存转换层映射表中的所述物理块地址,并利用读取到的所述物理块地址以及预设的数据读取工具,读取所述第一固态硬盘中与所述物理块地址对应的所述用户数据。
5.根据权利要求1所述的固态硬盘数据备份方法,其特征在于,为所述表空间中不同的表项配置不同的索引信息,包括:
将所述表空间中不同表项对应的逻辑块地址配置为相应所述表项对应的索引信息。
6.根据权利要求5所述的固态硬盘数据备份方法,其特征在于,所述将读取到的所述用户数据写入所述第二固态硬盘,包括:
基于所述表空间中不同表项对应的逻辑块地址构建相应的主机逻辑块地址;
利用预设的数据写入工具,并基于所述主机逻辑块地址将读取到的所述用户数据写入所述第二固态硬盘。
7.一种数据备份装置,其特征在于,包括:
配置信息读取模块,用于当第一固态硬盘发生异常掉电事件后,通过预设专用数据读取通道读取所述第一固态硬盘的配置信息;
参数配置模块,用于基于所述配置信息对第二固态硬盘进行相应的参数配置,以得到与所述第一固态硬盘的配置相一致的所述第二固态硬盘;
信息表创建模块,用于对所述第一固态硬盘中用于记录用户数据对应的地址信息的元数据进行扫描以创建得到所述第一固态硬盘的闪存转换层映射表;
数据读取模块,用于基于所述闪存转换层映射表从所述第一固态硬盘中读取相应的用户数据,
数据写入模块,用于将读取到的所述用户数据写入所述第二固态硬盘;
其中,所述信息表创建模块,用于对所述第一固态硬盘中每个数据存储单元中的元数据进行扫描,以得到相应的扫描结果;所述数据存储单元用于记录预设数据大小的用户数据以及相应的包含所述用户数据对应的逻辑块地址以及写入时间戳的元数据;对所述扫描结果中各所述逻辑块地址对应的物理块地址进行排序,并利用一个全局量记录基于所述写入时间戳得到的不同所述物理块地址对应的排序序号;在本地内存中开辟一个表空间,并将所述表空间中的不同表项配置为用于记录不同所述数据存储单元中的所述逻辑块地址对应的物理块地址以及相应的所述排序序号的表项;利用所述扫描结果中各所述逻辑块地址对应的物理块地址以及所述排序序号对所述表空间中的表项进行相应的信息写入操作,并将所述扫描结果中记录的逻辑块地址分别索引至所述表空间中相应的表项,以创建得到所述第一固态硬盘的闪存转换层映射表。
8.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至6任一项所述的固态硬盘数据备份方法的步骤。
9.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的固态硬盘数据备份方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111591768.7A CN114297000B (zh) | 2021-12-23 | 2021-12-23 | 一种数据备份方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111591768.7A CN114297000B (zh) | 2021-12-23 | 2021-12-23 | 一种数据备份方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114297000A CN114297000A (zh) | 2022-04-08 |
CN114297000B true CN114297000B (zh) | 2023-11-03 |
Family
ID=80968933
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111591768.7A Active CN114297000B (zh) | 2021-12-23 | 2021-12-23 | 一种数据备份方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114297000B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103744795A (zh) * | 2013-12-19 | 2014-04-23 | 记忆科技(深圳)有限公司 | 固态硬盘快速启动的方法及其固态硬盘 |
CN112988467A (zh) * | 2021-04-19 | 2021-06-18 | 深圳市安信达存储技术有限公司 | 一种固态硬盘及其数据恢复方法和终端设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210382828A1 (en) * | 2020-06-03 | 2021-12-09 | Alibaba Group Holding Limited | Method and system for facilitating acceleration of a mapping table reconstruction |
-
2021
- 2021-12-23 CN CN202111591768.7A patent/CN114297000B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103744795A (zh) * | 2013-12-19 | 2014-04-23 | 记忆科技(深圳)有限公司 | 固态硬盘快速启动的方法及其固态硬盘 |
CN112988467A (zh) * | 2021-04-19 | 2021-06-18 | 深圳市安信达存储技术有限公司 | 一种固态硬盘及其数据恢复方法和终端设备 |
Non-Patent Citations (1)
Title |
---|
利用SSD和DRAM构建的扩展内存架构;王力玉,等;西安电子科技大学学报(自然科学版);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114297000A (zh) | 2022-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4832521B2 (ja) | フラッシュメモリメディアにおけるデータ管理方法 | |
Breeuwsma et al. | Forensic data recovery from flash memory | |
US8250033B1 (en) | Replication of a data set using differential snapshots | |
US7822595B2 (en) | Systems and methods for selectively copying embedded data files | |
KR101447188B1 (ko) | 플래시 메모리에 최적화된 입출력 제어 방법 및 장치 | |
CN102422265B (zh) | Bios映像管理器 | |
CN103577574A (zh) | 一种基于nand flash的高可靠线性文件系统 | |
CN103577121A (zh) | 一种基于nand flash的高可靠线性文件存取方法 | |
CN107967122B (zh) | 一种块设备的数据写入方法、装置及介质 | |
JP2007012054A (ja) | ファイルシステム保全の最適化されたスタートアップ認証 | |
CN113568582B (zh) | 数据管理方法、装置和存储设备 | |
KR100703680B1 (ko) | 플래시 파일 시스템 | |
CN110781026A (zh) | 嵌入式设备数据存储与修复方法、装置和嵌入式设备 | |
CN114237984A (zh) | 异常掉电下Trim数据的恢复方法、系统及固态硬盘 | |
CN112800019A (zh) | 基于Hadoop分布式文件系统的数据备份方法及系统 | |
CN114297000B (zh) | 一种数据备份方法、装置、设备及存储介质 | |
CN111506255B (zh) | 基于nvm的固态硬盘元数据管理方法及系统 | |
CN114327292B (zh) | 文件管理方法、系统、电子设备和存储介质 | |
CN112214356B (zh) | 文件数据恢复方法、装置、计算机设备及存储介质 | |
US11436105B2 (en) | Data processing method and memory controller utilizing the same | |
KR101111400B1 (ko) | 임베디드 시스템의 데이터 복원 장치 및 방법 | |
KR100756135B1 (ko) | 메모리 데이터베이스를 이용한 플래시 파일 시스템 처리 방법 | |
CN114880277B (zh) | 块设备快照方法、系统和存储介质 | |
Khan | Identifying factors affecting deleted file persistence through empirical study and analysis | |
Zhang et al. | Research on reliability improvement of NAND flash memory in FAT file system |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |