CN110286850B - 固态硬盘元数据的写入方法、恢复方法及固态硬盘 - Google Patents

固态硬盘元数据的写入方法、恢复方法及固态硬盘 Download PDF

Info

Publication number
CN110286850B
CN110286850B CN201910401796.4A CN201910401796A CN110286850B CN 110286850 B CN110286850 B CN 110286850B CN 201910401796 A CN201910401796 A CN 201910401796A CN 110286850 B CN110286850 B CN 110286850B
Authority
CN
China
Prior art keywords
solid state
state disk
metadata
update log
update
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
Application number
CN201910401796.4A
Other languages
English (en)
Other versions
CN110286850A (zh
Inventor
邓辉
周炎钧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Rongming Microelectronics Jinan Co ltd
Original Assignee
Rongming Microelectronics Jinan Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Rongming Microelectronics Jinan Co ltd filed Critical Rongming Microelectronics Jinan Co ltd
Priority to CN201910401796.4A priority Critical patent/CN110286850B/zh
Publication of CN110286850A publication Critical patent/CN110286850A/zh
Application granted granted Critical
Publication of CN110286850B publication Critical patent/CN110286850B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提出了一种固态硬盘元数据的写入方法、恢复方法及固态硬盘,固态硬盘的元数据的写入方法包括:针对元数据的每次修改生成一条更新日志;当已生成的更新日志的容量大小大于第一预设值时,将已生成的更新日志写入闪存;当累计写入至闪存内的更新日志的总容量大小超过第二预设值时;将写入闪存内的所有更新日志对应的元数据快照写入至闪存;重新累计写入至所述闪存内的所述更新日志的总容量大小。根据本发明的固态硬盘的元数据的写入方法,可以保证固态硬盘断电时,元数据的更新日志可以全部写入闪存内。而且,可以保证固态硬盘重启时,在启动时间内快速完成元数据的读取和更新。

Description

固态硬盘元数据的写入方法、恢复方法及固态硬盘
技术领域
本发明涉及计算机技术领域,尤其涉及一种固态硬盘元数据的写入方法、恢复方法及固态硬盘。
背景技术
固态硬盘中的元数据包括逻辑地址到物理地址的映射表,描述闪存物理块的信息,例如擦除次数和有效页面等。这些数据用于寻址用户数据以及控制器内部的算法依据,是固态硬盘能够正常工作的关键。
相关技术中,对固态硬盘的元数据不进行持久化处理,或者对固态硬盘的元数据进行部分持久化处理。固态硬盘上电重启后,固态硬盘控制器需扫描整个固态硬盘以重建这些元数据。但是重建大容量的固态硬盘的元数据需要很长的时间,通常会超过操作系统或BIOS(基本输入输出系统)允许的最长重启时间,造成系统重启失败甚至用户数据的丢失。
也有相关技术对固态硬盘的元数据进行周期性持久化处理,这样上电重启后不需要重建元数据,可以在很短的时间完成重启。但是,如果掉电发生在元数据持久化时,对于大容量固态硬盘,例如4TB,映射单元如果是4K,则元数据至少是4GB,持久化整个元数据耗时较长。由此,会造成元数据的丢失。
发明内容
本发明要解决的技术问题是如何避免固态硬盘断电时元数据丢失并减少元数据恢复所需的时间,提供一种固态硬盘元数据的写入方法、恢复方法及固态硬盘。
本发明提出一种固态硬盘元数据的写入方法,包括:
日志生成步骤:针对元数据的每次修改生成一条更新日志;
第一判断执行步骤:当已生成的所述更新日志的容量大小大于第一预设值时,将已生成的所述更新日志写入闪存,重复执行所述第一判断执行步骤;
第二判断执行步骤:当累计写入至所述闪存内的所述更新日志的总容量大小超过第二预设值时,将写入所述闪存内的所有所述更新日志对应的元数据快照写入至所述闪存,重新累计写入至所述闪存内的所述更新日志的总容量大小,重复执行所述第二判断执行步骤。
根据本发明的固态硬盘的元数据的写入方法,通过读取更新日志可以对元数据进行更新。而且,通过设置第一预设值,可以保证固态硬盘断电时,元数据的更新日志可以全部写入闪存内,避免了固态硬盘断电而导致元数据更新日志数据丢失的问题。而且,通过设置第二预设值,可以保证固态硬盘重启时,在启动时间内快速完成元数据的读取和更新,提高了固态硬盘运行的可靠性。
根据本发明的一些实施例,所述方法还包括:记录相邻的两个所述数据快照之间生成的所述更新日志的索引,所述索引用于提供所述更新日志的地址指针。
在本发明的一些实施例中,所述记录相邻的两个所述数据快照之间生成的所述更新日志的索引,具体包括:
在相邻的两个所述数据快照中的前一个所述数据快照生成之后,记录生成的第一个所述更新日志的索引;
在相邻的两个所述数据快照中的后一个所述数据快照生成前,记录生成的最后一个所述更新日志的索引。
根据本发明的一些实施例,所述方法还包括:当所述固态硬盘断电时,将容量小于所述第一预设值的所述更新日志写入闪存。
在本发明的一些实施例中,所述第一预设值的取值范围为2M字节至20M字节
根据本发明的一些实施例,所述第二预设值的取值范围为512M字节至1G字节。
根据本发明的固态硬盘元数据的恢复方法,包括:读取采用上述所述的固态硬盘数据的写入方法最后一次生成的数据快照;
根据所述更新日志的索引,读取最后一次的所述数据快照之后生成的所述更新日志;
基于所述更新日志对所述数据快照进行更新,并生成最新的数据快照。
根据本发明的固态硬盘元数据的恢复方法,固态硬盘可以通过读取元数据的数据快照和数据快照后生成的更新日志,基于更新日志对元数据的数据进行更新,以使固态硬盘可以在启动时间内高效、可靠地完成元数据的更新和保存。而且,可以有效避免固态硬盘断电时导致元数据丢失问题。
在本发明的一些实施例中,所述方法,还包括:在数据快照更新过程中断电时,重新读取最后一次所述数据快照和在最后一次所述数据快照之后生成的所述更新日志,基于所述更新日志对所述数据快照进行更新。
根据本发明的固态硬盘,包括:
存储单元,用于提供闪存;
控制单元,用于针对元数据的每次修改生成一个更新日志;
当所述更新日志的容量大于第一预设值时,将所述更新日志写入所述闪存;
当累计写入至所述闪存内的所述更新日志的容量总和超过第二预设值时,将写入所述闪存内的所有所述更新日志对应的元数据快照写入至所述闪存,重新累计写入至所述闪存内的所述更新日志的总容量大小。
根据本发明的固态硬盘,可以利用更新日志更新固态硬盘的元数据,当更新日志的数据量大于第一预设值时,即将更新日志及时写入闪存内。由此,可以避免固态硬盘断电时导致固态硬盘数据丢失的问题。当累积写入固态硬盘内的更新日志的总容量的大小大于第二预设值时,即将元数据写入闪存。由此,可以保证在固态硬盘的预定启动时间内完成固态硬盘的元数据的读取和更新,提高了固态硬盘的整体性能。
根据本发明的一些实施例,所述控制单元还用于:当所述固态硬盘断电时,将容量小于所述第一预设值的更新日志写入所述闪存。
附图说明
图1是根据本发明实施例的固态硬盘元数据的写入方法流程图;
图2是根据本发明实施例的固态硬盘元数据的恢复方法的流程图;
图3是根据本发明实施例的固态硬盘的结构示意图。
附图标记:
固态硬盘100,闪存110,控制器120,固件算法模块130。
具体实施方式
为更进一步阐述本发明为达成预定目的所采取的技术手段及功效,以下结合附图及较佳实施例,对本发明进行详细说明如后。
如图1所示,根据本发明实施例的固态硬盘100元数据的写入方法,包括:
S101,日志生成步骤:针对元数据的每次修改生成一条更新日志。需要说明的是,固态硬盘100的元数据是固态硬盘100能够正常工作的关键,元数据可以包括flash(闪存)映射表和flash(闪存)描述表。其中,flash映射表可以为记录逻辑地址到物理地址的映射表,flash描述表可以用于描述flash块的bad/good,即flash描述表可以用于记录闪存110物理块的信息,例如flash描述表可以用于记录闪存110物理块的擦除次数和有效页面等。
元数据的每次修改生成的changelog(更新日志)可以包括地址偏移和修改后的值,从而通过更新日志可以对元数据进行更新。需要说明的是,元数据的修改和更新日志的生成可以同步进行,即元数据修改时,同时生成更新日志;元数据的修改和跟新日志的生成也可以非同步运行。
S102,第一判断执行步骤:当已生成的更新日志的容量大小大于第一预设值时,将已生成的更新日志写入闪存110,重复执行第一判断执行步骤。需要说明的是,固态硬盘100断电时,固态硬盘100的电容可以支撑将小容量的数据写入闪存110,第一预设值的取值范围可以根据固态硬盘的电容可以支撑写入内存的数据量进行计算设置。例如,第一预设值的取值范围可以设置为小于固态硬盘的电容可以支撑写入闪存内的最大数据量。由此,通过设置第一预设值,当生成的更新日志的容量大小大于第一预设值时,即将已生成的更新日志写入闪存110。而容量小于第一预设值的更新日志,即使在固态硬盘100发生断电时,也可以通过固态硬盘100的电容支撑写入至闪存110内。由此,可以避免固态硬盘100断电时,导致更新日志数据丢失的问题。
S103,第二判断执行步骤:当累计写入至闪存110内的更新日志的总容量大小超过第二预设值时,将元数据的数据快照(snapshot)写入闪存110。需要说明的是,固态硬盘100重启时,需要读取并更新元数据。通过读取闪存110中的更新日志,可以对元数据进行更新得到最新的元数据。第二预设值的大小可以根据固态硬盘100上电重启时,启动时间内固态硬盘能够读取处理的最大数据量计算设置。例如,第二预设值的取值范围可以小于固态硬盘100启动时间内能够读取处理的最大数据量。由此,可以保证在固态硬盘100上电重启时,在启动时间内读取更新日志并完成元数据的更新。
元数据更新完成后,重新累计写入闪存110内的更新日志的总容量大小,重复执行第二判断执行步骤。
根据本发明的固态硬盘100的元数据的写入方法,通过读取更新日志可以对元数据进行更新。而且,通过设置第一预设值,可以保证固态硬盘100断电时,元数据的更新日志可以全部写入闪存110内,避免了固态硬盘100断电而导致元数据更新日志数据丢失的问题。而且,通过设置第二预设值,可以保证固态硬盘100重启时,在启动时间内快速完成元数据的读取和更新,提高了固态硬盘100运行的可靠性。
根据本发明的一些实施例,固态硬盘100元数据的写入方法还包括:记录相邻的两个数据快照之间生成的更新日志的索引,索引用于提供更新日志的地址指针。需要说明的是,通过更新日志的索引可以获得更新日志对的地址指针,从而可以通过地址指针读取更新日志,以对元数据进行更新。
在本发明的一些实施例中,记录相邻的两个数据快照之间生成的更新日志的索引,具体包括:
在相邻的两个数据快照中的前一个数据快照生成之后,记录生成的第一个更新日志的索引;
在相邻的两个数据快照中的后一个数据快照生成前,记录生成的最后一个更新日志的索引。
需要说明的是,在更新固态硬盘100的元数据时,首先可以读取固态硬盘100最后一次更新的元数据的数据快照,并读取该元数据的数据快照之后生成的所有更新日志,通过更新日志对元数据进行更新以或得最新的元数据。在元数据的更新过程中,可能由于故障导致元数据未能成功更新。例如,在更新元数据的过程中由于固态硬盘100断电导致元数据未能成功更新。在此种情况下,固态硬盘100上电重启后,可以再次读取元数据更新失败前的最后一次的元数据的数据快照,并通过该数据快照后所有更新日志中的第一更和最后一个更新日志的索引重新读取元数据快照之后生成的所有更新日志,以对元数据重新更新。
根据本发明的一些实施例,固态硬盘100元数据的写入方法还包括:当固态硬盘100断电时,将容量小于第一预设值的更新日志写入闪存110。需要说明的是,当固态硬盘100断电时,固态硬盘100的电容可以供固态硬盘100写入小容量数据。第一预设值的大小可以小于固态硬盘100电容支撑写入闪存110的最大的数据容量。由此,在固态硬盘100断电时,可以保证更新日志被全部写入闪存110内,避免由于固态硬盘100断电导致数据丢失的缺陷。
在本发明的一些实施例中,第一预设值的取值范围可以为2M字节至20M字节,并可程序设置。其中,这里所述的“可程序设置”可以理解为可以根据固态硬盘的规格和实际需要对第一预设值的取值范围进行相应设置。
需要说明的是,针对元数据的每一次修改生成一个changelog(更新日志),如果把任何一次元数据的修改看作是若干个DWORD(机器字长)的修改,每个DWORD为4bytes(4字节),则需要记录每个DWORD的修改即可。每个DWORD的修改可以定义为一个changelog,changelog由地址偏移和修改后的值构成。
第一预设值可以根据固态硬盘100断电时,固态硬盘100电容可以支撑写入闪存110的最大的容量计算得到。第一预设值的取值范围可以为2M字节至20M字节。例如,第一预设值可以设置为2M字节。也就是说,当生成的更新日志的容量大小大于2M字节时,即将更新日志写入内存,以免固态硬盘100断电时导致更新日志数据丢失。而对于容量大小小于2M字节的更新日志,即使在固态硬盘100发生断电的情况下,也可以通过固态硬盘100的电容写入至闪存110内。由此,有效避免了固态硬盘100断电而造成更新日志的数据丢失的问题。
可以理解的是,不同型号的固态硬盘100,其电容可以支撑写入闪存110内数据的最大容量并不相同,上述第一预设值的选取范围仅是对本发明实施例的举例说明,而不应理解为是对本发明的限制。在实际应用中,可以根据固态硬盘100的实际性能,选取、设置对应的第一预设值的范围。
根据本发明的一些实施例,第二预设值的取值范围为512M字节至1G字节,并可程序设置。其中,这里所述的“可程序设置”可以理解为可以根据固态硬盘的规格和实际需要对第二预设值的取值范围进行相应设置。需要说明的是,第二预设值可以根据固态硬盘100上电重启时,在固态硬盘100的上电启动时间内允许读入的最大数据量设置。例如,第二预设值可以设置为512M字节。由此,在固态硬盘100重启时,可以在固态硬盘100的启动时间内读入元数据和元数据后的更新日志,并完成元数据的更新和保存。由此,提高了固态硬盘100读取元数据的效率和元数据读入的可靠性。
可以理解的是,不同型号的固态硬盘100的启动时间并不相同,上述第二预设值的选取范围仅是对本发明实施例的举例说明,而不应理解为是对本发明的限制。在实际应用中,可以根据固态硬盘100的实际性能,选取、设置对应的第二预设值的范围。例如,相邻的两个元数据的数据快照之间的所有changelog的总容量还可以设置为64block(相当于64M字节)或其他数值范围。
根据发明的固态硬盘100元数据的恢复方法,包括:
固态硬盘100重启时读入闪存110内的元数据快照和从上次写入快照之后的更新日志,并根据所述更新日志修改元数据快照。
具体地,如图2所示,根据本发明的固态硬盘100元数据的恢复方法,包括:
S201:读取采用上述的固态硬盘100数据的写入方法最后一次生成的数据快照。由此,固态硬盘100可以读取获得最后一次元数据的数据快照。
S202:根据更新日志的索引,读取最后一次的数据快照之后生成的更新日志。通过更新日志的索引,可以找到闪存110中更新日志的位置,从而可以通过更新日志的索引读取更新日志。
S203:基于更新日志对数据快照进行更新,并生成最新的数据快照。固态硬盘100在读取最后一次生成的元数据的数据快照和该数据快照生成后的日志索引后,可以根据更新日志更新元数据的数据快照,得到更新后的元数据。
根据本发明的固态硬盘100元数据的恢复方法,固态硬盘100可以通过读取元数据的数据快照和数据快照后生成的更新日志,基于更新日志对元数据的数据进行更新,以使固态硬盘100可以在启动时间内高效、可靠地完成元数据的更新和保存。而且,可以避免固态硬盘100断电时导致元数据丢失问题。
在本发明的一些实施例中,固态硬盘100元数据的恢复方法还包括:在数据快照更新过程中断电时,重新读取最后一次数据快照和在最后一次数据快照之后生成的更新日志,基于更新日志对数据快照进行更新。也就是说,在固态硬盘100更新元数据的过程中,固态硬盘100发生断电时,可以重新读取最后一次元数据的数据快照和在最后一次数据快照之后生成的更新日志,以基于更新日志对数据快照进行更新。
根据本发明的固态硬盘100,如图3所示,固态硬盘100可以包括:控制单元和存储单元。
其中,存储单元可以用于提供闪存110。例如,存储单元可以NAND闪存110单元,主要负责固态硬盘100的存储任务。
控制单元,控制单元可以是固态硬盘100的控制器120,控制单元可以用于针对元数据的每次修改生成一个更新日志。控制器120可以是嵌入式微芯片,控制器120是SSD(Solid State Drive,固态硬盘)的大脑中枢,其功能就像命令中心,发出的所有操作请求,如控制器120可以控制数据的读取和写入、执行垃圾回收和耗损均衡算法等,以保证SSD的速度及整洁度。控制器120可以是Marvell、SandForce、Samsung、Indilinx等。
如图3所示,固态硬盘100内还设有固件算法模块130,用以驱动固态硬盘100的控制器120。控制器120可以通过固件算法模块130中的控制程序,去执行自动信号处理,耗损平衡,错误校正码,坏块管理、垃圾回收算法、与主机设备(如电脑)通信,以及执行数据加密等任务。
固态硬盘100的元数据发生修改时,控制器可以针对元数据的每次修改生成一个更新日志。当更新日志的容量大于第一预设值时,将更新日志写入闪存110。由此,可以避免固态硬盘100断电时,由于更新日志的容量较大,导致更新日志数据丢失的问题。
当累计写入至闪存110内的更新日志的容量总和超过第二预设值时,基于写入至闪存110内的更新日志更新元数据,并生成更新后的元数据的数据快照。将数据快照写入闪存110。重新累计写入闪存110内的更新日志的容量总和。由此,可以保证在固态硬盘100的启动时间内完成元数据的读取和更新。
根据本发明的固态硬盘100,可以利用更新日志更新固态硬盘100的元数据,当更新日志的数据量大于第一预设值时,即将更新日志及时写入闪存110内。由此,可以避免固态硬盘100断电时导致固态硬盘100数据丢失的问题。当累积写入固态硬盘100内的更新日志的总容量的大小大于第二预设值时,即进行元数据的更新。由此,可以保证在固态硬盘100的预定启动时间内完成固态硬盘100的元数据的读取和更新,提高了固态硬盘100的整体性能。
根据本发明的一些实施例,控制单元还可以用于:当所述固态硬盘断电时,将容量小于所述第一预设值的更新日志写入所述闪存。需要说明的是,当固态硬盘断电时,控制单元可以自动、强制将容量小于第一预设值的更新日志在电容的支撑下写入闪存内,以避免固态硬盘元数据的丢失。
通过具体实施方式的说明,应当可对本发明为达成预定目的所采取的技术手段及功效得以更加深入且具体的了解,然而所附图示仅是提供参考与说明之用,并非用来对本发明加以限制。

Claims (8)

1.一种固态硬盘元数据的写入方法,其特征在于,包括:
日志生成步骤:针对元数据的每次修改生成一条更新日志;
第一判断执行步骤:当已生成的所述更新日志的容量大小大于第一预设值时,将已生成的所述更新日志写入闪存,重复执行所述第一判断执行步骤,所述第一预设值的取值范围小于固态硬盘的电容可以支撑写入闪存内的最大数据量;
第二判断执行步骤:当累计写入至所述闪存内的所述更新日志的总容量大小超过第二预设值时;将写入所述闪存内的所有的所述更新日志对应的元数据快照写入至所述闪存,重新累计写入至所述闪存内的所述更新日志的总容量大小,重复执行所述第二判断执行步骤,所述第二预设值的取值范围小于固态硬盘启动时间内所能读取处理的最大数据量;
所述方法,还包括:
记录相邻的两个所述数据快照之间生成的所述更新日志的索引,所述索引用于提供所述更新日志的地址指针;
所述记录相邻的两个所述数据快照之间生成的所述更新日志的索引,具体包括:
在相邻的两个所述数据快照中的前一个所述数据快照生成之后,记录生成的第一个所述更新日志的索引;
在相邻的两个所述数据快照中的后一个所述数据快照生成前,记录生成的最后一个所述更新日志的索引。
2.根据权利要求1所述的固态硬盘元数据的写入方法,其特征在于,所述方法,还包括:当所述固态硬盘断电时,将容量小于所述第一预设值的所述更新日志写入闪存。
3.根据权利要求1所述的固态硬盘元数据的写入方法,其特征在于,所述第一预设值的取值范围为2M字节至20M字节。
4.根据权利要求1所述的固态硬盘元数据的写入方法,其特征在于,所述第二预设值的取值范围为512M字节至1G字节。
5.一种固态硬盘元数据的恢复方法,其特征在于,包括:读取采用根据权利要求1-4中任一项所述的固态硬盘数据的写入方法最后一次生成的数据快照;
根据所述更新日志的索引,读取最后一次的所述数据快照之后生成的所有所述更新日志;
基于所述更新日志对所述数据快照进行更新,并生成最新的数据快照。
6.根据权利要求5所述的固态硬盘元数据的恢复方法,其特征在于,所述方法,还包括:
在数据快照更新过程中断电时,重新读取最后一次所述数据快照和在最后一次所述数据快照之后生成的所述更新日志,基于所述更新日志对所述数据快照进行更新。
7.一种固态硬盘,其特征在于,包括:
存储单元,用于提供闪存;
控制单元,用于针对元数据的每次修改生成一个更新日志;
当所述更新日志的容量大于第一预设值时,将所述更新日志写入所述闪存,所述第一预设值的取值范围小于固态硬盘的电容可以支撑写入闪存内的最大数据量;
当累计写入至所述闪存内的所述更新日志的容量总和超过第二预设值时,将写入所述闪存内的所有所述更新日志对应的元数据快照写入至闪存,所述第二预设值的取值范围小于固态硬盘启动时间内所能读取处理的最大数据量;
重新累计写入至所述闪存内的所述更新日志的总容量大小;
记录相邻的两个所述数据快照之间生成的所述更新日志的索引,所述索引用于提供所述更新日志的地址指针,具体包括:
在相邻的两个所述数据快照中的前一个所述数据快照生成之后,记录生成的第一个所述更新日志的索引;
在相邻的两个所述数据快照中的后一个所述数据快照生成前,记录生成的最后一个所述更新日志的索引。
8.根据权利要求7所述的固态硬盘,其特征在于,所述控制单元,还用于:
当所述固态硬盘断电时,将容量小于所述第一预设值的更新日志写入所述闪存。
CN201910401796.4A 2019-05-15 2019-05-15 固态硬盘元数据的写入方法、恢复方法及固态硬盘 Active CN110286850B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910401796.4A CN110286850B (zh) 2019-05-15 2019-05-15 固态硬盘元数据的写入方法、恢复方法及固态硬盘

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910401796.4A CN110286850B (zh) 2019-05-15 2019-05-15 固态硬盘元数据的写入方法、恢复方法及固态硬盘

Publications (2)

Publication Number Publication Date
CN110286850A CN110286850A (zh) 2019-09-27
CN110286850B true CN110286850B (zh) 2023-05-09

Family

ID=68002504

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910401796.4A Active CN110286850B (zh) 2019-05-15 2019-05-15 固态硬盘元数据的写入方法、恢复方法及固态硬盘

Country Status (1)

Country Link
CN (1) CN110286850B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111949220B (zh) * 2020-09-03 2023-12-08 合肥沛睿微电子股份有限公司 存储设备异常断电恢复方法及存储设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102043727A (zh) * 2009-10-10 2011-05-04 成都市华为赛门铁克科技有限公司 恢复固态硬盘映射表的方法及其装置
CN103425605A (zh) * 2013-07-26 2013-12-04 记忆科技(深圳)有限公司 一种固态硬盘掉电保护及快速启动方法、系统
CN103744795A (zh) * 2013-12-19 2014-04-23 记忆科技(深圳)有限公司 固态硬盘快速启动的方法及其固态硬盘
CN106469087A (zh) * 2015-08-19 2017-03-01 阿里巴巴集团控股有限公司 元数据输出方法、客户端和元数据服务器
CN106653090A (zh) * 2016-12-30 2017-05-10 湖南国科微电子股份有限公司 大幅提升固态硬盘服务时间的闪存的错误管理方法
CN108182154A (zh) * 2017-12-22 2018-06-19 深圳大普微电子科技有限公司 一种基于固态硬盘的日志文件的读写方法及固态硬盘
CN108427728A (zh) * 2018-02-13 2018-08-21 百度在线网络技术(北京)有限公司 元数据的管理方法、设备及计算机可读介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102043727A (zh) * 2009-10-10 2011-05-04 成都市华为赛门铁克科技有限公司 恢复固态硬盘映射表的方法及其装置
CN103425605A (zh) * 2013-07-26 2013-12-04 记忆科技(深圳)有限公司 一种固态硬盘掉电保护及快速启动方法、系统
CN103744795A (zh) * 2013-12-19 2014-04-23 记忆科技(深圳)有限公司 固态硬盘快速启动的方法及其固态硬盘
CN106469087A (zh) * 2015-08-19 2017-03-01 阿里巴巴集团控股有限公司 元数据输出方法、客户端和元数据服务器
CN106653090A (zh) * 2016-12-30 2017-05-10 湖南国科微电子股份有限公司 大幅提升固态硬盘服务时间的闪存的错误管理方法
CN108182154A (zh) * 2017-12-22 2018-06-19 深圳大普微电子科技有限公司 一种基于固态硬盘的日志文件的读写方法及固态硬盘
CN108427728A (zh) * 2018-02-13 2018-08-21 百度在线网络技术(北京)有限公司 元数据的管理方法、设备及计算机可读介质

Also Published As

Publication number Publication date
CN110286850A (zh) 2019-09-27

Similar Documents

Publication Publication Date Title
US11113149B2 (en) Storage device for processing corrupted metadata and method of operating the same
JP4371771B2 (ja) 不揮発性メモリシステムにおいて用いられる電力管理ブロック
US9092323B2 (en) Systems and methods for recovering addressing data
KR102549605B1 (ko) Raid 스토리지 장치의 리커버리 방법
US20150331624A1 (en) Host-controlled flash translation layer snapshot
JP2018106746A (ja) ソリッドステートドライブアーキテクチャ
TWI524183B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
US10838629B2 (en) Solid state device with fast boot after ungraceful shutdown
TW201916018A (zh) 資料儲存裝置與將資料寫入記憶體裝置之方法
TWI489466B (zh) 記憶體抹除方法、記憶體控制器與記憶體儲存裝置
CN109144899B (zh) 用于管理表恢复的方法
WO2023116346A1 (zh) 异常掉电下Trim数据的恢复方法、系统及固态硬盘
KR20200031852A (ko) 메모리 시스템 내 펌웨어를 유지하는 방법 및 장치
US8819387B2 (en) Memory storage device, memory controller, and method for identifying valid data
US20170010810A1 (en) Method and Apparatus for Providing Wear Leveling to Non-Volatile Memory with Limited Program Cycles Using Flash Translation Layer
KR20200120113A (ko) 메모리 시스템 및 그것의 동작방법
CN111198780B (zh) 执行存储器系统的恢复操作的设备和方法
US8966161B2 (en) Memory storage device and restoring method thereof
EP2264602A1 (en) Memory device for managing the recovery of a non volatile memory
CN110286850B (zh) 固态硬盘元数据的写入方法、恢复方法及固态硬盘
JP2021114164A (ja) ストレージ装置及びストレージ制御方法
WO2010145967A1 (en) Memory device for managing the recovery of a non volatile memory
TW202326439A (zh) 用於自動刪除的方法以及持續性儲存設備
US20240143226A1 (en) Data storage device and method for managing a write buffer
US20240126473A1 (en) Data storage device and method for managing a write buffer

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
TA01 Transfer of patent application right

Effective date of registration: 20211216

Address after: 250100 room 2-302-131, building 7, North District, Shandong design creative industrial park, No. 868, Tangye West Road, Jinan area, free trade pilot zone, Jinan, Shandong Province

Applicant after: Rongming Microelectronics (Jinan) Co.,Ltd.

Address before: 266100 blue Silicon Valley entrepreneurship center, No. 1, Keji Road, Jimo District, Qingdao, Shandong

Applicant before: QINGDAO RONGMING SEMICONDUCTOR Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant