CN106258006A - 使用状态信息恢复*** - Google Patents

使用状态信息恢复*** Download PDF

Info

Publication number
CN106258006A
CN106258006A CN201480078587.6A CN201480078587A CN106258006A CN 106258006 A CN106258006 A CN 106258006A CN 201480078587 A CN201480078587 A CN 201480078587A CN 106258006 A CN106258006 A CN 106258006A
Authority
CN
China
Prior art keywords
main memory
volatile main
volatile
status information
memory
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
CN201480078587.6A
Other languages
English (en)
Inventor
T.D.佩雷斯
C.H.科斯塔
J.C.安布罗西
D.R.梅达利亚
M.N.波尔托
R.本德
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of CN106258006A publication Critical patent/CN106258006A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4418Suspend and resume; Hibernate and awake
    • 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/1438Restarting or rejuvenating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • 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/0625Power saving in 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • 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
    • 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0638Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2206/00Indexing scheme related to dedicated interfaces for computers
    • G06F2206/10Indexing scheme related to storage interfaces for computers, indexing schema related to group G06F3/06
    • G06F2206/1014One time programmable [OTP] memory, e.g. PROM, WORM
    • 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/7207Details relating to flash memory management management of metadata or control data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)
  • Retry When Errors Occur (AREA)

Abstract

非易失性主存储器存储在***中执行的至少一个程序的状态信息,以及指示***是否要在下一次开启时恢复到之前状态的元数据。作为从其中电力从***移除的模式重启***的部分,响应于元数据指示***要恢复到之前状态,而使用存储在非易失性主存储器中的状态信息来使***恢复到之前状态。

Description

使用状态信息恢复***
背景技术
电子设备可以包括主存储器和辅存储装置。电子设备的主存储器可以利用一个或多个易失性存储器设备实现。如果从存储器设备移除电力,则易失性存储器设备丢失其数据。辅存储装置可以使用一个或多个非易失性(或持久性)存储设备实现。即便从非易失性存储设备移除电力,非易失性存储设备也留存其内容。
附图说明
关于以下各图描述一些实现。
图1A和1B是根据各种实现的示例电子设备的框图。
图2是根据一些实现的示例过程的流程图。
图3是根据一些实现的非易失性主存储器的示例内容的示意图。
图4是根据另外的实现的示例快照过程的流程图。
图5是根据另外的实现的示例重启过程的流程图。
具体实施方式
在包括易失性主存储器和非易失性辅存储装置的电子设备中,在从电子设备移除电力之前,首先将要跨电子设备的电力循环持久化的数据存储到非易失性辅存储装置中。电子设备的电力循环可以是指包括从电子设备(中的至少一些组件)移除电力、接着将电力再应用到电子设备的序列。当从电子设备的组件移除电力时,易失性主存储器将不会留存其数据;然而,存储在非易失性辅存储装置中的数据得以留存。
电子设备的示例可以包括以下中的任何一个或某种组合:台式计算机、笔记本计算机、平板计算机、服务器计算机、智能电话、个人数字助理、移动电话、通信设备、存储服务器、游戏器具等。更一般地,电子设备可以被称为“***”。***还可以是指多个电子设备的布置。
电子设备可以具有“瞬时接通”特征,其中电子设备恢复到将电子设备置于低电力模式中的时间之前所存在的电子设备的状态,在低电力模式中从电子设备中的一些或所有组件移除电力。低电力模式可以包括电子设备的关断模式(其中根本没有向电子设备应用电力),或者其中从电子设备的一些组件移除电力的另一模式。为了使得电子设备能够恢复到之前的状态,可以将状态信息存储到电子设备的非易失性辅存储装置中。电子设备的之前状态可以是指当一个或多个程序正执行时的时间处的状态。使电子设备恢复到之前状态可以是指使电子设备恢复以开始从之前状态起始的执行。
使用存储在非易失性辅存储装置中的状态信息向之前状态的恢复可以快于引导电子设备(引导电子设备使得将电子设备置于初始状态中)。然而,辅存储装置可以利用具有比用于实现主存储器的(多个)存储器设备更慢的访问速度的(多个)存储设备来实现。作为结果,使用存储在辅存储装置中的状态信息向之前状态的恢复可能仍旧是相对缓慢的过程。
依照一些实现,电子设备可以使用存储在电子设备中的非易失性主存储器中的状态信息而恢复到之前状态。非易失性主存储器是其中即便从电子设备中的组件(包括非易失性主存储器)移除电力,存储在非易失性主存储器中的数据也得以留存的主存储器(其可以利用一个或多个存储器设备实现)。当将电子设备置于诸如关断模式、休眠模式、睡眠模式等的低电力模式中时,可以从电子设备中的组件移除电力。
即便在电子设备的低电力模式中从非易失性主存储器移除电力,存储在非易失性主存储器中的状态信息也可以留存。状态信息可以包括关于操作***的当前状态、某些应用程序的当前状态、某些硬件设备的当前状态等的信息。状态信息还可以包括由操作***、应用程序、硬件设备等使用的数据。
作为示例,在电子设备转变到低电力模式之前,由应用程序处理的文档可以打开。应用程序的状态信息可以指示打开的文档以及文档的当前内容,使得当电子设备从低电力模式恢复到之前状态(通过使用状态信息)时,文档在具有电子设备被置于低电力模式中时所存在的内容的情况下保持打开。
由于非易失性主存储器可以利用具有比非易失性辅存储装置的访问速度更大的访问速度的一个或多个存储器设备而实现,所以相比于使用存储在非易失性辅存储装置中的状态信息的恢复而言,电子设备使用存储在非易失性主存储器中的状态信息向之前状态的恢复可以更加快速地执行。而且,因为在移除电力之前数据不必从非易失性主存储器复制到非易失性辅存储装置,所以恢复可以更快,这是由于在电力得到恢复之后相同数据不必从非易失性辅存储装置复制到非易失性主存储器。
主存储器可以是指由电子设备中的处理器通过存储器总线可访问的存储器。换言之,主存储器不是通过电子设备的输入/输出(I/O)总线来访问,输入/输出(I/O)总线可以是具有比存储器总线的通信速度低的通信速度的总线。如果辅存储装置存在于电子设备中,则辅存储装置连接到电子设备的I/O总线,使得对辅存储装置中的数据的访问将必须通过I/O总线而不是通过存储器总线而发生。
根据一些实现的主存储器的另外的特性在于,主存储器中的数据的个体字节可以直接地由处理器访问以用于由处理器读取或写入,而不管由处理器采用的字的大小。“字”可以是指通过指令在处理器上执行而对其进行操作的指定大小的数据块。尽管“字节”在一些示例中可以是指8个数据比特,但是要指出的是,在其它示例中,字节可以是指更大或更小数量的比特。
图1A是根据一些实现的示例电子设备100的框图。电子设备100包括处理器102和非易失性主存储器104。处理器可以包括微处理器、微控制器、处理器模块或子***、可编程集成电路、可编程门阵列、或者另一个控制或计算设备。
可以用于实现非易失性主存储器104的存储器设备的示例可以包括以下中的任何一个或某种组合:电阻式随机存取存储器(RRAM)、忆阻器存储器、相变随机存取存储器(PCRAM)、磁阻式随机存取存储器(MRAM)、自旋转移矩随机存取存储器(STT-RAM)、或者电池支持的动态随机存取存储器(例如,NV-DIMM)、或者非易失性、处理器直接可访问并且可以被用作主存储器的任何其它技术的存储器,。
非易失性主存储器104通过存储器总线106可访问,存储器总线106包括控制信号线路和数据信号线路。控制信号线路用于将控制信号运载到非易失性主存储器104以用于执行非易失性主存储器104的访问(读取和/或写入)。存储器总线106的数据信号线路用于运载数据(读取数据和/或写入数据)。
存储器控制器108控制非易失性主存储器104的访问。响应于来自处理器102的请求,存储器控制器108可以通过存储器总线106提交对应控制信号以执行非易失性主存储器104的所请求的访问,其中请求可以为读取请求、写入请求、加载请求、存储请求、或者涉及非易失性主存储器104的访问的其它请求。
电子设备100还包括I/O控制器110,其连接在处理器102和I/O总线112之间。一个或多个I/O设备114连接到I/O总线112。此外,如果辅存储装置116(基于盘的存储装置,诸如硬盘驱动或光学盘驱动,或者固态存储装置,诸如闪速存储器)存在于电子设备100中,则辅存储装置116可以连接到I/O总线112。在其它示例中,辅存储装置116可以从电子设备100省略,使得电子设备100没有任何辅存储装置。
处理器102执行通过I/O控制器110连接到I/O总线112的设备的访问。作为示例,如果辅存储装置116存在于电子设备100中,则辅存储装置116的访问通过I/O控制器110并且在I/O总线112之上发生。尽管I/O控制器110被示出为与存储器控制器108分离,但是要指出的是,在可替换实现中,存储器控制器108可以是I/O控制器110的部分。作为再进一步的示例,存储器控制器108和/或I/O控制器110可以是处理器102的部分。
尽管在图1A中仅仅描绘了一个处理器102,但是要指出的是,在其它示例中,电子设备100可以包括多个处理器。
处理器102还可以包括易失性存储器118,其可以包括以下中的任何一个或某种组合:高速缓冲存储器(或多个高速缓冲存储器)、寄存器等。
依照一些实现,非易失性主存储器104可以存储状态信息120和元数据122。非易失性主存储器104还可以存储一个或多个程序124的机器可读指令,诸如操作***、应用程序、固件模块等。作为进一步的示例,程序124可以是管理程序,其是指可以创建和运行虚拟机的机器可读指令。虚拟机仿效物理机器。虚拟机可以包括操作***和应用。管理程序虚拟化物理机器的硬件组件以用于由虚拟机使用。
状态信息120包括与电子设备100中的程序的当前状态相关联的信息。状态信息120可以至少包括处理器102的易失性存储器118的部分、由程序使用的数据等。存储在非易失性主存储器104中的状态信息120可以被视为程序的状态在特定时间点处的快照。在一些示例中,可以在多个时间点处获取程序的状态的多个快照;在这样的示例中,从低电力模式向之前状态的恢复可以是基于快照中的所选一个快照中的状态信息。
在电子设备100从其中从电子设备100的组件(包括非易失性主存储器104)移除电力的低电力模式重启期间,状态信息120可以由处理器102使用以使电子设备100恢复到从电子设备100的组件移除电力之前所存在的之前状态。
元数据122可以存储***是要从之前状态恢复(使用状态信息120)还是要在电子设备100的下一次开启时引导的指示。如果元数据122指示电子设备100要在下一次开启时恢复到之前状态,则处理器102将使用状态信息120以使电子设备100恢复到之前状态。另一方面,如果元数据122指示电子设备100要在下一次开启时引导,则状态信息120可以被丢弃或忽略,并且处理器102可以使电子设备100引导到初始状态。
在一些示例中,除非易失性主存储器104之外,电子设备100还可以包括易失性主存储器126。易失性主存储器126响应于电力从易失性主存储器126的移除而丢失其内容。在其中易失性主存储器126存在于电子设备100中的示例中,易失性主存储器126的所选内容可以作为状态信息120的部分而复制到非易失性主存储器104。
图1B是根据另外的实现的电子设备100-1的框图。电子设备100-1包括存在于图1A的电子设备100中的若干组件,但没有图1A的电子设备100中的其它组件。例如,电子设备100-1包括处理器102和非易失性主存储器104,非易失性主存储器104存储状态信息120、元数据122和至少一个程序124。
图2是根据一些实现的过程的流程图。图2的过程可以通过在处理器102上执行的机器可读指令来执行。在电子设备(例如,100或100-1)中的至少一个程序(例如,程序124)的执行期间,处理器102可以向非易失性主存储器104中存储(在202处)与至少一个程序相关联的状态信息的快照。这种所存储的状态信息被表示为图1A或1B中的状态信息120。
而且,元数据122可以存储(在204处)到非易失性主存储器104中,其中元数据122可以指示电子设备是要从之前状态恢复还是在下一次开启时引导。
假设电子设备已经置于其中从电子设备的组件移除电力的低电力模式中,则基于所存储的元数据122,电子设备可以使用若干技术中的一种而从低电力模式重启(在206处)。如果元数据122指示电子设备要从之前状态恢复,则处理器102使用存储在非易失性主存储器104中的状态信息120的快照来恢复电子设备。另一方面,如果元数据122指示要引导电子设备,则处理器102引导电子设备。
图3是根据进一步的示例的非易失性主存储器104内的各种区的示意图。非易失性主存储器104可以包括用于存储状态信息120的状态信息区302。非易失性主存储器104还可以包括用于存储元数据122的元数据区304。附加地,非易失性主存储器104可以包括用于存储至少一个程序124的程序区306。要指出的是,多个程序区306可以被提供用于相应的不同程序,诸如应用程序、操作***、管理程序等。
在一些示例中,非易失性主存储器104还可以包括只读存储器(ROM)区308。ROM区308可以用于存储传统上由电子设备中的ROM存储的信息。传统上,ROM可以使用可擦除且可编程的只读存储器(EPROM)、电气可擦除且可编程的只读存储器(EEPROM)、闪速存储器等来实现。ROM可以存储用于引导或恢复电子设备的信息,包括数据和指令。在一些示例中,假设图1A或1B的电子设备100或100-1没有ROM。在这样的示例中,ROM区308可以被提供在非易失性主存储器104中。在可替换示例中,电子设备100或100-1可以包括ROM,在该情况下,ROM区308可以从非易失性主存储器104省略。
在图3中,ROM区308包括引导加载程序310,其包括用于加载其它代码的机器可读指令,诸如另外的引导代码(例如,图3中所示的311)或操作***或管理程序。引导加载程序310可以是在电子设备引导或恢复时由处理器102执行的最初机器可读指令中的一个。
在其中电子设备100或100-1没有易失性主存储器(例如,没有图1A的易失性主存储器126)的示例中,程序124和引导加载程序310可以原位执行。在给定存储器中原位执行机器可读指令可以是指执行存储在给定存储器中的机器可读指令而没有首先将机器可读指令复制到另一个存储器。
在可替换示例中,电子设备100可以提供有易失性主存储器,诸如在图1A中描绘的易失性主存储器126。在这样的可替换示例中,在执行程序124和/或引导加载程序310之前,程序124和/或引导加载程序310可以首先被加载到易失性主存储器126中。
图4是获取执行程序(或多个程序)的状态信息的快照的快照过程400的流程图。快照过程400可以由操作***、管理程序、或者在处理器102上可执行的其它机器可读指令来执行。当发生指示要获取状态信息的快照的事件时,快照过程暂停(在402处)(多个)执行程序。暂停程序是指临时中止程序的执行。
在暂停(多个)程序之后,快照过程400可以将数据冲刷入(在404处)一个或多个易失性高速缓冲存储器中。从易失性高速缓冲存储器冲刷数据可以是指将已经从高速缓冲存储器修改的数据写入到非易失性主存储器104,以使高速缓冲存储器中的数据与非易失性主存储器104中的数据同步。要指出的是,一个或多个高速缓冲存储器可以是图1A中示出的处理器102中的易失性存储器118的部分。
此外,快照过程400可以将处理器102的易失性存储器118中的其它易失性数据存储(在406处)到非易失性主存储器104中。如果存在多个处理器,则这样的多个处理器的易失性数据被存储到非易失性主存储器104中。
可以响应于各种事件而调用快照过程400。例如,快照过程400可以在电子设备100的成功引导之后执行。可替换地,快照过程400可以以特定时间间隔执行,诸如周期性地或者间隔地。而且,快照过程400可以响应于将电子设备100置于低电力模式中的请求而执行。
图5是在电子设备中执行的重启过程500的流程图,该电子设备包括非易失性主存储器104,但是不包括易失性主存储器126。当电子设备(100或100-1)从其中电力已经从电子设备100的组件移除的低电力模式重启时,执行重启过程500。为了执行重启,处理器102从非易失性主存储器104的ROM区308(图3)调用(在502处)引导加载程序310。在其中电子设备包括ROM的示例中,引导加载程序310可以可替换地从ROM调用。
一旦调用,引导加载程序310就读取(在504处)存储在非易失性主存储器104的元数据区304中的元数据122。引导加载程序310读取元数据122以确定电子设备是否要恢复到之前状态,或者电子设备是否要引导。尽管对读取元数据122的引导加载程序310进行引用,但是要指出的是,在其它示例中,引导加载程序310可以调用另一个程序以读取元数据122。
基于元数据122,引导加载程序310决定(在506处)是恢复还是引导电子设备。如果决定引导,则执行引导过程(在508处)。然而,如果决定恢复电子设备,则执行恢复过程(在510处),如下文所讨论的。恢复过程可以通过引导加载程序310所调用的代码(例如,引导代码311或其它代码)来执行。在恢复过程中,初始化电子设备100中的各种组件(在512处)。初始化组件可以是指将组件设定成初始状态。
此外,易失性数据可以复原(在514处)到处理器102的易失性存储器118。易失性数据可以是例如非易失性主存储器104中的状态信息120的部分。
向操作***或管理程序通知(在516处)操作***或管理程序已经恢复到之前状态。通知可以通过将指示器设定成指定值而执行。还可以向操作***或管理程序通知电子设备的哪些组件已经被初始化。
接下来,基于存储在非易失性主存储器510中的状态信息120,操作***使执行恢复(在518处)到之前状态。
在其中电子设备(100或100-1)包括易失性主存储器(例如,图1A中的126)的可替换实现中,可以执行除以上讨论的那些之外的另外任务。例如,图4的快照过程400可以修改成进一步包括将易失性主存储器126的所选数据存储到非易失性主存储器104中。可以获取易失性主存储器126的内容的完整快照或部分快照。完整快照涉及将易失性主存储器126的整个内容复制到非易失性主存储器104。部分快照涉及将易失性主存储器126的内容的部分(少于整个内容)复制到非易失性主存储器104。
附加地,重启过程500可以修改成包括涉及以下操作的附加任务:将来自非易失性主存储器104的部分或完整快照复原到易失性主存储器126。
易失性主存储器126的内容的部分快照可以包括易失性主存储器126中的某些所选内容,诸如涉及操作***的内核的内容以及涉及所选的一个或多个应用程序的内容。执行部分快照可以允许更快的恢复,因为作为重启过程的部分而必须从非易失性主存储器104复原到易失性主存储器126的数据量可以减少。
以上讨论的各种机器可读指令可以存储在非暂时性机器可读或计算机可读存储介质(或多个存储介质)中,诸如非易失性主存储器104、易失性主存储器126和辅存储装置116中。
这样的一个或多个机器可读或计算机可读存储介质被视为物品(或制品)的部分。物品或制品可以是指任何所制造的单个组件或多个组件。一个或多个存储介质可以位于运行机器可读指令的机器中,或者位于可以通过网络从其下载机器可读指令以用于执行的远程场所处。
在前面的描述中,阐述了众多细节以提供对本文公开的主题的理解。然而,实现可以在没有这些细节中的一些的情况下实践。其它实现可以包括从以上讨论的细节的修改和变型。意图由随附权利要求涵盖这样的修改和变型。

Claims (15)

1.一种***,包括:
非易失性主存储器,用于存储在***中执行的至少一个程序的状态信息,以及指示***是要恢复到之前状态还是要在下一次开启时引导的元数据;以及
至少一个处理器,用于:
作为从其中电力从***移除的模式重启***的部分,响应于元数据指示***要恢复到之前状态,而使用存储在非易失性主存储器中的状态信息来使***恢复到之前状态。
2.权利要求1所述的***,其中至少一个处理器用于响应于元数据包含第一指示而作为***的重启的部分来恢复***。
3.权利要求2所述的***,其中至少一个处理器用于响应于元数据包含第二指示而作为***的重启的部分来引导***。
4.权利要求1所述的***,其中至少一个处理器包括用于存储易失性数据的易失性存储器,并且其中恢复包括使用状态信息将易失性数据复原到易失性存储器。
5.权利要求1所述的***,其中至少一个程序包括操作***,其中恢复包括使用状态信息继续从之前状态开始的操作***的执行。
6.权利要求1所述的***,其中***没有易失性主存储器。
7.权利要求1所述的***,其中***没有非易失性辅存储装置。
8.权利要求1所述的***,还包括:
易失性主存储器,其中恢复使用状态信息将数据复原到易失性主存储器。
9.权利要求1所述的***,还包括存储器总线,其中非易失性主存储器由至少一个处理器通过存储器总线在没有使用输入/输出总线的情况下可访问。
10.一种方法,包括:
在***中的至少一个程序的执行期间,向非易失性主存储器中存储与至少一个程序相关联的状态信息的快照;
向非易失性主存储器中存储指示***是要恢复到之前状态还是在下一次开启时引导的元数据;以及
作为从其中电力从***移除的模式重启***的部分,
如果元数据指示***要恢复到之前状态,则使用存储在非易失性主存储器中的状态信息的快照而使***恢复到之前状态,以及
如果元数据指示***要引导,则引导***。
11.权利要求10所述的方法,其中***包括存储器总线,该方法还包括:
由***的处理器通过存储器总线来访问非易失性主存储器。
12.权利要求11所述的方法,其中***还包括与存储器总线分离的输入/输出(I/O)总线,该方法还包括:
由处理器通过I/O总线而非存储器总线来访问辅存储装置。
13.权利要求10所述的方法,还包括在将状态信息的快照存储于非易失性主存储器中之前暂停至少一个程序。
14.一种包括存储指令的至少一个非暂时性机器可读存储介质的物品,所述指令在执行时使***:
在***中的至少一个程序的执行期间,向非易失性主存储器中存储与至少一个程序相关联的状态信息;
向非易失性主存储器中存储指示***是否要在下一次开启时从之前状态恢复的元数据;以及
作为从其中电力从***移除的模式重启***的部分,
调用引导加载程序;
由引导加载程序引起非易失性主存储器中的元数据的读取;以及
响应于确定元数据指示***要从之前状态恢复,而使用存储在非易失性主存储器中的状态信息来使***恢复到之前状态。
15.权利要求14所述的物品,其中非易失性主存储器由处理器通过与输入/输出(I/O)总线分离的存储器总线而可访问。
CN201480078587.6A 2014-04-29 2014-04-29 使用状态信息恢复*** Pending CN106258006A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2014/035836 WO2015167455A1 (en) 2014-04-29 2014-04-29 Resuming a system using state information

