CN112579349A - 备份、复原和恢复寄存器值的方法和系统 - Google Patents

备份、复原和恢复寄存器值的方法和系统 Download PDF

Info

Publication number
CN112579349A
CN112579349A CN202011040441.6A CN202011040441A CN112579349A CN 112579349 A CN112579349 A CN 112579349A CN 202011040441 A CN202011040441 A CN 202011040441A CN 112579349 A CN112579349 A CN 112579349A
Authority
CN
China
Prior art keywords
register
cell
volatile memory
value
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.)
Pending
Application number
CN202011040441.6A
Other languages
English (en)
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.)
Taiwan Semiconductor Manufacturing Co TSMC Ltd
Original Assignee
Taiwan Semiconductor Manufacturing Co TSMC 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
Priority claimed from US17/010,058 external-priority patent/US11295792B2/en
Application filed by Taiwan Semiconductor Manufacturing Co TSMC Ltd filed Critical Taiwan Semiconductor Manufacturing Co TSMC Ltd
Publication of CN112579349A publication Critical patent/CN112579349A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

一种备份、复原和恢复寄存器值的方法和系统,包含:处理器;寄存器,配置成存储多个字;非易失性存储器,具有多个单元,每一单元对应于寄存器的字中的一个,且其中将多个单元中的每一单元设定为初始复位值;第一控制器,响应于电力丢失:确定由寄存器所存储的字;且将非易失性存储器的对应于所确定的由寄存器所存储的字的单元的初始复位值改变为设定值;第二控制器,响应于检测到电力恢复:识别具有设定值的单元;将对应于所识别单元的字写入到寄存器;且将非易失性存储器的单元复位到初始复位值。

Description

