CN111949220A - 存储设备异常断电恢复方法及存储设备 - Google Patents

存储设备异常断电恢复方法及存储设备 Download PDF

Info

Publication number
CN111949220A
CN111949220A CN202010915047.6A CN202010915047A CN111949220A CN 111949220 A CN111949220 A CN 111949220A CN 202010915047 A CN202010915047 A CN 202010915047A CN 111949220 A CN111949220 A CN 111949220A
Authority
CN
China
Prior art keywords
system information
storage device
flash memory
memory
abnormal power
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
Application number
CN202010915047.6A
Other languages
English (en)
Other versions
CN111949220B (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.)
Hefei Peirui Microelectronics Co ltd
Original Assignee
Hefei Peirui Microelectronics 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 Hefei Peirui Microelectronics Co ltd filed Critical Hefei Peirui Microelectronics Co ltd
Priority to CN202010915047.6A priority Critical patent/CN111949220B/zh
Publication of CN111949220A publication Critical patent/CN111949220A/zh
Priority to US17/156,711 priority patent/US11467645B2/en
Application granted granted Critical
Publication of CN111949220B publication Critical patent/CN111949220B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/30Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
    • 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
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/128Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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]
    • 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/0683Plurality of storage devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • G11C5/148Details of power up or power down circuits, standby circuits or recovery circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Power Engineering (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本申请公开一种存储设备异常断电恢复方法及存储设备,所述方法包括:当判断存储设备处于空闲状态时,对存储设备进行快照,以获取当前存储设备的系统信息,并在系统信息中写入第一标签后,将系统信息写入闪存中;当异常断电后重新上电启动时,寻找最新写入在闪存中的系统信息;当判断寻找到的系统信息包括第一标签时,基于包括第一标签的系统信息中闪存中每一区块的数据信息和当前编程的区块的位置,获取且解析所述当前编程的区块的数据信息,并将包括第一标签的系统信息中的写缓存映射表加载至内存,以使内存恢复到异常断电前的状态。

Description

存储设备异常断电恢复方法及存储设备
技术领域
本申请涉及断电保护领域,尤其涉及一种存储设备异常断电恢复方法及存储设备。
背景技术
在常见的存储设备(例如:固态硬盘(Solid-state drive,SSD、随身碟)运行过程中,可能会因为用户强制关闭主机或者突然停电等状况,导致存储设备异常断电。由于存储设备中的静态存储器(Static Random Access Memory,Sram)和动态存储器(DynamicRandom Access Memory,Dram)属于易失性存储器,具有断电后信息立即丢失的特性,存在再次上电时SSD就无法恢复到之前工作状态的问题。
有鉴于此,相关业者提出一种存储设备在正常运行中发生异常断电后的瞬间断电恢复(Sudden Power off Recovery,SPOR)操作,确保异常断电后再次上电时,存储设备的数据数据和维护数据数据的逻辑转实体映射表不能丢失或者错误,以恢复到断电之前的状态,但是因为需要解析闪存中的逻辑转实体映射表,并扫描闪存中所有的数据区域,故需要的时间比较久,会影响用户使用体验,甚至如果瞬间断电恢复操作所消耗的时间过久,可能还会出现不认盘的情况。
发明内容
本申请实施例提供一种存储设备异常断电恢复方法及存储设备,解决目前瞬间断电恢复操作所消耗的时间比较久,影响用户使用体验,甚至可能还会出现不认盘的问题。
为了解决上述技术问题,本申请是这样实现的:
第一方面,提供了一种存储设备异常断电恢复方法,存储设备包括内存、闪存和控制器,存储设备异常断电恢复方法由控制器执行,存储设备异常断电恢复方法包括:当判断存储设备处于空闲状态时,对存储设备进行快照,以获取当前存储设备的系统信息,并在系统信息中写入第一标签后,将系统信息写入闪存中;当判断发生以下至少一种情形:闪存中的逻辑转实体映射表被更改、启动垃圾回收操作、编程了一个新的区块或者除了当前编程的区块以外的任一区块的数据信息改变时,对存储设备进行快照,以获取当前存储设备的系统信息,并在系统信息中写入第二标签后,将系统信息写入闪存中;当异常断电后重新上电启动时,寻找最新写入在闪存中的系统信息,并判断寻找到的系统信息中是否包括第一标签;当判断寻找到的系统信息包括第一标签时,执行瞬间断电快速恢复操作,系基于包括第一标签的系统信息中闪存中每一区块的数据信息和当前编程的区块的位置,获取且解析所述当前编程的区块的数据信息,并将包括第一标签的系统信息中的写缓存映射表加载至内存,以使内存恢复到异常断电前的状态。
第二方面,提供一种存储设备,包括内存、闪存和控制器,内存和闪存分别与控制器连接,控制器包括:非易失性存储器和处理器。其中,非易失性存储器用于存储实现存储设备异常断电恢复方法的程序代码。处理器耦接非易失性存储器,用于加载并执行存储设备异常断电恢复方法的程序代码,以当判断存储设备处于空闲状态时,对存储设备进行快照,以获取当前存储设备的系统信息,并在系统信息中写入第一标签后,将系统信息写入闪存中;当判断发生以下至少一种情形:闪存中的逻辑转实体映射表被更改、启动垃圾回收操作、编程了一个新的区块或者除了当前编程的区块以外的任一区块的数据信息改变时,对存储设备进行快照,以获取当前存储设备的系统信息,并在系统信息中写入第二标签后,将系统信息写入闪存中;当异常断电后重新上电启动时,寻找最新写入在闪存中的系统信息,并判断寻找到的系统信息中是否包括第一标签;及当判断寻找到的系统信息包括第一标签时,执行瞬间断电快速恢复操作,系基于包括第一标签的系统信息中闪存中每一区块的数据信息和当前编程的区块的位置,获取且解析所述当前编程的区块的数据信息,并将包括第一标签的系统信息中的写缓存映射表加载至内存,以使内存恢复到异常断电前的状态。
在本申请实施例中,通过在存储设备处于空闲状态时对其进行快照获取当前的系统信息,并在系统信息中写入第一标签后存入闪存中,实现存储设备处于空闲状态发生异常断电后再次上电时,若寻找到的最新系统信息包括第一标签,则仅解析最新系统信息中当前编程的区块的数据信息,并将最新系统信息中的写缓存映射表加载至内存,即可使内存恢复到异常断电前的状态,由于不需解析闪存中的逻辑转实体映射表,也不需扫描闪存中所有区块的数据信息,因此,可以在存储设备处于空闲状态发生异常断电后再次上电时,大大缩短当存储设备处于空闲状态时的异常断电恢复所需的时间。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为依据本发明实施例的存储设备的框图。
图2为依据本发明实施例的控制器的框图。
图3为依据本发明实施例的存储设备异常断电恢复方法的方法流程图。
具体实施方式
以下将配合相关附图来说明本发明的实施例。在这些附图中,相同的标号表示相同或类似的组件或方法流程。
必须了解的是,使用在本说明书中的“包含”、“包括”等词,是用于表示存在特定的技术特征、数值、方法步骤、作业处理、组件和/或组件,但并不排除可加上更多的技术特征、数值、方法步骤、作业处理、组件、组件,或以上的任意组合。
本发明中使用如“第一”、“第二”、“第三”等词是用来修饰权利要求中的组件,并非用来表示之间具有优先权顺序,先行关系,或者是一个组件先于另一个组件,或者是执行方法步骤时的时间先后顺序,仅用来区别具有相同名字的组件。
必须了解的是,当组件描述为“连接”或“耦接”至另一组件时,可以是直接连结、或耦接至其他组件,可能出现中间组件。相反地,当组件描述为“直接连接”或“直接耦接”至另一组件时,其中不存在任何中间组件。
必须了解的是,在此所使用的「和/或」的描述方式,包含所列举的其中之一或多个项目的任意组合。另外,除非说明书中特别指明,否则任何单数格的用语都同时包含复数格的涵义。
请参阅图1,其为依据本发明实施例的存储设备的框图;如图所示,本实施例的存储设备100可包括内存110、闪存120和控制器130,内存110和闪存120分别与控制器130电性连接,以进行信息与数据的传递。
内存110为易失性存储器,使用时读写速度较快,断电后其内存储的数据等即刻消失;内存110用于暂存控制器120执行存取运作所需的数据。闪存120为非易失性存储器,使用时读写速度相对较慢,断电后其内存储的数据等能够持续保存较长时间;闪存120包括复数个区块(Block),每一区块包括复数个实体页面(Page),每一实体页面都具有个别的实体地址。
控制器130在对闪存120执行写入(编程)数据运作时,是以闪存120的实体页面为单位来执行写入数据的运作;控制器130在对闪存120执行抹除数据运作时,是以闪存120的区块为单位来执行抹除数据的运作。
当外部主机要将数据写入至存储设备100时,控制器130可从闪存120中选取一个区块作为实时区块(current block)来写入数据,并于内存110维护用于纪录所述实时区块的各个实体页面的实体地址-逻辑地址的对应关系的写缓存映射表;当控制器130写入数据至所述实时区块的最后一个实体页面时,控制器130可将内存110中的写缓存映射表存储至闪存120,并且依据写缓存映射表来更新闪存120中的逻辑转实体映射表。其中,逻辑转实体映射表用于纪录闪存120的各个逻辑地址-实体地址的对应关系。当外部主机欲读取存储设备100的数据时,控制器130通过逻辑转实体映射表和/或写缓存映射表获取外部主机所欲读取的数据的实体地址,并将数据读取至外部主机。
请参阅图2,其为依据本发明实施例的控制器的框图。在一些实施例,控制器130可包括主机接口132、处理器134、闪存接口136和非易失性存储器(Non-volatile memory)138。非易失性存储器138用于存储实现存储设备异常断电恢复方法的程序代码,例如:可以使用只读存储器(Read-Only Memory,ROM)、可擦除可编程只读存储器(ErasableProgrammable Read Only Memory,EPROM)、电子可擦除可编程只读存储器(ElectricallyErasable Programmable read only memory,EEPROM)等来实现。处理器134可使用通用硬件(例如,单处理器、具平行处理能力的多处理器、图形处理器或其他具运算能力的处理器)来实现,并且在加载与执行实现存储设备异常断电恢复方法的程序代码时,完成以下描述的存储设备异常断电恢复方法。主机接口132可通过序列先进技术附件(Serial advancedtechnology attachment,SATA)、快速周边组件互联(Peripheral componentinterconnect express,PCI-E)、通用序列总线(Universal serial bus,USB)的接口及关联的通信协议从外部主机(Host)接收读取、写入、抹除等命令,以及相关参数与数据,然后据以执行。闪存接口136耦接闪存120,处理器134耦接主机接口132、闪存接口136和非易失性存储器138。处理器134可以通过主机接口132与主机通信,并且通过闪存接口136与闪存120通信。闪存接口136包含多个寄存器,让处理器134可通过改变寄存器的内容来调整闪存接口136的物理设置(Physical configurations)。
为了克服如上所述目前瞬间断电恢复操作所消耗的时间比较久带来的缺点,本发明实施例提出一种存储设备异常断电恢复方法,在存储设备100处于空闲状态时,对存储设备100进行快照,用来获得当前存储设备100的系统信息,并在所述系统信息中写入第一标签(即通过第一标签对应纪录存储设备100处于空闲状态)后,将所述系统信息写入闪存120中;当判断闪存120中的逻辑转实体映射表被更改、启动垃圾回收操作、编程了一个新的区块或者除了当前编程的区块以外的任一区块的数据信息改变时,对存储设备100进行快照,以获取当前存储设备100的系统信息,并在系统信息中写入第二标签后,将系统信息写入闪存120中;当异常断电后重新上电启动时,寻找最新写入在闪存120中的系统信息(即异常断电发生前最后写入闪存120中的系统信息),并判断寻找到的系统信息是否包括第一标签;当判断寻找到的系统信息包括第一标签时(即判断出存储设备100处于空闲状态时发生异常断电),基于寻找到的系统信息中闪存120中每一区块的数据信息和当前编程的区块的位置,找到当前编程的区块及其数据信息,进而解析所述当前编程的区块的数据信息,并将寻找到的系统信息中的写缓存映射表加载至内存110,以使内存110恢复到异常断电前的状态。由于不需解析闪存中的逻辑转实体映射表,也无需扫描闪存中所有区块的数据信息,因此,可以在存储设备处于空闲状态发生异常断电后再次上电时,大大缩短异常断电恢复所需的时间。详细说明如后:
在一些实施例,控制器130的处理器134加载并执行存储设备异常断电恢复方法的程序代码时以实现存储设备异常断电恢复方法,可以参考如图3,图3为依据本发明实施例的存储设备异常断电恢复方法的方法流程图,详细说明如下。
步骤S212:当判断所述存储设备100处于空闲状态时,对所述存储设备100进行快照,以获取当前所述存储设备100的系统信息,并在所述系统信息中写入第一标签后,将所述系统信息写入所述闪存120中。其中,所述系统信息包括所述内存110中的写缓存映射表、所述闪存120中每一区块的数据信息和所述闪存120中当前编程的所述区块的位置。其中,通过第一标签对应纪录当前存储设备100处于空闲状态,第一标签可以是根据实际需求设定的标签。
在一种可选的实施方式中,处理器134在判断存储设备100是否处于空闲状态的过程包括:持续统计存储设备100当前待处理的输入输出任务的数量,并确认所述当前待处理的输入输出任务的数量是否小于阈值;当判断所述当前待处理的输入输出任务的数量小于所述阈值且维持超过一预设时间时,判断存储设备100处于空闲状态。其中,所述阈值和所述预设时间可以是根据实验测试得出或经验设定的某个阈值。
步骤S214:当判断所述闪存120中发生以下至少一种情况(逻辑转实体映射表被更改、启动垃圾回收操作(例如:对所述闪存120中的所述逻辑转实体映射表进行垃圾回收和/或对所述闪存中的存储数据的区块进行垃圾回收)、编程了一个新的区块或者除了当前编程的所述区块以外的任一所述区块的数据信息改变)时,对所述存储设备100进行快照,以获取当前所述存储设备100的所述系统信息,并在所述系统信息中写入第二标签后,将所述系统信息写入所述闪存120中。其中,通过第二标签对应纪录闪存120中的逻辑转实体映射表被更改、启动垃圾回收操作、编程了一个新的区块或者除了当前编程的区块以外的任一区块的数据信息改变,第二标签可以是根据实际需求设定的标签。
在一种可选的实施方式中,处理器134还用于判断是否接收断电指令;当判断接收所述断电指令时,对存储设备100进行快照,以获取当前存储设备100的系统信息,并在系统信息中写入第三标签后,将系统信息写入所述闪存120中。其中,通过第三标签对应纪录存储设备100接收断电指令,系统信息还包括基于管理所述逻辑转实体映射表的二级表。
步骤S216:当异常断电后重新上电启动时,寻找最新写入在所述闪存120中的所述系统信息,并判断寻找到的所述系统信息是否包括所述第一标签。也就是说,闪存120所存储的系统信息有可能是包括第二标签或第三标签,而不包括第一标签。因此,在一种可选的实施方式中,步骤S216还可包括判断寻找到的系统信息是否包括第二标签;在另一种可选的实施方式中,步骤S216还可包括判断寻找到的系统信息是否包括第三标签。
在一种可选的实施方式中,处理器134在系统信息所写入的第一标签或第二标签可标注于系统信息的同一栏位,且在系统信息所写入的第二标签或第三标签可标注于系统信息的另一栏位;也就是说,处理器134可通过系统信息中用于标注第一标签或第二标签的栏位判断系统信息是否包括第一标签或第二标签,及通过系统信息中用于标注第二标签或第三标签的栏位判断系统信息是否包括第二标签或第三标签。
在另一种可选的实施方式中,处理器134在系统信息所写入的第一标签、第二标签或第三标签可标注于系统信息的同一栏位,也就是说,处理器134可通过系统信息中用于标注第一标签、第二标签或第三标签的栏位判断系统信息是否包括第一标签、第二标签或第三标签。
步骤S218:当判断寻找到的所述系统信息包括所述第一标签时,执行瞬间断电快速恢复操作,系基于包括所述第一标签的所述系统信息中所述闪存120中每一所述区块的所述数据信息和所述当前编程的所述区块的位置,获取且解析所述当前编程的所述区块的所述数据信息,并将包括所述第一标签的所述系统信息中的写缓存映射表加载至所述内存110,以使所述内存110恢复到异常断电前的状态。
在一种可选的实施方式中,当判断寻找到的系统信息包括所述第二标签时,执行瞬间断电恢复(SPOR)操作,以使内存110恢复到异常断电前的状态。其中,所述瞬间断电恢复操作包括:解析所述闪存120中的逻辑转实体映射表,并扫描闪存120中所有区块的所述数据信息。在另一种可选的实施方式中,当判断寻找到的系统信息包括所述第三标签时,执行正常断电恢复操作,以使所述内存110恢复到断电前的状态。其中,所述正常断电恢复操作包括:基于管理所述逻辑转实体映射表的所述二级表将断电前的逻辑转实体映射表加载至内存110。
综上所述,本申请提供一种存储设备异常断电恢复方法及存储设备,通过在存储设备处于空闲状态时对其进行快照获取当前的系统信息,并在系统信息中写入第一标签后存入闪存中,实现存储设备处于空闲状态发生异常断电后再次上电时,若寻找到的最新系统信息包括第一标签,则仅解析最新系统信息中当前编程的区块的数据信息,并将最新系统信息中的写缓存映射表加载至内存,即可使内存恢复到异常断电前的状态,由于不需解析闪存中的逻辑转实体映射表,并扫描闪存中所有区块的数据信息,因此,可以在存储设备处于空闲状态发生异常断电后再次上电时,大大缩短异常断电恢复所需的时间。也就是,执行瞬间断电快速恢复操作所需的时间系大大地少于执行瞬间断电恢复(SPOR)操作所需的时间。
本发明所述的方法中的全部或部分步骤可以计算器程序实现,例如计算机的操作系统、计算机中特定硬件的驱动程序、或软件程序。此外,也可实现在如上所示的其他类型程序。所属技术领域具有通常知识者可将本发明实施例的方法撰写成计算器程序,为求简明不再加以描述。依据本发明实施例方法实施的计算器程序可存储在适当的计算机可读取介质,例如DVD、CD-ROM、USB、硬盘,亦可置于可通过网络(例如,互联网,或其他适当载体)存取的网络服务器。
虽然在本申请的图式中包含了以上描述的组件,但不排除在不违反发明的精神下,使用更多其他的附加组件,已达成更佳的技术效果。此外,虽然本申请的流程图采用指定的顺序来执行,但是在不违反发明精神的情况下,所属技术领域的技术人员可以在达到相同效果的前提下,修改这些步骤间的顺序,所以,本发明并不局限于仅使用如上所述的顺序。此外,所属技术领域的技术人员也可以将若干步骤整合为一个步骤,或者是除了这些步骤外,循序或平行地执行更多步骤,本发明也不因此而局限。
虽然本发明使用以上实施例进行说明,但需要注意的是,这些描述并非用于限缩本发明。相反地,此发明涵盖了所属技术领域中的技术人员显而易见的修改与相似设置。所以,权利要求范围须以最宽广的方式解释来包含所有显而易见的修改与相似设置。

Claims (10)

1.一种存储设备异常断电恢复方法,存储设备包括内存、闪存和控制器,所述存储设备异常断电恢复方法由所述控制器执行,其特征在于,所述存储设备异常断电恢复方法包括:
当判断所述存储设备处于空闲状态时,对所述存储设备进行快照,以获取当前所述存储设备的系统信息,并在所述系统信息中写入第一标签后,将所述系统信息写入所述闪存中;
当判断发生以下至少一种情形:所述闪存中的逻辑转实体映射表被更改、启动垃圾回收操作、编程了一个新的区块或者除了当前编程的所述区块以外的任一所述区块的数据信息改变时,对所述存储设备进行快照,以获取当前所述存储设备的所述系统信息,并在所述系统信息中写入第二标签后,将所述系统信息写入所述闪存中;
当异常断电后重新上电启动时,寻找最新写入在所述闪存中的所述系统信息,并判断寻找到的所述系统信息中是否包括所述第一标签;
当判断寻找到的所述系统信息包括所述第一标签时,执行瞬间断电快速恢复操作,系基于包括所述第一标签的所述系统信息中所述闪存中每一所述区块的所述数据信息和所述当前编程的所述区块的位置,获取且解析所述当前编程的所述区块的所述数据信息,并将包括所述第一标签的所述系统信息中的写缓存映射表加载至所述内存,以使所述内存恢复到异常断电前的状态。
2.如权利要求1所述的存储设备异常断电恢复方法,其特征在于,还包括:判断寻找到的所述系统信息是否包括所述第二标签;当判断寻找到的所述系统信息包括所述第二标签时,执行瞬间断电恢复操作,以使所述内存恢复到异常断电前的状态,其中,所述瞬间断电恢复操作包括:解析所述闪存中的所述逻辑转实体映射表,以及扫描所述闪存中所有区块的所述数据信息。
3.如权利要求1所述的存储设备异常断电恢复方法,其特征在于,所述系统信息包括有:所述内存中的所述写缓存映射表、所述闪存中每一所述区块的所述数据信息和所述闪存中所述当前编程的所述区块的所述位置。
4.如权利要求1所述的存储设备异常断电恢复方法,其特征在于,在当异常断电后重新上电启动时,寻找最新写入在所述闪存中的所述系统信息,并判断寻找到的所述系统信息中是否包括所述第一标签之前,所述存储设备异常断电恢复方法还包括:
当接收断电指令时,对所述存储设备进行快照,以获取当前所述存储设备的所述系统信息,并在所述系统信息中写入第三标签后,将所述系统信息写入所述闪存中。
5.如权利要求1所述的存储设备异常断电恢复方法,其特征在于,启动所述垃圾回收操作还包括:对所述闪存中的存储数据的所述区块进行垃圾回收和/或所述逻辑转实体映射表进行垃圾回收。
6.一种存储设备,包括内存、闪存和控制器,所述内存和所述闪存分别与所述控制器连接,其特征在于,所述控制器包括:
非易失性存储器,用于存储实现存储设备异常断电恢复方法的程序代码;
处理器,耦接所述非易失性存储器,用于加载并执行所述存储设备异常断电恢复方法的程序代码,以当判断所述存储设备处于空闲状态时,对所述存储设备进行快照,以获取当前所述存储设备的系统信息,并在所述系统信息中写入第一标签后,将所述系统信息写入所述闪存中,;当判断发生以下至少一种情形:所述闪存中的逻辑转实体映射表被更改、启动垃圾回收操作、编程了一个新的区块或者除了当前编程的所述区块以外的任一所述区块的数据信息改变时,对所述存储设备进行快照,以获取当前所述存储设备的所述系统信息,并在所述系统信息中写入第二标签后,将所述系统信息写入所述闪存中;当异常断电后重新上电启动时,寻找最新写入在所述闪存中的所述系统信息,并判断寻找到的所述系统信息中是否包括所述第一标签;及当判断寻找到的所述系统信息包括所述第一标签时,执行瞬间断电快速恢复操作,系基于包括所述第一标签的所述系统信息中所述闪存中每一所述区块的所述数据信息和所述当前编程的所述区块的位置,获取且解析所述当前编程的所述区块的所述数据信息,并将包括所述第一标签的所述系统信息中的写缓存映射表加载至所述内存,以使所述内存恢复到异常断电前的状态。
7.如权利要求6所述的存储设备,其特征在于,所述处理器还用于加载并执行所述存储设备异常断电恢复方法的程序代码,以判断寻找到的所述系统信息中是否包括所述第二标签;及当判断寻找到的所述系统信息包括所述第二标签时,执行瞬间断电恢复操作,以使所述内存恢复到异常断电前的状态,其中,所述瞬间断电恢复操作包括:所述处理器解析所述闪存中的所述逻辑转实体映射表,并扫描所述闪存中所有区块的所述数据信息。
8.如权利要求6所述的存储设备,其特征在于,所述系统信息包括有:所述内存中的所述写缓存映射表、所述闪存中每一所述区块的所述数据信息和所述闪存中所述当前编程的所述区块的所述位置。
9.如权利要求6所述的存储设备,其特征在于,所述处理器还用于加载并执行所述存储设备异常断电恢复方法的程序代码,以判断是否接收断电指令;当判断接收所述断电指令时,对所述存储设备进行快照,以获取当前所述存储设备的所述系统信息,并在所述系统信息中写入第三标签后,将所述系统信息写入所述闪存中。
10.如权利要求6所述的存储设备,其特征在于,启动所述垃圾回收操作还包括:对所述闪存中的存储数据的所述区块进行垃圾回收和/或所述逻辑转实体映射表进行垃圾回收。
CN202010915047.6A 2020-09-03 2020-09-03 存储设备异常断电恢复方法及存储设备 Active CN111949220B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010915047.6A CN111949220B (zh) 2020-09-03 2020-09-03 存储设备异常断电恢复方法及存储设备
US17/156,711 US11467645B2 (en) 2020-09-03 2021-01-25 Storage device and method for sudden power off recovery thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010915047.6A CN111949220B (zh) 2020-09-03 2020-09-03 存储设备异常断电恢复方法及存储设备

Publications (2)

Publication Number Publication Date
CN111949220A true CN111949220A (zh) 2020-11-17
CN111949220B CN111949220B (zh) 2023-12-08

Family

ID=73367266

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010915047.6A Active CN111949220B (zh) 2020-09-03 2020-09-03 存储设备异常断电恢复方法及存储设备

Country Status (2)

Country Link
US (1) US11467645B2 (zh)
CN (1) CN111949220B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115291815A (zh) * 2022-10-09 2022-11-04 合肥康芯威存储技术有限公司 一种存储器及其控制方法与存储系统
CN115407946A (zh) * 2022-11-02 2022-11-29 合肥康芯威存储技术有限公司 一种存储器及其控制方法与控制系统
CN115878033A (zh) * 2022-11-30 2023-03-31 合肥腾芯微电子有限公司 一种固态硬盘及其映射表管理方法
CN118426815A (zh) * 2024-07-02 2024-08-02 合肥康芯威存储技术有限公司 一种存储设备及其控制方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12045473B2 (en) * 2022-06-14 2024-07-23 Western Digital Technologies, Inc. Data storage device and method for prediction-based improved power-loss handling

Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080104308A1 (en) * 2006-10-25 2008-05-01 Yeon-Jin Mo System with flash memory device and data recovery method thereof
US20090222636A1 (en) * 2008-02-29 2009-09-03 Kabushiki Kaisha Toshiba Memory system and memory initializing method
US20100180065A1 (en) * 2009-01-09 2010-07-15 Dell Products L.P. Systems And Methods For Non-Volatile Cache Control
CN101876949A (zh) * 2009-11-30 2010-11-03 威盛电子股份有限公司 数据储存系统与方法
CN102073600A (zh) * 2009-11-20 2011-05-25 群联电子股份有限公司 数据备份方法、闪存控制器及闪存储存系统
US20110185106A1 (en) * 2008-02-29 2011-07-28 Kabushiki Kaisha Toshiba Memory system
US20120159244A1 (en) * 2010-12-15 2012-06-21 Kabushiki Kaisha Toshiba Memory system
CN102591748A (zh) * 2011-12-29 2012-07-18 记忆科技(深圳)有限公司 固态硬盘及其掉电保护方法、系统
TW201426305A (zh) * 2012-12-28 2014-07-01 Infomicro Electronics Shenzhen Ltd 虛擬記憶體設備驅動器、用於在主機上執行之虛擬記憶體設備驅動器、刷新快閃記憶體的方法、快閃記憶體刷新的方法、超級增強耐力設備硬碟固體狀態驅動機耐用轉換層之方法、超級增強耐力設備及耐力快閃記憶體檔案系統
US20150058539A1 (en) * 2013-08-22 2015-02-26 CNEXLABS, Inc. Method and Apparatus for Restoring Flash Translation Layer (FTL) in Non-Volatile Storage device
CN106294026A (zh) * 2016-08-19 2017-01-04 浪潮(北京)电子信息产业有限公司 一种固态盘异常掉电后的映射表恢复方法及其系统
CN107038131A (zh) * 2016-02-04 2017-08-11 广明光电股份有限公司 固态硬盘断电保护装置及方法
US20180032272A1 (en) * 2016-07-29 2018-02-01 Fujitsu Limited Information processing device and memory controller
CN108038026A (zh) * 2017-11-17 2018-05-15 中国科学院信息工程研究所 一种基于闪存的数据快速恢复方法与系统
CN110286850A (zh) * 2019-05-15 2019-09-27 青岛镕铭半导体有限公司 固态硬盘元数据的写入方法、恢复方法及固态硬盘
CN110688251A (zh) * 2018-07-05 2020-01-14 华为技术有限公司 写数据方法及存储系统
CN110825310A (zh) * 2018-08-09 2020-02-21 深圳大心电子科技有限公司 存储器管理方法以及存储控制器

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9904480B1 (en) * 2014-12-18 2018-02-27 EMC IP Holding Company LLC Multiplexing streams without changing the number of streams of a deduplicating storage system
US10846216B2 (en) * 2018-10-25 2020-11-24 Pure Storage, Inc. Scalable garbage collection
US10921986B2 (en) * 2019-05-14 2021-02-16 Oracle International Corporation Efficient space management for high performance writable snapshots

Patent Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080104308A1 (en) * 2006-10-25 2008-05-01 Yeon-Jin Mo System with flash memory device and data recovery method thereof
US20090222636A1 (en) * 2008-02-29 2009-09-03 Kabushiki Kaisha Toshiba Memory system and memory initializing method
US20110185106A1 (en) * 2008-02-29 2011-07-28 Kabushiki Kaisha Toshiba Memory system
US20100180065A1 (en) * 2009-01-09 2010-07-15 Dell Products L.P. Systems And Methods For Non-Volatile Cache Control
CN102073600A (zh) * 2009-11-20 2011-05-25 群联电子股份有限公司 数据备份方法、闪存控制器及闪存储存系统
CN101876949A (zh) * 2009-11-30 2010-11-03 威盛电子股份有限公司 数据储存系统与方法
US20110131365A1 (en) * 2009-11-30 2011-06-02 Via Technologies, Inc. Data Storage System and Method
US20120159244A1 (en) * 2010-12-15 2012-06-21 Kabushiki Kaisha Toshiba Memory system
CN102591748A (zh) * 2011-12-29 2012-07-18 记忆科技(深圳)有限公司 固态硬盘及其掉电保护方法、系统
TW201426305A (zh) * 2012-12-28 2014-07-01 Infomicro Electronics Shenzhen Ltd 虛擬記憶體設備驅動器、用於在主機上執行之虛擬記憶體設備驅動器、刷新快閃記憶體的方法、快閃記憶體刷新的方法、超級增強耐力設備硬碟固體狀態驅動機耐用轉換層之方法、超級增強耐力設備及耐力快閃記憶體檔案系統
US20150058539A1 (en) * 2013-08-22 2015-02-26 CNEXLABS, Inc. Method and Apparatus for Restoring Flash Translation Layer (FTL) in Non-Volatile Storage device
CN107038131A (zh) * 2016-02-04 2017-08-11 广明光电股份有限公司 固态硬盘断电保护装置及方法
US20180032272A1 (en) * 2016-07-29 2018-02-01 Fujitsu Limited Information processing device and memory controller
CN106294026A (zh) * 2016-08-19 2017-01-04 浪潮(北京)电子信息产业有限公司 一种固态盘异常掉电后的映射表恢复方法及其系统
CN108038026A (zh) * 2017-11-17 2018-05-15 中国科学院信息工程研究所 一种基于闪存的数据快速恢复方法与系统
CN110688251A (zh) * 2018-07-05 2020-01-14 华为技术有限公司 写数据方法及存储系统
CN110825310A (zh) * 2018-08-09 2020-02-21 深圳大心电子科技有限公司 存储器管理方法以及存储控制器
CN110286850A (zh) * 2019-05-15 2019-09-27 青岛镕铭半导体有限公司 固态硬盘元数据的写入方法、恢复方法及固态硬盘

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115291815A (zh) * 2022-10-09 2022-11-04 合肥康芯威存储技术有限公司 一种存储器及其控制方法与存储系统
CN115407946A (zh) * 2022-11-02 2022-11-29 合肥康芯威存储技术有限公司 一种存储器及其控制方法与控制系统
CN115878033A (zh) * 2022-11-30 2023-03-31 合肥腾芯微电子有限公司 一种固态硬盘及其映射表管理方法
CN115878033B (zh) * 2022-11-30 2023-09-15 合肥腾芯微电子有限公司 一种固态硬盘及其映射表管理方法
CN118426815A (zh) * 2024-07-02 2024-08-02 合肥康芯威存储技术有限公司 一种存储设备及其控制方法

Also Published As

Publication number Publication date
US20220066527A1 (en) 2022-03-03
CN111949220B (zh) 2023-12-08
US11467645B2 (en) 2022-10-11

Similar Documents

Publication Publication Date Title
CN111949220B (zh) 存储设备异常断电恢复方法及存储设备
US8392649B2 (en) Memory storage device, controller, and method for responding to host write commands triggering data movement
CN111880723B (zh) 数据储存装置与数据处理方法
US11068177B2 (en) Data storage devices and data processing methods for shortening time required for a host device to wait for initialization of the data storage device
US8819387B2 (en) Memory storage device, memory controller, and method for identifying valid data
WO2023116346A1 (zh) 异常掉电下Trim数据的恢复方法、系统及固态硬盘
KR20140147017A (ko) 라이트 백 캐싱 환경에서 예상하지 못한 셧다운으로부터 복구하기 위한 시스템 및 방법
CN105955672B (zh) 用于灵活控制损耗均衡的固态存储系统及方法
CN111198780A (zh) 执行存储器系统的恢复操作的设备和方法
US11403018B2 (en) Method and apparatus for performing block management regarding non-volatile memory
US20140281581A1 (en) Storage Device
TWI755059B (zh) 儲存設備及其異常斷電恢復方法
CN112214356B (zh) 文件数据恢复方法、装置、计算机设备及存储介质
KR101691091B1 (ko) 컴퓨팅 시스템 및 그것의 하이버네이션 방법
CN110286850B (zh) 固态硬盘元数据的写入方法、恢复方法及固态硬盘
US11392310B2 (en) Memory system and controller
CN112099731B (zh) 数据储存装置与数据处理方法
US11314453B2 (en) Memory system managing map data based on risk of malware—infection of host, and operating method thereof
CN108804033B (zh) 基于断电重续的全盘扫描方法、装置、计算机设备及介质
CN114400037A (zh) Nand擦除方法、装置及可读存储介质
CN108509295B (zh) 存储器系统的操作方法
CN110489053B (zh) 管理闪存模块的方法、相关的闪存控制器和电子装置
CN112764671A (zh) 存储设备的元数据聚合处理方法及存储设备
US20240126473A1 (en) Data storage device and method for managing a write buffer
US20240143226A1 (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
GR01 Patent grant
GR01 Patent grant