Publications (1)

Publication Number Publication Date
CN106258006A true CN106258006A (zh) 2016-12-28

Family

ID=54359012

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480078587.6A Pending CN106258006A (zh) 2014-04-29 2014-04-29 使用状态信息恢复***

Country Status (5)

Country Link
US (1) US10572269B2 (zh)
EP (1) EP3137990A4 (zh)
CN (1) CN106258006A (zh)
TW (1) TWI546661B (zh)
WO (1) WO2015167455A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111386518A (zh) * 2017-11-28 2020-07-07 惠普发展公司,有限责任合伙企业 经由电子设备的操作***修复

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107003863B (zh) 2015-01-29 2020-11-10 惠普发展公司,有限责任合伙企业 引导片上***器件
EP3201763A4 (en) * 2015-01-29 2018-07-11 Hewlett-Packard Development Company, L.P. Resuming a system-on-a-chip device
US10936045B2 (en) * 2016-09-26 2021-03-02 Hewlett-Packard Development Company, L.P. Update memory management information to boot an electronic device from a reduced power mode
JP7200625B2 (ja) * 2018-11-27 2023-01-10 コニカミノルタ株式会社 画像形成装置および画像形成装置の制御プログラム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120102347A1 (en) * 2010-10-22 2012-04-26 Hobson Louis B Process State of a Computing Machine
CN102708064A (zh) * 2011-02-24 2012-10-03 微软公司 从休眠中多阶段恢复
CN102804141A (zh) * 2009-06-26 2012-11-28 汤姆森特许公司 数据处理装置中的组合存储器和存储器件
CN103270488A (zh) * 2010-12-22 2013-08-28 英特尔公司 用于改善平台的重新开始时间的方法和装置
US20140075087A1 (en) * 2012-09-10 2014-03-13 Texas Instruments Incorporated Priority Based Backup in Nonvolatile Logic Arrays

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6564286B2 (en) 2001-03-07 2003-05-13 Sony Corporation Non-volatile memory system for instant-on
US7900074B2 (en) * 2006-06-02 2011-03-01 Apple Inc. Method and apparatus for quickly reanimating devices from hibernation
US7971081B2 (en) 2007-12-28 2011-06-28 Intel Corporation System and method for fast platform hibernate and resume
US8352717B2 (en) * 2009-02-09 2013-01-08 Cs-Solutions, Inc. Recovery system using selectable and configurable snapshots
JP5289153B2 (ja) * 2009-04-14 2013-09-11 キヤノン株式会社 情報処理装置及びその制御方法、並びにコンピュータプログラム
KR101813641B1 (ko) * 2011-11-15 2018-01-02 에스프린팅솔루션 주식회사 화상형성장치 및 하이버네이션 기능을 갖는 화상형성장치를 부팅하는 방법
CN103975287B (zh) * 2011-12-13 2017-04-12 英特尔公司 使用非易失性随机存取存储器的服务器中的增强***睡眠状态支持

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102804141A (zh) * 2009-06-26 2012-11-28 汤姆森特许公司 数据处理装置中的组合存储器和存储器件
US20120102347A1 (en) * 2010-10-22 2012-04-26 Hobson Louis B Process State of a Computing Machine
CN103270488A (zh) * 2010-12-22 2013-08-28 英特尔公司 用于改善平台的重新开始时间的方法和装置
CN102708064A (zh) * 2011-02-24 2012-10-03 微软公司 从休眠中多阶段恢复
US20140075087A1 (en) * 2012-09-10 2014-03-13 Texas Instruments Incorporated Priority Based Backup in Nonvolatile Logic Arrays

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111386518A (zh) * 2017-11-28 2020-07-07 惠普发展公司,有限责任合伙企业 经由电子设备的操作***修复
CN111386518B (zh) * 2017-11-28 2023-09-19 惠普发展公司,有限责任合伙企业 经由电子设备的操作***修复