备份、复原和恢复寄存器值的方法和系统
背景技术
一般来说,计算系统包含一或多个处理器和存储器,存储器包含寄存器。通常,寄存器由少量快速存储装置组成。寄存器暂时保存由CPU频繁使用的数据、指令以及存储器地址。存在各种类型的寄存器(每一寄存器用于特定目的),包含数据寄存器、地址寄存器、程序计数器、存储器数据寄存器、存储器缓冲寄存器等。
寄存器可以是易失性或非易失性的。在易失性寄存器的情况下,计算系统的电力丢失可能导致寄存器丢失其值。避免丢失存储在寄存器中的有价值数据的一个实例包含将寄存器的数据值备份在非易失性存储器中。通常,备份寄存器包含将寄存器数据的每一位的副本保存在非易失性存储器的对应位中。然而,在电力丢失的情况下,随着寄存器中的数据位的数目增加,使用剩余电力来快速备份寄存器数据变得越来越难以实现。
发明内容
本揭露实施例提供一种备份寄存器值的方法,包括:设置配置成存储多个字的寄存器;设置具有多个单元的非易失性存储器,每一单元对应于所述寄存器的所述字中的一个;将所述非易失性存储器的每一单元设定为初始复位值;响应于检测到电力丢失,确定由所述寄存器所存储的所述字;且将对应于所确定的由所述寄存器所存储的字的、所述非易失性存储器的所述单元的所述初始复位值改变为设定值。
本揭露实施例提供一种复原和恢复寄存器值的方法,包括:设置配置成存储多个字的寄存器;设置具有多个单元的非易失性存储器,每一单元对应于所述寄存器的所述字中的一个;响应于在电力丢失之后检测到电力恢复,识别具有设定值的所述单元;将对应于所识别单元的所述字写入到所述寄存器;且将非易失性存储器的所述单元复位到初始复位值。
本揭露实施例提供一种备份和恢复寄存器值的系统,包括:第一存储器,配置成存储数据;寄存器,配置成存储多个字,其中所述寄存器配置成从所述第一存储器接收所述数据以及将所述数据存储为所述多个所述字中的一个;第二非易失性存储器,具有多个单元,所述多个字中的每一个具有所述寄存器的对应单元,其中将所述多个单元中的每一单元设定为初始复位值;控制器,其中响应于电力丢失,所述控制器配置成:确定由所述寄存器所存储的所述多个字中的所述一个;以及将所述寄存器的所述对应单元的所述初始复位值改变为设定值;且其中响应于电力恢复,所述控制器配置成:识别所述第二非易失性存储器的具有所述设定值的所述对应单元;将所识别对应单元的所述字中的所述一个写入到所述寄存器;以及将所述所识别对应单元复位到所述初始复位值。
附图说明
结合附图阅读以下具体实施方式会最好地理解本公开的各方面。应注意,根据业界中的标准惯例,各种特征未按比例绘制。实际上,为了论述清楚起见,可任意增大或减小各种特征的尺寸。
图1是示出根据一些实施例的使用非易失性存储器的快速寄存器备份系统的实例的框图。
图2是示出根据一些实施例的在电力丢失事件期间的备份方法的实例的流程图。
图3是示出根据一些实施例的在上电事件期间的恢复方法的实例的流程图。
图4是示出根据一些实施例的寄存器值与额外非易失性存储器单元位置之间的实例映射的表的示意图。
图5a和图5b示出根据一些实施例的、与快速寄存器备份系统相关联的实例电力丢失和电力恢复操作。
图6是示出根据一些实施例的组合式恢复和备份方法的实例的流程图。
附图标号说明
100:快速寄存器备份系统;
110:计算系统;
112:寄存器;
114:第一存储器;
116:第二存储器;
118:写入控制器;
120:召回控制器;
200、300:流程图;
210、220、230、240、250、310、320、330、340、350、360:操作;
400:表;
410:字值;
420:单元位置;
500:电力丢失操作;
510:在电力丢失之前;
512、522、612、622:寄存器字值;
514、524、614、624:单元号;
516、526、616、626:单元数据值;
520:在电力丢失时;
600:上电操作;
610:在电力恢复时;
620:在寄存器数据恢复之后;
700:方法。
具体实施方式
以下公开提供用于实施所提供主题的不同特征的许多不同实施例或实例。下文描述组件和布置的具体实例以简化本公开。当然,这些仅是实例且并不意图为限制性的。举例来说,本公开可在各种实例中重复附图标号和/或字母。这一重复是出于简化和清晰的目的,且本身并不规定所论述的各种实施例和/或配置之间的关系。
另外,为易于描述,本文中可使用例如“在……之下”、“在……下方”、“下部”、“在……上方”、“上部”以及类似物的空间相对术语,以描述如图中所示出的一个元件或特征与另一元件或特征的关系。除图中所描绘的定向外,空间相关术语意图涵盖器件在使用或操作中的不同定向。设备可以其它方式定向(旋转90度或处于其它定向),且本文中所使用的空间相对描述词同样可相应地进行解译。
一般来说,计算系统使用寄存器来存储需要由处理器快速访问的少量数据。寄存器通常由其可保持的位数来测量,例如4位寄存器、8位寄存器等。计算系统可使用若干不同种类的寄存器,包含但不限于地址寄存器、用户可访问寄存器、状态寄存器、通用寄存器、指令寄存器、存储器缓冲寄存器、存储器数据、寄存器以及专用寄存器。寄存器通常是易失性的,但有时也可能是非易失性的。
易失性存储器是需要电力来维持所存储的信息的一种类型的计算机存储装置。易失性存储器在通电的同时保持数据,但当电力中断时,所存储的数据丢失。相反,非易失性存储器电路(其包含闪存、寄存器RAM、磁性RAM、EfuseRAM、反熔丝RAM等等)设计成通过假设不受非易失性存储器电路的电力丢失影响的状态(例如,特定电荷)来存储数据。因此非易失性存储器可用以备份通常存储在易失性存储器中的重要数据,以便防止发生数据丢失。在具有易失性寄存器的计算系统的情况下,存在在非易失性存储器中备份寄存器数据的需要,以便在电力丢失事件的情况下不丢失数据。
通常,当计算系统丢失电力时或当电力变得不稳定时,通常使用有限的剩余电力来记录寄存器日志或将寄存器日志备份在非易失性存储器单元中。这可能意味着仅短时间段可用于更新非易失性存储器单元。举例来说,如果使用4位易失性寄存器,那么在经历电力丢失时,需要将4位中的每一个记录到非易失性存储器中,以便保存寄存器数据。然而,可用电力可能是有限的,且可能不足以完成针对所有寄存器数据位的备份操作。因此,取决于寄存器数据位的卷,计算器件可能最终不成功地完成备份操作。
所公开实施例提供一种以更快且更可靠的方式备份数据的方法。在一个实施例中,添加额外非易失性存储器,且额外非易失性存储器中的每一单元号(cell number)/位置分别对应于寄存器数据字值。最初,将额外非易失性存储器中的数据位复位到相同值,例如全零或全一。当发生电力丢失时,找出对应于寄存器的数据值的单元号/位置,且反转所述单元位置中的数据。当电力恢复时,可搜索额外非易失性存储器的数据位以获得对应于反转值的单元号/位置。因此,所获得的单元号/位置可用于识别对应字值,所述对应字值接着用以在电力恢复时恢复寄存器数据值。
图1是示出使用非易失性存储器的快速备份系统的实例的框图。在一个实例中,快速寄存器备份系统100的硬件实施方案包含计算系统110,所述计算系统110包含寄存器112、第一存储器114、第二存储器116、写入控制器118以及召回控制器(recallcontroller)120。在一些实施例中,第一存储器114和第二存储器116是非易失性存储器,而其它配置在本公开的范围内。
在一个实例中,寄存器112配置成存储需要由计算系统110的处理器快速访问的少量数据。寄存器大小可变化且通常以可存储在寄存器中的位数测量。举例来说,存储信息的n个位(也就是4位字)的寄存器将视为n位寄存器。寄存器大小可变化且可包含4位寄存器、8位寄存器、16位寄存器、32位寄存器等。通常将寄存器数据存储为二进制数,意味着0和1。然而,也可使用其它系统(例如十六进制系统)来存储数据。在一些实例中,寄存器112可包含但不限于地址寄存器、用户可访问寄存器、状态寄存器、通用寄存器、指令寄存器、存储器缓冲寄存器、存储器数据、寄存器以及专用寄存器。寄存器通常是易失性的,但有时也可能是非易失性的。在一个实例中,寄存器112直接或间接地连接到第一非易失性存储器114以及第二非易失性存储器116、写入控制器118以及召回控制器120。
在一个实例中,第一存储器114是连接到寄存器112的非易失性存储器。然而,在快速备份系统100的其它实例中,第一非易失性存储器114可能并不连接到寄存器112或可能根本不包含在计算系统110中。第一非易失性存储器114用以将任何类型的数据存储在计算系统110内。寄存器112可访问第一非易失性存储器114,以基于寄存器配置成做什么和当时处理器的需要将数据移动到寄存器112自身中。举例来说,如果配置成计算系统110的部分的处理器正处理位于第一非易失性存储器114中的数据,且处理器需要频繁地访问所述数据,那么可从第一非易失性存储器114提取数据且将其存储在寄存器112中。在处理器完成处理数据之后,可从寄存器112去除已处理的数据地址且将其存储回第一非易失性存储器114中。
在一个实例中,快速备份系统100包含第二非易失性存储器116。第二非易失性存储器116由计算系统110分配以在电力丢失的情况下存储来自寄存器112的数据的备份。第二非易失性存储器116的大小可取决于寄存器112的大小而变化。在二进制系统的情况下,对于n位寄存器,第二非易失性存储器116的大小是2n位。举例来说,对于4位寄存器,计算系统110分配非易失性存储器的16个位作为第二非易失性存储器116。将第二非易失性存储器116内的所有单元复位到初始复位值。初始复位值可以是0或1。
在一个实例中,快速备份系统100包含一或多个存储器控制器。通常,存储器控制器是管理去往和来自计算机的存储器的数据流的数字电路,在这一情况下包含寄存器112、第一非易失性存储器114以及第二非易失性存储器116。在一个实例中,快速备份系统100包含写入控制器118和召回控制器120。
在一个实例中,控制器包含写入控制器118和召回控制器120。写入控制器118用以检查寄存器112是否具有需要备份的任何更新后的数据。此外,写入控制器118还用以进行编程过程,具体来说,用以在发生电力丢失时设定第二非易失性存储器116中的数据位。
在一个实例中,召回控制器120配置成在计算系统恢复电力时用备份数据更新寄存器112。更新寄存器112的过程可包含搜索第二非易失性存储器116以识别具有预定值或指示符的单元、在电力丢失之前将具有所识别单元的单元反向映射到寄存器的数据值,以及用恢复后的数据值更新寄存器116。关于图4详细描述将额外非易失性存储器单元映射和反向映射到寄存器的数据值的过程。
图2是示出在电力丢失事件期间使用快速备份系统的备份方法的实例的流程图200。最初,在实例操作210期间,快速备份系统100检测到电力丢失事件。电力丢失事件可包含到计算系统110的电力的任何中断,包含到计算系统110的完全电力丢失或到计算系统110的电力的不稳定。在实例操作220中,在检测到电力丢失事件时,写入控制器118检查寄存器112中的数据以查看寄存器数据是否具有将受益于备份的任何更新。
在实例操作230中,在基于操作220确定存在对需要备份的寄存器数据的更新时,写入控制器118分析寄存器数据且确定与寄存器数据相关联的字值。在一个实例中,n个数据位的字值可以是一起的n个位的十进制等值(equivalent)。举例来说,对于包含具有以下二进制位的4位字的4位寄存器:“1001”(第4位:1;第3位:0;第2位:0且第1位1),实例字值将是9。在操作230中确定寄存器的字值以便识别将用于备份过程中的额外非易失性存储器单元。关于图4更详细地论述寄存器数据的字值与备份寄存器数据的非易失性存储器单元之间的实例映射。
在实例操作240中,将对应于寄存器数据的字值的所识别第二非易失性存储器单元设定为设定值。在所示出实例中,设定值是所有非易失性存储器单元设定在的初始复位值的倒数。在二进制系统的情况下,如果将第二非易失性存储器116的单元中的每一个设定为初始复位值1,那么当备份寄存器数据时,将映射到寄存器字值的单元设定为设定值0(初始复位值1的倒数)。类似地,如果将初始复位值设定为0,那么设定值(其是初始复位值的倒数)是1。在二进制系统中,额外非易失性存储器的初始复位值可以是0或1。备份过程配置成以容易地识别寄存器112的字值的方式标记额外非易失性存储器单元。
由于与寄存器数据相关联的每一可能字值映射到第二非易失性存储器116的单元中的对应一个,所以仅需要设定第二非易失性存储器116的一个位以便完全备份寄存器数据。在这一情况下,寄存器的大小不重要。无论寄存器的大小如何,仅需要设定一个位以便使用快速备份系统来备份寄存器数据。在备份过程期间仅更新一个位使得快速备份系统比传统备份方法更快,所述传统备份方法要求备份寄存器的每一位。因此,在传统备份系统中,对于4位寄存器,需要更新非易失性存储器的4个位;对于8位寄存器,需要更新非易失性存储器的8个位等等。由于在电力丢失事件期间快速备份系统仅需要更新1个位,所以快速备份系统也更加可靠,因为可在电力完全丢失之前完成备份过程的机率增加。
在完成操作240后,在操作250中,快速备份过程完成且电力丢失200期间的快速备份方法结束。此外,如果写入控制器118确定寄存器尚未更新,和/或不必备份寄存器数据,那么电力丢失200期间的快速备份方法也在操作250中结束。步骤250结束在检测到电力丢失事件时发起的备份过程。
图3是示出在上电事件(power up event)期间恢复数据的方法的实例的流程图300。最初,在实例操作310期间,快速备份系统100检测到上电事件。上电事件可包含在完全电力丢失的时段之后恢复到快速备份系统100的电力,或在电力不稳定的时段之后恢复到快速备份系统100的稳定电力。
在实例操作320中,在操作310中检测到上电事件时,召回控制器120搜索第二非易失性存储器116且识别具有设定为设定值的数据值的单元。如果第二非易失性存储器116的单元中没有一个设定为设定值,那么由于包含以下的任何数目个原因而未备份寄存器数据:寄存器112未更新且因此不需要备份,或快速备份系统100没有足够时间来完成备份过程。如果第二非易失性存储器116的单元中没有一个设定为设定值,那么召回控制器在操作360中结束恢复寄存器数据的方法。否则,召回控制器前进到流程图300中的下一操作。
在实例操作330中,召回控制器使用关于图4更详细地描述的反向映射过程,以基于第二非易失性存储器116中的具有设定值的单元来获得寄存器112的字值。随后,在实例操作340中,使用所识别的寄存器112的字值来恢复寄存器112的个别位的数据值。
在实例操作350中,一旦寄存器112恢复,那么将第二非易失性存储器116的所有单元的数据值复位到初始复位值。完成复位过程以准备第二非易失性存储器116的单元,以用于在另一电力丢失事件的情况下快速备份。在复位额外非易失性存储器单元的数据值后,用于恢复寄存器数据的方法在实例操作360中结束。
图4是示出寄存器字值与4位寄存器的额外非易失性存储器单元位置之间的实例映射的表400。在二进制系统中,每一数据位可具有0或1的数据值。对于4个数据位(也就是4位字),数据值可在“0000”到“1111”范围内。总的来说,对于4个数据位,存在字值的24个或16个可能的组合。8位寄存器包括字值的至少256个可能的组合,且因此可能需要至少256个额外非易失性存储器单元。类似地,16位寄存器包括字值的至少65536个可能的组合,且因此可能需要至少65536个额外非易失性单元。
对于4位寄存器的当前实例,所有16个可能的字值在表的左手侧列出,位于“4位寄存器字值”410下。映射到在表的左手侧列出的字值中的每一个的对应16个额外非易失性存储器单元位置420在表的对应右手侧单元上列出。举例来说,字值1001映射到单元位置“9”。在实例映射表400中,每一字值410映射到对应于字值自身的十进制等值的单元位置420。换句话说,“0000”映射到“0”,“0011”映射到“3”,“1101映射到“13”等等。然而,寄存器字值与额外非易失性单元位置之间的映射不需要如在实例中那样对应于等效十进制值。举例来说,“0000”可映射到“15”、或“0000”可映射到“2”或任何其它单元位置,只要存储映射信息且其可视需要由快速备份系统100检索和使用即可。在上电期间,相同映射表400可用于将具有设定值的额外非易失性存储器的单元位置反向映射到寄存器的字值。
图5a和图5b示出与4位寄存器的快速备份相关联的实例电力丢失操作500和实例上电操作600,其中寄存器具有字值“1010”。特定来说,图5a示出寄存器字值512、寄存器字值522以及对应额外非易失性单元号514、单元号524和单元数据值516、单元数据值526,因为其在电力丢失之前510且在检测到电力丢失时520存在。在电力丢失之前510,寄存器字值512是“1010”。对于这一实例,对应于4位寄存器的16个额外非易失性存储器单元均复位到初始复位值“1”。在其它实例中,初始复位值可以是“0”而不是“1”。
对于这一实例,寄存器字值映射到具有作为寄存器字值的十进制等值的单元号或位置的对应额外非易失性单元。如上文关于图4所论述,在不同实例中,映射方案可以不同。在电力丢失时520,寄存器字值522丢失其数据值。快速备份系统100使用映射方案来找出对应于寄存器字值“1010”的十进制等值的单元号524。在这一情况下,“1010”的十进制等值是“10”。因此,额外非易失性存储器单元号“10”的数据值从初始复位值“1”改变为设定值“0”。额外非易失性存储器中的单元的其余部分的数据值保持在“1”。
图5b示出寄存器字值612、寄存器字值622以及对应额外非易失性单元号614、单元号624和单元数据值616、单元数据值626,因为其在电力恢复的时间610且在寄存器数据值的恢复完成之后620存在。在电力恢复时610,寄存器字值612为空,因为寄存器在电力丢失时丢失其数据值且仍等待其恢复。类似地,在电力恢复时610,额外非易失性存储器的单元号“10”仍处于“0”。
在检测到电力恢复之后,快速备份系统100使用召回控制器120在额外非易失性存储器的单元中搜索具有设定为设定值“0”的数据值的单元。在这一情况下,将额外非易失性存储器单元的单元号“10”识别为具有数据值616“0”的单元。召回控制器120接着使用关于图4所论述的反向映射方法来转换单元号,以识别对应于所识别单元号的字值。在这一实例中,确定所识别单元号“10”对应于字值“1010”,且因此恢复寄存器字值622。在寄存器字值622恢复到其原始值“1010”之后,将额外非易失性存储器中的所有单元的数据值626设定回初始复位值“1”。因此,在时间620,寄存器622和额外非易失性存储器单元626完全恢复到其原始值,如在时间510所见。
图6示出组合上文所论述的图2和图3中所绘示的方法的各方面的另一示例方法700。在操作310处,快速备份系统100检测到上电事件。上电事件可包含在完全电力丢失的时段之后恢复到快速备份系统100的电力,或在电力不稳定的时段之后恢复到快速备份系统100的稳定电力。
在操作310中检测到上电事件时,召回控制器120搜索第二非易失性存储器116且识别具有设定为设定值的数据值的单元。在实例操作330中,召回控制器使用例如结合图4所描述的反向映射过程基于第二非易失性存储器116中的具有设定值的单元来获得寄存器112的字值。随后,在实例操作340中,使用所识别的寄存器112的字值来恢复寄存器112的个别位的数据值。
在实例操作350中,一旦寄存器112恢复,那么将第二非易失性存储器116的所有单元的数据值复位到初始复位值。完成复位过程以准备第二非易失性存储器116的单元,以用于在另一电力丢失事件的情况下快速备份。在复位额外非易失性存储器单元的数据值后,用于恢复寄存器数据的方法在实例操作360中结束。
在操作210中,快速备份系统100检测到电力丢失事件。电力丢失事件可包含到计算系统110的电力的任何中断,包含到计算系统110的完全电力丢失或到计算系统110的电力的不稳定。在实例操作220中,在检测到电力丢失事件时,写入控制器118检查寄存器112中的数据以查看寄存器数据是否具有将受益于备份的任何更新。
在实例操作230中,在基于操作220确定存在对需要备份的寄存器数据的更新时,写入控制器118分析寄存器数据且确定与寄存器数据相关联的字值。在一个实例中,n个数据位的字值可以是一起的n个位的十进制等值。在操作230中确定寄存器的字值以便识别将用于备份过程中的额外非易失性存储器单元。
在实例操作240中,将对应于寄存器数据的字值的所识别第二非易失性存储器单元设定为设定值。在所示出实例中,设定值是所有非易失性存储器单元设定在的初始复位值的倒数。在二进制系统的情况下,如果将第二非易失性存储器116的单元中的每一个设定为初始复位值1,那么当备份寄存器数据时,将映射到寄存器字值的单元设定为设定值0(初始复位值1的倒数)。类似地,如果将初始复位值设定为0,那么设定值(其是初始复位值的倒数)是1。在二进制系统中,额外非易失性存储器的初始复位值可以是0或1。备份过程配置成以容易地识别寄存器112的字值的方式标记额外非易失性存储器单元。
由于与寄存器数据相关联的每一可能字值映射到第二非易失性存储器116的单元中的对应一个,所以仅需要将第二非易失性存储器116的一个位设定为设定值,以便完全备份寄存器数据。在这一情况下,寄存器的大小不重要。无论寄存器的大小如何,仅需要设定一个位以便使用快速备份系统来备份寄存器数据。在备份过程期间仅更新一个位使得快速备份系统比传统备份方法更快,所述传统备份方法要求备份寄存器的每一位。因此,在传统备份系统中,对于4位寄存器,需要更新非易失性存储器的4个位;对于8位寄存器,需要更新非易失性存储器的8个位等等。由于在电力丢失事件期间快速备份系统仅需要更新1个位,所以快速备份系统也更加可靠,因为可在电力完全丢失之前完成备份过程的机率增加。
方法接着返回到关于对上电的感测的操作310。如果写入控制器118确定尚未在操作220中更新寄存器,和/或不必备份寄存器数据,那么快速备份方法同样在电力丢失200期间返回到操作310以确定上电事件。
根据一些实施例,公开一种用于在电力丢失时快速备份寄存器值的方法。所述方法包含:设置配置成存储多个字的寄存器;以及设置具有多个单元的非易失性存储器,其中每一单元对应于所述寄存器的所述字中的一个。将所述非易失性存储器的每一单元设定为初始复位值。响应于检测到电力丢失,确定由所述寄存器所存储的所述字;且将对应于所确定的由所述寄存器所存储的字的、所述非易失性存储器的所述单元的所述初始复位值改变为设定值。
根据一些实施例,前述方法进一步包括:响应于检测到电力恢复,识别具有所述设定值的所述单元;将对应于所识别单元的所述字写入到所述寄存器;且将非易失性存储器的所述单元复位到所述初始复位值。根据一些实施例,响应于由召回控制器检测到所述电力丢失,将所述非易失性存储器的每一单元设定为初始值。根据一些实施例,所述多个字中的每一个包含n个位,且其中n是等于或大于0的整数。根据一些实施例,所述多个字包含2n个字。根据一些实施例,所述多个单元包含2n个单元。根据一些实施例,前述方法进一步包括:确定自从检测到所述电力丢失以来所述寄存器是否已更新。根据一些实施例,所述非易失性存储器的所述单元由写入控制器复位到所述初始复位值。
根据另外实施例,公开一种用于在电力恢复时快速复原和恢复寄存器值的方法。所述方法包含:设置配置成存储多个字的寄存器;以及设置具有多个单元的非易失性存储器,每一单元对应于所述寄存器的所述字中的一个。响应于在电力丢失之后检测到电力恢复,识别具有设定值的所述单元;且将对应于所识别单元的所述字写入到所述寄存器。接着将所述非易失性存储器的所述单元复位到初始复位值。
根据一些实施例,前述方法进一步包括:响应于检测到电力丢失,确定由所述寄存器所存储的所述字;将对应于所确定的由所述寄存器所存储的字的、所述非易失性存储器的所述单元的所述初始复位值改变为所述设定值。根据一些实施例,所述非易失性存储器的所述单元由写入控制器复位到所述初始复位值。根据一些实施例,所述多个字中的每一个包含n个位,且其中所述多个字包含2n个字,且所述多个单元包含2n个单元。根据一些实施例,前述方法进一步包括:识别到自从所述电力丢失以来所述寄存器已更新。根据一些实施例,响应于由召回控制器检测到所述电力丢失,将所述非易失性存储器的每一单元设定为初始值。
根据其它实施例,公开一种用于在电力丢失和后续电力恢复时快速备份和恢复寄存器值的系统。所述系统包含:第一存储器,配置成存储数据;以及寄存器,配置成存储多个字。所述寄存器配置成从所述第一存储器接收所述数据以及将所述数据存储为所述多个所述字中的一个。第二非易失性存储器具有多个单元。所述多个字中的每一个具有所述寄存器的对应单元,且将所述多个单元中的每一单元复位到初始复位值。响应于电力丢失,控制器配置成:确定由所述寄存器所存储的所述多个字中的所述一个;以及将所述寄存器的所述对应单元的所述初始复位值改变为设定值。响应于电力恢复,所述控制器配置成:识别所述第二非易失性存储器的具有所述设定值的所述对应单元;将所识别对应单元的所述字中的所述一个写入到所述寄存器;以及将所述所识别对应单元复位到所述初始复位值。
根据一些实施例,响应于检测到所述电力恢复,所述控制器进一步配置成将所述所识别对应单元的所述字中的所述一个写入到所述第一存储器。根据一些实施例,所存储的所述多个字中的每一个具有n个位,其中n是等于或大于0的整数,其中所述多个字包含2n个字,且其中所述第二非易失性存储器包含2n个单元。根据一些实施例,所述第一存储器是非易失性存储器。根据一些实施例,所述控制器包括:召回控制器,配置成响应于所述电力丢失而将所述寄存器的所述对应单元的所述初始复位值改变为所述设定值;以及写入控制器,配置成响应于所述电力恢复而识别所述第二非易失性存储器的具有所述设定值的所述对应单元,以及将所识别对应单元的所述字中的所述一个写入到所述寄存器。根据一些实施例,所述写入控制器进一步配置成识别自从所述电力丢失以来所述寄存器是否已更新。
前文概述若干实施例的特征,使得本领域的技术人员可更好地理解本公开的各方面。本领域的技术人员应了解,其可以易于使用本公开作为设计或修改用于实行本文中所介绍的实施例的相同目的和/或实现相同优势的其它过程和结构的基础。本领域的技术人员还应认识到,这种等效构造并不脱离本公开的精神和范围,且本领域的技术人员可在不脱离本公开的精神和范围的情况下在本文中作出各种改变、替代以及更改。

