CN116225787A - 一种ssd的元数据恢复方法、装置、设备及介质 - Google Patents
一种ssd的元数据恢复方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN116225787A CN116225787A CN202310232172.0A CN202310232172A CN116225787A CN 116225787 A CN116225787 A CN 116225787A CN 202310232172 A CN202310232172 A CN 202310232172A CN 116225787 A CN116225787 A CN 116225787A
- Authority
- CN
- China
- Prior art keywords
- ssd
- metadata
- bad block
- block
- data
- 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
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/1471—Saving, restoring, recovering or retrying involving logging of persistent data for recovery
-
- 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
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management Or Editing Of Information On Record Carriers (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本申请公开了一种SSD的元数据恢复方法,属于数据存储技术领域,该方法包括:当SSD上电时,则获取SSD的坏块表,并利用坏块表创建Block info表;利用Block info表读取SSD中所有Block上的任意一个page,以建立一级表;利用一级表对SSD中的所有元数据进行恢复。相较于现有技术而言,由于该方法只需要根据Block info表读取SSD中所有Block上的任意一个page就可以建立得到SSD的一级表,并对SSD内的元数据进行数据恢复,这样就可以极大的缩减在创建一级表时所需要的时间,由此就可以极大的缩短SSD在恢复元数据时所需要的时间。相应的,本申请所提供的一种SSD的元数据恢复装置、设备及介质,同样具有上述有益效果。
Description
技术领域
本发明涉及数据存储技术领域,特别涉及一种SSD的元数据恢复方法、装置、设备及介质。
背景技术
SSD(Solid State Disk,固态硬盘)因其能够存储大量的数据,所以,SSD被广泛应用于军事、车载、工控、视频监控、电力、医疗、航空以及数据存储等领域当中。SSD一般是使用NAND(NAND Flash Memory,NAND闪存)作为存储介质。当主机端向SSD发送存储命令时,SSD会将主机端所发送的数据写入至NAND,并产生元数据表。当SSD下电时,SSD会对其内部的数据进行保存,当SSD再次上电时,主机端会对SSD内部所存储的元数据进行恢复。
在现有技术中,SSD通常按照元数据表→一级表→二级表→Block info表的顺序来对SSD内部的数据进行保存,并按照Block info表→二级表→一级表→元数据表的顺序来对SSD内部的数据进行恢复。其中,元数据表是指主机端将数据写入至SSD后所产生的NAND地址存储表;一级表是指元数据表写入SSD后所产生的NAND地址存储表;二级表是指一级表写入SSD后所产生的NAND地址存储表;Block info表是指管理元数据表、一级表和二级表的信息表。
在实际应用中,如果SSD突然发生断电现象,那么SSD在很大概率上不能对二级表和Block info表进行保存。SSD在再次上电时为了保证其内部存储数据的完整性,就需要对Block info表进行重建,并对SSD内的数据进行全盘扫描才能对SSD内部的元数据进行数据恢复。但是,由于SSD的此种数据恢复方法需要读取SSD中所有Block(数据块)上的所有page(页面)才能建立一级表,并利用一级表对SSD中的所有元数据进行数据恢复,这样就导致SSD在恢复元数据时需要耗费大量的时间,进而极大地降低了用户在使用SSD时的用户体验。目前,针对这一技术问题,还没有较为有效的解决办法。
由此可见,如何进一步缩短SSD在恢复元数据时所需要的时间,是本领域技术人员亟待解决的技术问题。
发明内容
有鉴于此,本发明的目的在于提供一种SSD的元数据恢复方法、装置、设备及介质,以在进一步缩短SSD在恢复元数据时所需要的时间。其具体方案如下:
为了解决现有技术中的技术缺陷,本申请提供了一种SSD的元数据恢复方法,包括:
当SSD上电时,则获取所述SSD的坏块表,并利用所述坏块表创建Block info表;
利用所述Block info表读取所述SSD中所有Block上的任意一个page,以建立一级表;
利用所述一级表对所述SSD中的所有元数据进行恢复。
优选的,所述获取所述SSD的坏块表的过程,包括:
利用所述SSD的生产商所提供的坏块数据获取所述SSD的所述坏块表。
优选的,所述获取所述SSD的坏块表的过程,包括:
对所述SSD进行全盘读写和/或擦写,以获取所述SSD的所述坏块表。
优选的,还包括:
若在所述SSD的运行过程中发现新增加的目标坏块数据,则利用所述目标坏块数据对所述坏块表进行更新。
优选的,所述利用所述Block info表读取所述SSD中所有Block上的任意一个page的过程,包括:
利用所述Block info表读取所述SSD中所有Block上的第一个page。
优选的,所述SSD中NAND的结构具体为SLC或MLC或TCL或QLC或PLC。
优选的,所述利用所述一级表对所述SSD中的所有元数据进行恢复的过程,包括:
利用所述一级表和元数据存储标志位对所述SSD中的所有元数据进行恢复;其中,所述元数据存储标志位为任意一个元数据在写入至SSD时所对应的存储标志位。
为了解决现有技术中的技术缺陷,本申请还提供了一种SSD的元数据恢复装置,包括:
SSD上电模块,用于当SSD上电时,则获取所述SSD的坏块表,并利用所述坏块表创建Block info表;
数据读取模块,用于利用所述Block info表读取所述SSD中所有Block上的任意一个page,以建立一级表;
数据恢复模块,用于利用所述一级表对所述SSD中的所有元数据进行恢复。
为了解决现有技术中的技术缺陷,本申请还提供了一种SSD的元数据恢复设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如前述所公开的一种SSD的元数据恢复方法的步骤。
为了解决现有技术中的技术缺陷,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前述所公开的一种SSD的元数据恢复方法的步骤。
可见,在本发明所提供的元数据恢复方法中,当SSD上电时,首先是获取SSD的坏块表,并利用SSD的坏块表创建Block info表;之后,再利用Block info表读取SSD中所有Block上的任意一个page,因为SSD中每一个Block内所有page所存储的数据格式相同,所以,通过Block info表读取SSD中所有Block上的任意一个page就可以建立得到SSD的一级表;最后,再利用一级表对SSD中的所有元数据进行恢复。相较于现有技术而言,由于该方法只需要根据Block info表读取SSD中所有Block上的任意一个page就可以建立得到SSD的一级表,这样就可以节省SSD在建立一级表时所需要的时间,由此就可以极大地缩短SSD在恢复元数据时所需要的时间。相应的,本发明所提供的一种SSD的元数据恢复装置、设备及介质,同样具有上述有益效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例所提供的一种SSD的元数据恢复方法的流程图;
图2为本发明实施例所提供的一种SSD的元数据恢复装置的结构图;
图3为本发明实施例所提供的一种SSD的元数据恢复设备的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的核心是提供一种SSD的元数据恢复方法、装置、设备及介质,以进一步缩短SSD在恢复元数据时所需要的时间。为了使得本领域技术人员能够更好地理解本申请所述的技术方案,下面结合附图和具体实施例对本申请所提供的技术方案作进一步的详细说明。
请参见图1,图1为本发明实施例所提供的一种SSD的元数据恢复方法的流程图,该方法包括:
步骤S11:当SSD上电时,则获取SSD的坏块表,并利用坏块表创建Block info表;
步骤S12:利用Block info表读取SSD中所有Block上的任意一个page,以建立一级表;
步骤S13:利用一级表对SSD中的所有元数据进行恢复。
在本实施例中,是提供了一种SSD的元数据恢复方法,利用该方法来对SSD中的元数据进行恢复,可以极大地缩短SSD在恢复元数据时所需要的时间。在介绍本实施例所提供的技术方案之前,先对SSD的内部结构作简单的说明。在SSD中有两个重要的部件,一个是SSD中的存储颗粒,另一个是SSD的控制器。SSD的存储颗粒一般是由NAND所组成,每个存储颗粒可以存储1bit(比特,二进位制信息单位)、2bit、3bit、4bit甚至是5bit的数据。存储颗粒存储的比特数越多,其密度就越高,制造成本就越低。其中,SSD在读取数据或者向其内部写入数据时的最小单位并不是存储颗粒,而是由一组存储颗粒所组成的page(页)。SSD为了能够实现重复写,SSD需要对已经写入数据的存储颗粒进行擦除操作,SSD擦除数据的最小单位既不是存储颗粒,也不是page,而是由若干个page所组成的Block(数据块)。
在本实施例所提供的元数据恢复方法中,当SSD上电时,首先是获取SSD的坏块表,其中,SSD的坏块表是指由SSD中所有处于异常状态的Block所组成的表。当获取得到SSD的坏块表之后,就可以利用SSD的坏块表创建出SSD的Block info表。可以理解的是,当获取得到SSD的坏块表之后,就可以清楚地知悉到SSD中的哪些Block无法正常存储数据,在此情况下,通过SSD的坏块表就可以创建出SSD的Block info表。由于此表的创建过程为本领域技术人员的公知常识,在此不作具体赘述。
当创建好SSD的Block info表之后,再利用Block info表扫描SSD中的所有NAND存储颗粒,并利用Block info表读取SSD中所有Block上的任意一个page。可以理解的是,因为SSD内任意一个Block内所有page上所存储的元数据类型均相同,所以,当利用Block info表扫描读取SSD中所有Block上的任意一个page以后,就可以根据读取到的数据推测出SSD中所有Block上每一个page所存储的元数据类型,那么,根据SSD所具有的这一属性特征就可以建立起SSD的一级表。
当建立起SSD的一级表之后,就相当于获取得到了SSD中所有元数据在SSD中所对应的NAND存储地址,在此情况下,通过SSD的一级表就可以对SSD中的所有元数据进行恢复。
相较于现有技术中需要读取SSD中所有Block上所有page的存储数据才能建立得到SSD的一级表,并对SSD内的元数据进行数据恢复而言,因为通过本申请所提供的数据恢复方法只需要根据Block info表读取SSD中所有Block上的任意一个page就可以建立得到SSD的一级表,并对SSD内的元数据进行数据恢复。很显然,由于该方法无需对SSD中所有Block上所有page上的存储数据进行逐个扫描才能建立一级表,这样可以极大的缩减在创建一级表时所需要的时间,所以,通过该方法就可以极大的缩短SSD在恢复元数据时所需要的时间。
可见,在本实施例所提供的元数据恢复方法中,当SSD上电时,首先是获取SSD的坏块表,并利用SSD的坏块表创建Block info表;之后,再利用Block info表读取SSD中所有Block上的任意一个page,因为SSD中每一个Block内所有page所存储的数据格式相同,所以,通过Block info表读取SSD中所有Block上的任意一个page就可以建立得到SSD的一级表;最后,再利用一级表对SSD中的所有元数据进行恢复。相较于现有技术而言,由于该方法只需要根据Block info表读取SSD中所有Block上的任意一个page就可以建立得到SSD的一级表,这样就可以节省SSD在建立一级表时所需要的时间,由此就可以极大地缩短SSD在恢复元数据时所需要的时间。
基于上述实施例,本实施例对技术方案作进一步的说明与优化,作为一种优选的实施方式,上述步骤:获取SSD的坏块表的过程,包括:
利用SSD的生产商所提供的坏块数据获取SSD的坏块表。
可以理解的是,SSD从生产商那生产出来的时候就或多或少的存在一些坏块,其中,坏块是指SSD中发生故障的Block。通常情况下,SSD在出厂时的坏块率一般为2%~10%。生产商在SSD出厂时会对SSD中的坏块作相应的标记,并向用户提供SSD中的坏块数据。因此,在实际操作过程中就可以根据SSD生产商所提供的坏块数据获取得到SSD的坏块表。
能够想到的是,当通过SSD生产商所提供的坏块数据来建立SSD的坏块表时,因为可以省去对SSD内的Block进行逐一检测的繁琐步骤,所以,通过该方法来获取SSD的坏块表就可以相对提高在获取SSD坏块表时的便捷性。
显然,通过本实施例所提供的技术方案,就可以提高在获取SSD的坏块表时的便捷度。
基于上述实施例,本实施例对技术方案作进一步的说明与优化,作为一种优选的实施方式,上述步骤:获取SSD的坏块表的过程,包括:
对SSD进行全盘读写和/或擦写,以获取SSD的坏块表。
可以理解的是,SSD除了在出厂时会出现发生故障的Block之外,SSD在使用过程中也可能会出现发生故障的Block。在本实施例中,为了进一步提高获取得到SSD中坏块表的准确性与可靠性,还可以通过对SSD进行全盘读写和/或擦写来获取SSD的坏块表。
具体的,当对SSD进行全盘读写时,如果SSD中的某一个Block不能被正常读写,则说明该Block为SSD中发生故障的Block,所以,按照此种方法通过对SSD进行全盘读写就可以获取得到SSD的坏块表。同理,当对SSD进行全盘擦写时,如果SSD中的某一个Block不能被正常擦写,则说明该Block为SSD中发生故障的Block,所以,按照此种方法通过对SSD进行全盘擦写就可以获取得到SSD的坏块表。
另外,在实际应用中,我们通常是对SSD进行全盘擦写来获取SSD的坏块表,因为对SSD进行全盘擦写的速度要比对SSD进行全盘读写的速度快,所以,为了提高在获取SSD坏块表的速度,就可以通过对SSD进行全盘擦写来获取SSD的坏块表。
显然,通过本实施例所提供的技术方案,就可以进一步提高在获取坏块表时的准确性与可靠性。
基于上述实施例,本实施例对技术方案作进一步的说明与优化,作为一种优选的实施方式,上述元数据恢复方法还包括:
若在SSD的运行过程中发现新增加的目标坏块数据,则利用目标坏块数据对坏块表进行更新。
能够想到的是,SSD除了在出厂时会具有发生故障的Block之外,在使用过程中也会出现发生故障的Block。因此,在本实施例中,为了保证SSD的坏块表可以和SSD的实际运行状况相适配,还在SSD的使用过程中对SSD的坏块表进行了实时更新。
具体的,如果工作人员在SSD的运行过程中发现了SSD中新增加的目标坏块数据,那么工作人员就可以使用目标坏块数据对SSD的坏块表进行实时更新。很显然,当使用SSD在运行过程中新增加的目标坏块数据对坏块表进行更新之后,就可以保证坏块表中存储坏块数据的准确性与全面性。
可见,通过本实施例所提供的技术方案,不仅可以保证坏块表中所存储的坏块数据能够与SSD的实际运行状态相适配,而且,也能够保证坏块表中所存储的坏块数据更加全面与可靠。
基于上述实施例,本实施例对技术方案作进一步的说明与优化,作为一种优选的实施方式,上述步骤:利用Block info表读取SSD中所有Block上的任意一个page的过程,包括:
利用Block info表读取SSD中所有Block上的第一个page。
可以理解的是,因为SSD中每一个Block的所有page上所存储的元数据类型均相同,那么,通过读取SSD中某一个Block上的任意一个page都可以推测出该Block上所有page上所存储的元数据类型。
在本实施例中,为了进一步提高在建立一级表时的创建速度,还可以利用Blockinfo表来读取SSD中所有Block上的第一个page,也即,可以利用Block info表来读取SSD中所有Block上的page0页面。因为从SSD内任意一个Block上读取第一个page的速度要比从该Block上读取其它page的速度要快,所以,通过该方法就可以加快对SSD内所有Block的数据扫描速度,并由此提高在对SSD内元数据进行恢复时的速度。
显然,通过本实施例所提供的技术方案,就可以进一步提高在对SSD内元数据进行恢复时的速度。
基于上述实施例,本实施例对技术方案作进一步的说明与优化,作为一种优选的实施方式,SSD中NAND的结构具体为SLC或MLC或TCL或QLC或PLC。
可以理解的是,在实际应用中,按照SSD中NAND颗粒的存储容量可以将NAND颗粒分为SLC(Single Level Cell,单层式存储)、MLC(Multi-Level Cell,双层单元)、TCL(Trinary-Level Cell,三层单元)、QTL(Quad-Level Cell,四层单元)以及PLC(Penta-Level Cell,五层单元)。这几类NAND颗粒的最大区别在于它们每个存储单元的存储容量是不一样的,其中,SLC可以存储1bit的数据、MLC可以存储2bit的数据、TLC可以存储3bit的数据、QTL可以存储4bit的数据、PLC可以存储5bit的数据。
由于SLC、MLC、TCL、QLC、PLC这5类存储规格的NAND颗粒在实际生活中均有应用,所以,在本实施例中,就可以将SSD中的NAND结构设置为SLC或MLC或TCL或QLC或PLC,并以此来进一步拓宽本申请所提供的数据恢复方法在实际应用中的使用范围。
显然,通过本实施例所提供的技术方案,就可以进一步提高本申请所提供的数据恢复方法在实际应用中的普适性。
基于上述实施例,本实施例对技术方案作进一步的说明与优化,作为一种优选的实施方式,上述步骤:利用一级表对SSD中的所有元数据进行恢复的过程,包括:
利用一级表和元数据存储标志位对SSD中的所有元数据进行恢复;其中,元数据存储标志位为任意一个元数据在写入至SSD时所对应的存储标志位。
需要说明的是,在现有技术中,当要在SSD中存储元数据时,只会将元数据直接存储至SSD,而不会对元数据所对应的存储标志位进行存储,这样就导致现有的数据恢复方法需要对SSD进行多次判断扫描,并对SSD中的NAND数据进行必要的排序,才能找到SSD在下电时所对应的最后一个存储标志位,由此就极大地增加了SSD在进行元数据恢复时所需要的时间。
在本实施例中,为了避免上述情况的发生,是在SSD处于正常运行阶段时,只要有元数据写入至SSD,就对元数据所对应的元数据存储标志位JM_index进行实时更新,并将元数据存储标志位JM_index存储到SSD的NADN当中。
能够想到的是,在此设置方式下,SSD就可以使用一级表和元数据标志位JM_index来对SSD中的所有元数据进行恢复。其中,元数据存储标志位JM_index可以作为SSD在进行元数据恢复时的依据,并使得SSD能够更为快速的找到待恢复元数据在SSD中的存储位置,这样就可以更为准确、快速地对SSD内的元数据进行恢复。
显然,通过本实施例所提供的技术方案,不仅可以提高在对SSD进行元数据恢复时的准确性,而且,也可以进一步提高在对SSD进行元数据恢复时的速度。
在上述实施例中,是对SSD的元数据恢复方法进行了详细描述,本申请还提供了与一种SSD的元数据恢复装置相对应的实施例。需要说明的是,本实施例是从两个角度对装置部分的实施例进行描述,一种是基于功能模块的角度,另一种是基于硬件的角度。
请参见图2,图2为本发明实施例所提供的一种SSD的元数据恢复装置的结构图,该装置包括:
SSD上电模块21,用于当SSD上电时,则获取所述SSD的坏块表,并利用所述坏块表创建Block info表;
数据读取模块22,用于利用所述Block info表读取所述SSD中所有Block上的任意一个page,以建立一级表;
数据恢复模块23,用于利用所述一级表对所述SSD中的所有元数据进行恢复。
优选的,SSD上电模块21,包括:
第一坏表获取单元,用于利用所述SSD的生产商所提供的坏块数据获取所述SSD的所述坏块表。
优选的,SSD上电模块21,包括:
第二坏表获取单元,用于对所述SSD进行全盘读写和/或擦写,以获取所述SSD的所述坏块表。
优选的,上述元数据恢复装置还包括:
坏表更新模块,用于若在所述SSD的运行过程中发现新增加的目标坏块数据,则利用所述目标坏块数据对所述坏块表进行更新。
优选的,数据读取模块22,包括:
数据读取单元,用于利用所述Block info表读取所述SSD中所有Block上的第一个page。
优选的,数据恢复模块23,包括:
数据恢复单元,用于利用所述一级表和元数据存储标志位对所述SSD中的所有元数据进行恢复;其中,所述元数据存储标志位为任意一个元数据在写入至SSD时所对应的存储标志位。
本发明实施例所提供的一种SSD的元数据恢复装置,具有前述所公开的一种SSD的元数据恢复方法所具有的有益效果。
请参见图3,图3为本发明实施例所提供的一种SSD的元数据恢复设备的结构图,该设备包括:
存储器31,用于存储计算机程序;
处理器32,用于执行计算机程序时实现如前述所公开的一种SSD的元数据恢复方法的步骤。
本实施例所提供的一种SSD的元数据恢复设备可以包括但不限于平板电脑、笔记本电脑或者台式电脑等。
其中,处理器32可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器32可以采用数字信号处理器(Digital Signal Processor,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器32也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器中央处理器(Central Processing Unit,CPU);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器32可以集成有图像处理器,图像处理器用于负责显示屏所需要显示内容的渲染和绘制。一些实施例中,处理器32可以集成有图像处理器(Graphics Processing Unit,GPU),图像处理器用于负责显示屏所需要显示的内容的渲染和绘制。在一些实施例中,处理器32还可以包括人工智能(Artificial Intelligence,AI)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器31可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器31还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器31至少用于存储以下计算机程序301,其中,该计算机程序被处理器32加载并执行之后,能够实现前述任一实施例公开的一种SSD的元数据恢复方法的相关步骤。另外,存储器31所存储的资源还可以包括操作系统302和数据303等,存储方式可以是短暂存储或者永久存储。其中,操作系统302可以包括Windows、Unix、Linux等。数据303可以包括但不限于上述SSD的元数据恢复方法所涉及到的数据等等。
在一些实施例中,SSD的元数据恢复设备还可以包括有显示屏33、输入输出接口34、通信接口35、电源36以及通信总线37。
本领域技术人员可以理解,图3中示出的结构并不构成对SSD的元数据恢复设备的限定,可以包括比图示更多或更少的组件。
处理器32通过调用存储于存储器31中的指令以实现上述任一实施例所提供的一种SSD的元数据恢复方法。
本发明实施例所提供的一种SSD的元数据恢复设备,具有前述所公开的一种SSD的元数据恢复方法所具有的有益效果。
相应的,本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如前述所公开的一种SSD的元数据恢复方法的步骤。
可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
由于计算机可读存储介质部分的实施例与上述所描述的SSD的元数据恢复方法部分的实施例相互对应,因此计算机可读存储介质可参见上述SSD的元数据恢复方法部分实施例的相关描述,这里暂不赘述。
本发明实施例所提供的一种计算机可读存储介质,具有前述所公开的一种SSD的元数据恢复方法所具有的有益效果。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种SSD的元数据恢复方法、装置、设备及介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种SSD的元数据恢复方法,其特征在于,包括:
当SSD上电时,则获取所述SSD的坏块表,并利用所述坏块表创建Block info表;
利用所述Block info表读取所述SSD中所有Block上的任意一个page,以建立一级表;
利用所述一级表对所述SSD中的所有元数据进行恢复。
2.根据权利要求1所述的元数据恢复方法,其特征在于,所述获取所述SSD的坏块表的过程,包括:
利用所述SSD的生产商所提供的坏块数据获取所述SSD的所述坏块表。
3.根据权利要求1所述的元数据恢复方法,其特征在于,所述获取所述SSD的坏块表的过程,包括:
对所述SSD进行全盘读写和/或擦写,以获取所述SSD的所述坏块表。
4.根据权利要求1所述的元数据恢复方法,其特征在于,还包括:
若在所述SSD的运行过程中发现新增加的目标坏块数据,则利用所述目标坏块数据对所述坏块表进行更新。
5.根据权利要求1所述的元数据恢复方法,其特征在于,所述利用所述Block info表读取所述SSD中所有Block上的任意一个page的过程,包括:
利用所述Block info表读取所述SSD中所有Block上的第一个page。
6.根据权利要求1所述的元数据恢复方法,其特征在于,所述SSD中NAND的结构具体为SLC或MLC或TCL或QLC或PLC。
7.根据权利要求1至6任一项所述的元数据恢复方法,其特征在于,所述利用所述一级表对所述SSD中的所有元数据进行恢复的过程,包括:
利用所述一级表和元数据存储标志位对所述SSD中的所有元数据进行恢复;其中,所述元数据存储标志位为任意一个元数据在写入至SSD时所对应的存储标志位。
8.一种SSD的元数据恢复装置,其特征在于,包括:
SSD上电模块,用于当SSD上电时,则获取所述SSD的坏块表,并利用所述坏块表创建Block info表;
数据读取模块,用于利用所述Block info表读取所述SSD中所有Block上的任意一个page,以建立一级表;
数据恢复模块,用于利用所述一级表对所述SSD中的所有元数据进行恢复。
9.一种SSD的元数据恢复设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的一种SSD的元数据恢复方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的一种SSD的元数据恢复方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310232172.0A CN116225787A (zh) | 2023-03-10 | 2023-03-10 | 一种ssd的元数据恢复方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310232172.0A CN116225787A (zh) | 2023-03-10 | 2023-03-10 | 一种ssd的元数据恢复方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116225787A true CN116225787A (zh) | 2023-06-06 |
Family
ID=86585564
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310232172.0A Pending CN116225787A (zh) | 2023-03-10 | 2023-03-10 | 一种ssd的元数据恢复方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116225787A (zh) |
-
2023
- 2023-03-10 CN CN202310232172.0A patent/CN116225787A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11243709B2 (en) | Data storage apparatus and operating method thereof | |
DE102017113439B4 (de) | Abbildungstabellen für Speichervorrichtungen | |
US9996297B2 (en) | Hot-cold data separation method in flash translation layer | |
US10613943B2 (en) | Method and system for improving open block data reliability | |
TWI527037B (zh) | 資料儲存方法、記憶體控制電路單元與記憶體儲存裝置 | |
US8902671B2 (en) | Memory storage device, memory controller thereof, and method for programming data thereof | |
TWI423026B (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
TWI459400B (zh) | 記憶體儲存裝置、及其記憶體控制器與電源控制方法 | |
TWI489466B (zh) | 記憶體抹除方法、記憶體控制器與記憶體儲存裝置 | |
TWI479505B (zh) | 資料管理方法、記憶體控制器與記憶體儲存裝置 | |
US20160274808A1 (en) | Scalable spor algorithm for flash memories | |
US20210382660A1 (en) | Apparatus and method for performing recovery operation of memory system | |
CN116204126A (zh) | 固态硬盘的数据读写方法及装置、固态硬盘、存储介质 | |
TWI516934B (zh) | 資料儲存方法、記憶體控制電路單元與記憶體儲存裝置 | |
TW201407614A (zh) | 資料儲存方法、記憶體控制器與記憶體儲存裝置 | |
TWI451247B (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
US11249917B2 (en) | Data storage device and operating method thereof | |
US8738847B2 (en) | Data writing method, and memory controller and memory storage apparatus using the same | |
CN113094307B (zh) | 映射信息管理方法、存储器存储装置及存储器控制器 | |
CN116225787A (zh) | 一种ssd的元数据恢复方法、装置、设备及介质 | |
TW201530310A (zh) | 儲存裝置、電子裝置,以及燒錄記憶體的方法 | |
CN109002265B (zh) | 一种数据处理的方法以及相关装置 | |
TW201337553A (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
CN118484150B (zh) | 一种存储设备及其故障处理方法 | |
CN116880777B (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 |