Also Published As

Publication number Publication date
TWI546661B (zh) 2016-08-21
EP3137990A4 (en) 2017-12-27
WO2015167455A1 (en) 2015-11-05
EP3137990A1 (en) 2017-03-08
US10572269B2 (en) 2020-02-25
US20170046176A1 (en) 2017-02-16
TW201546612A (zh) 2015-12-16

Similar Documents

Publication Publication Date Title
US10146627B2 (en) Mobile flash storage boot partition and/or logical unit shadowing
CN103995578B (zh) 一种具有数据持续模式的器件驱动器
EP2329360B1 (en) Managing cache data and metadata
US8032707B2 (en) Managing cache data and metadata
CN102043608B (zh) 寄存器状态保存和恢复
CN107003864A (zh) 恢复片上***设备
CN106258006A (zh) 使用状态信息恢复***
CN106716395B (zh) 事务处理的方法、装置及计算机***
CN102460384A (zh) 程序、控制方法以及控制装置
CN108762989B (zh) 固态硬盘的数据存储方法、装置、设备及可读存储介质
TWI710905B (zh) 資料儲存裝置及邏輯至物理位址映射表之載入方法
WO2013039494A1 (en) Imparting durability to a transactional memory system
US20170010810A1 (en) Method and Apparatus for Providing Wear Leveling to Non-Volatile Memory with Limited Program Cycles Using Flash Translation Layer
CN107003863A (zh) 引导片上***器件
CN109885253A (zh) 存储设备上的原子跨介质写入
CN104866388B (zh) 数据处理方法及装置
US10599530B2 (en) Method and apparatus for recovering in-memory data processing system
KR20110054788A (ko) 비-휘발성 버퍼를 이용한 데이터 저장 장치 및 방법
US8401995B2 (en) File removal with no available disk blocks in redirect-on-write file systems
US9594792B2 (en) Multiple processor system
US20170351455A1 (en) Status for generated data image
US9946656B2 (en) Completion packet return based on eviction or flush
US20160335022A1 (en) Storing indicators of unreferenced memory addresses in volatile memory
KR20220104829A (ko) 라인 캐시 실패의 효과적인 방지
CN105009072A (zh) 更新提交列表以指示数据将被写入固件接口变量存储库

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20161228

RJ01 Rejection of invention patent application after publication