Claims (10)

1.一种备份寄存器值的方法,包括:
设置配置成存储多个字的寄存器;
设置具有多个单元的非易失性存储器,每一单元对应于所述寄存器的所述字中的一个;
将所述非易失性存储器的每一单元设定为初始复位值;
响应于检测到电力丢失,
确定由所述寄存器所存储的所述字;且
将对应于所确定的由所述寄存器所存储的字的、所述非易失性存储器的所述单元的所述初始复位值改变为设定值。
2.根据权利要求1所述的方法,进一步包括:
响应于检测到电力恢复,
识别具有所述设定值的所述单元;
将对应于所识别单元的所述字写入到所述寄存器;且
将非易失性存储器的所述单元复位到所述初始复位值。
3.根据权利要求1所述的方法,其中,响应于由召回控制器检测到所述电力丢失,将所述非易失性存储器的每一单元设定为初始值。
4.根据权利要求1所述的方法,其中所述多个字中的每一个包含n个位,且其中n是等于或大于0的整数,或是,所述多个字包含2n个字,或是,所述多个单元包含2n个单元。
5.根据权利要求1所述的方法,进一步包括确定自从检测到所述电力丢失以来所述寄存器是否已更新。
6.一种复原和恢复寄存器值的方法,包括:
设置配置成存储多个字的寄存器;
设置具有多个单元的非易失性存储器,每一单元对应于所述寄存器的所述字中的一个;
响应于在电力丢失之后检测到电力恢复,
识别具有设定值的所述单元;
将对应于所识别单元的所述字写入到所述寄存器;且
将非易失性存储器的所述单元复位到初始复位值。
7.根据权利要求6所述的方法,进一步包括:
响应于检测到电力丢失,
确定由所述寄存器所存储的所述字;
将对应于所确定的由所述寄存器所存储的字的、所述非易失性存储器的所述单元的所述初始复位值改变为所述设定值。
8.根据权利要求6所述的方法,其中所述非易失性存储器的所述单元由写入控制器复位到所述初始复位值。
9.一种备份和恢复寄存器值的系统,包括:
第一存储器,配置成存储数据;
寄存器,配置成存储多个字,其中所述寄存器配置成从所述第一存储器接收所述数据以及将所述数据存储为所述多个所述字中的一个;
第二非易失性存储器,具有多个单元,所述多个字中的每一个具有所述寄存器的对应单元,其中将所述多个单元中的每一单元设定为初始复位值;
控制器,其中响应于电力丢失,所述控制器配置成:
确定由所述寄存器所存储的所述多个字中的所述一个;以及
将所述寄存器的所述对应单元的所述初始复位值改变为设定值;且
其中响应于电力恢复,所述控制器配置成:
识别所述第二非易失性存储器的具有所述设定值的所述对应单元;
将所识别对应单元的所述字中的所述一个写入到所述寄存器;以及
将所述所识别对应单元复位到所述初始复位值。
10.根据权利要求9所述的系统,其中所述控制器包括:
召回控制器,配置成响应于所述电力丢失而将所述寄存器的所述对应单元的所述初始复位值改变为所述设定值;以及
写入控制器,配置成响应于所述电力恢复而识别所述第二非易失性存储器的具有所述设定值的所述对应单元,以及将所识别对应单元的所述字中的所述一个写入到所述寄存器。
CN202011040441.6A 2019-09-30 2020-09-28 备份、复原和恢复寄存器值的方法和系统 Pending CN112579349A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962908016P 2019-09-30 2019-09-30
US62/908,016 2019-09-30
US17/010,058 2020-09-02
US17/010,058 US11295792B2 (en) 2019-09-30 2020-09-02 Back-up and restoration of register data

Publications (1)

Publication Number Publication Date
CN112579349A true CN112579349A (zh) 2021-03-30

Family

ID=74873128

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011040441.6A Pending CN112579349A (zh) 2019-09-30 2020-09-28 备份、复原和恢复寄存器值的方法和系统

Country Status (2)

Country Link
CN (1) CN112579349A (zh)
DE (1) DE102020123125A1 (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1486117A (zh) * 2002-08-20 2004-03-31 日本电气株式会社 标识位置寄存器的位置信息恢复方法
CN101010668A (zh) * 2004-09-02 2007-08-01 英特尔公司 基于易失性存储的掉电恢复机制
CN103150125A (zh) * 2013-02-20 2013-06-12 郑州信大捷安信息技术股份有限公司 提高掉电保护数据缓冲存储器使用寿命的方法及智能卡
CN107615387A (zh) * 2015-06-19 2018-01-19 爱德斯托科技有限公司 存储器装置中的超深掉电模式控制
US20190102296A1 (en) * 2017-09-29 2019-04-04 Intel Corporation Data preservation and recovery in a memory component
CN109885343A (zh) * 2019-02-25 2019-06-14 深圳忆联信息系统有限公司 一种控制器低功耗启动方法、装置、计算机设备及存储介质
US20190188083A1 (en) * 2017-12-19 2019-06-20 SK Hynix Inc. Memory system, method of operating the same, and data processing system including the same
CN110007738A (zh) * 2019-03-26 2019-07-12 中国工程物理研究院电子工程研究所 适用于敏感电路的抗瞬时电离辐射复位后运行状态重构方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1486117A (zh) * 2002-08-20 2004-03-31 日本电气株式会社 标识位置寄存器的位置信息恢复方法
CN101010668A (zh) * 2004-09-02 2007-08-01 英特尔公司 基于易失性存储的掉电恢复机制
CN103150125A (zh) * 2013-02-20 2013-06-12 郑州信大捷安信息技术股份有限公司 提高掉电保护数据缓冲存储器使用寿命的方法及智能卡
CN107615387A (zh) * 2015-06-19 2018-01-19 爱德斯托科技有限公司 存储器装置中的超深掉电模式控制
US20190102296A1 (en) * 2017-09-29 2019-04-04 Intel Corporation Data preservation and recovery in a memory component
US20190188083A1 (en) * 2017-12-19 2019-06-20 SK Hynix Inc. Memory system, method of operating the same, and data processing system including the same
CN109885343A (zh) * 2019-02-25 2019-06-14 深圳忆联信息系统有限公司 一种控制器低功耗启动方法、装置、计算机设备及存储介质
CN110007738A (zh) * 2019-03-26 2019-07-12 中国工程物理研究院电子工程研究所 适用于敏感电路的抗瞬时电离辐射复位后运行状态重构方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JIE GUO等: "Low cost power failure protection for MLC NAND flash storage systems with PRAM/DRAM hybrid buffer", 《2013 DESIGN, AUTOMATION & TEST IN EUROPE CONFERENCE & EXHIBITION(DATE)》, 4 May 2013 (2013-05-04), pages 859 - 864 *
刘橴默等: "非易失处理器完全备份机制研究", 《计算机工程与科学》, vol. 41, no. 01, 15 January 2019 (2019-01-15), pages 41 - 46 *
肖瑞瑾: "多核处理器层次化存储体系研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》, no. 03, 15 March 2013 (2013-03-15), pages 137 - 24 *

Also Published As

Publication number Publication date
DE102020123125A1 (de) 2021-04-01

Similar Documents

Publication Publication Date Title
US10552311B2 (en) Recovery for non-volatile memory after power loss
US8799555B2 (en) Boot data storage schemes for electronic devices
US9372750B2 (en) Method and apparatus for non-volatile RAM error re-mapping
US8713381B2 (en) Systems and methods of using dynamic data for wear leveling in solid-state devices
US20030093610A1 (en) Algorithm of flash memory capable of quickly building table and preventing improper operation and control system thereof
US10635527B2 (en) Method for processing data stored in a memory device and a data storage device utilizing the same
US11354192B2 (en) Data storage devices and methods for firmware failure prevention
WO2013090135A1 (en) Mount-time reconciliation of data availability
US7945762B2 (en) Method and apparatus for memory management in a non-volatile memory system using a block table
US20230260559A1 (en) Back-up and restoration of register data
CN111324290A (zh) 一种存储器
US9990152B1 (en) Data writing method and storage controller
CN112579349A (zh) 备份、复原和恢复寄存器值的方法和系统
US10452312B2 (en) Apparatus, system, and method to determine a demarcation voltage to use to read a non-volatile memory
US20210326202A1 (en) Non-volatile memory
CN113870931A (zh) 数据写入和数据读取方法及装置、电子设备和存储介质
CN114518834B (zh) 一种信息存储方法、装置及电子设备
CN116880777B (zh) 一种内嵌式存储器及闪存恢复方法
US11650873B2 (en) Memory controller, method of operating the memory controller, and storage device including memory controller
US20220334761A1 (en) Memory system having system buffer and method of operating the memory system
TWI634422B (zh) 電子裝置及其控制方法
CN116863986A (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