CN107003864A - 恢复片上系统设备 - Google Patents
恢复片上系统设备 Download PDFInfo
- Publication number
- CN107003864A CN107003864A CN201580059443.0A CN201580059443A CN107003864A CN 107003864 A CN107003864 A CN 107003864A CN 201580059443 A CN201580059443 A CN 201580059443A CN 107003864 A CN107003864 A CN 107003864A
- Authority
- CN
- China
- Prior art keywords
- nonvolatile memory
- area
- memory
- soc
- soc device
- 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
Links
- 230000015654 memory Effects 0.000 claims abstract description 175
- 230000004044 response Effects 0.000 claims abstract description 11
- 230000007704 transition Effects 0.000 claims description 30
- 238000003860 storage Methods 0.000 claims description 25
- 238000000034 method Methods 0.000 claims description 24
- 230000002045 lasting effect Effects 0.000 claims description 23
- 239000002184 metal Substances 0.000 claims description 17
- 229910052751 metal Inorganic materials 0.000 claims description 17
- 230000004913 activation Effects 0.000 claims description 8
- 230000000306 recurrent effect Effects 0.000 claims description 5
- 238000011084 recovery Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 7
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000000284 resting effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 1
- 239000010931 gold Substances 0.000 description 1
- 229910052737 gold Inorganic materials 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3243—Power saving in microcontroller unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3246—Power saving characterised by the action undertaken by software initiated power-off
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
-
- 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/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1417—Boot up procedures
-
- 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/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1438—Restarting or rejuvenating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4403—Processor initialisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4418—Suspend and resume; Hibernate and awake
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/15—Interconnection of switching modules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45575—Starting, stopping, suspending or resuming virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
作为从其中从包括片上系统(SoC)设备的系统移除功率的模式启动所述系统的一部分,SoC设备基于元数据来确定是否将所述系统恢复到在先系统状态。响应于所述元数据指示所述系统要被恢复到所述在先系统状态,使用存储在片上非易失性存储器中的系统状态信息将所述系统恢复到所述在先系统状态。
Description
背景技术
电子设备可以包括易失性主存储器、非易失性存储器和辅助储存器。电子设备的易失性主存储器可以利用一个或多个易失性存储器设备而实现。如果从存储器设备移除功率,则易失性存储器设备丢失其数据。非易失性存储器和辅助储存器可以使用一个或多个非易失性(或持久性)存储器或储存器设备而实现。即使从非易失性存储器或储存器设备移除功率,非易失性存储器或储存器设备也保留其所存储的内容。
附图说明
关于以下附图来描述一些实现方式。
图1A和1B是根据各种实现方式的示例片上系统(SoC)设备的框图。
图2是根据一些实现方式的恢复包括SoC设备的系统的示例过程的流程图。
图3A和3B是根据一些实现方式的包括SoC设备的示例系统的框图。
图4A和4B是根据一些实现方式的分别在图3A和3B的系统中执行的示例过程的流程图。
具体实施方式
随着集成电路技术已经进步,可被并入到集成电路芯片上的特征的数目已经增加。在其上提供处理器、片上存储器和其他部件的集成电路芯片可以被称作片上系统(SoC)设备。SoC设备一般可以指代下述任何芯片:该芯片包括集成电路管芯或者在包装内封装的管芯布置,并且在该芯片上,至少提供处理器和片上存储器。“片上”存储器可以指代与处理器且可能与其他部件安装在相同芯片中的(一个或多个)存储器设备。
在一些示例中,为了启动包括SoC设备(具有片上易失性主存储器)的系统,将系统的引导代码、操作系统和/或在先状态从处于SoC设备外(外部)的储存器(辅助储存器或非易失性存储器)加载(拷贝)到片上易失性主存储器中。引导代码、操作系统和/或在先状态到片上易失性主存储器的拷贝可能耗费相对较长的时间段,这可能延长启动系统所涉及的时间。启动系统可以包括引导系统,这包括启动操作系统以从初始状态开始。可替换地,启动系统可以包括从保存在状态信息中的在先状态恢复系统。
根据依照本公开的一些实现方式,给SoC设备提供存储下述信息的片上非易失性存储器:该信息允许SoC设备或者更一般地允许包括SoC设备的系统使用片上非易失性存储器中存储的信息将包括SoC设备的系统恢复到在先系统状态。恢复系统可以指代:仅恢复SoC设备;或者恢复SoC设备和系统的其他部件,包括硬件设备和/或机器可执行指令。
可以从下述模式恢复系统:在该模式中,已经从该系统移除功率。从系统移除功率可以指代从系统的仅一部分或者系统的整体移除功率。其中从系统移除功率的模式的一些示例包括睡眠状态或休眠状态。当系统进入到睡眠状态或休眠状态中时,表示系统当前状态的系统状态信息被保存到片上非易失性存储器。系统状态信息可以包括与在进入睡眠状态或休眠状态之前在SoC设备(或包括SoC设备的系统)上执行的机器可执行指令(例如,操作系统、裸金属代码、应用代码等)的当前执行状态相关的信息。裸金属代码指代可在不存在操作系统的情况下在平台上运行的代码。系统状态信息还可以包括由机器可执行指令处理的当前数据。系统状态信息还可以包括与硬件设备的状态相关的信息。
在其他实现方式中,系统可以被恢复到其他类型的状态,诸如干净引导状态、最后知道的良好状态、与回复点相对应的状态等等。将系统恢复到这些其他类型的状态可以是在不必从系统移除功率的情况下执行的。例如,在不移除功率的情况下,系统可以被重启到前述其他类型的状态中的任一个。
干净引导状态可以指代在成功完成的引导过程(被称作“干净引导”)结束时系统的状态。最后知道的良好状态指代已知为没有错误、故障和/或恶意软件的系统的状态。干净引导状态或最后知道的良好状态可以是通过例如拍摄系统的快照来保存的。回复点可以指代在给定时间点处系统的状态,其已经被用户或其他实体指定为系统可被回复到的状态。与前述状态中的任一个相关的信息也可以存储在片上非易失性存储器中。
为了从其中已经从系统移除功率的模式恢复系统,可以从片上非易失性存储器读取系统状态信息。附加地,片上非易失性存储器可以存储由SoC设备执行以执行SoC设备的恢复的引导指令。可以从片上非易失性存储器就地执行(XIP)引导指令,这指代在不首先将引导指令拷贝到易失性主存储器的情况下从片上非易失性存储器执行引导指令。在其他示例中,引导指令可以被拷贝到另一存储器(易失性或非易失性存储器),该另一存储器也可以是片上的。这样的另一存储器可以包括静态随机存取存储器(SRAM)、高速缓存、主存储器或另一存储器。作为示例,SoC设备上的存储器(例如,SRAM等)可以被用于在存储器被用作高速缓存之前执行来自该存储器的代码。
片上非易失性存储器还可以存储元数据,该元数据可以包括与片上非易失性存储器以及SoC设备相关的各种参数。在一些实现方式中,元数据可以包括用于指示下述内容的参数:包括SoC设备的系统是要被恢复到在先系统状态还是响应于系统的状态而被引导。例如,参数可以被设置成第一值以指示系统要被恢复,且可以被设置成第二值以指示系统要被引导。下面进一步讨论其他元数据。
图1A是根据一些实现方式的示例SoC设备100的框图。SoC设备100包括处理器102和非易失性存储器104。尽管描绘了仅一个处理器102,但要注意,SoC设备可以包括多个处理器。在一些示例中,处理器102可以是处理器核。在SoC设备100中可以存在多个处理器核。
处理器102和非易失性存储器104可以被形成在SoC设备100的公共集成电路管芯101上。可替换地,处理器102和非易失性存储器104可以被提供在完全在公共包装内封装的多个集成电路管芯上。该包装还支撑SoC设备100的接触部(例如,电接触部、光学连接元件等)。
非易失性存储器104可以利用各种不同类型的非易失性存储器技术中的任一种而实现。作为示例,非易失性存储器104可以包括以下各项中的任一个或以下各项的某种组合:闪存、电阻性随机存取存储器(RRAM)、忆阻器存储器、相变随机存取存储器(PCM、PCRAM或PRAM)、磁阻随机存取存储器(MRAM)、自旋转移矩随机存取存储器(STT-RAM)、备用电源支援的(例如,电池支援的)动态随机存取存储器(DRAM)等等。
在一些实现方式中,非易失性存储器104可以是字节可寻址存储器。字节可寻址存储器是其中可以读取和写入数据的个体字节的存储器。换言之,可以从字节可寻址存储器读取或向字节可寻址存储器写入数据的个体字节,而不读取/写入存储器的其他部分。字节可寻址存储器可区别于下述存储器:在该存储器中,必须在数据块上执行读取操作或写入操作,其中该数据块大于字节。
非易失性存储器104可以存储各种信息,包括SoC状态信息106和元数据108。非易失性存储器104还可以包括多个逻辑区,诸如瞬变区114和持久区116。SoC状态信息106和瞬变区114中的某个信息构成与包括SoC设备100的系统的在先系统状态有关的系统状态信息。在图3A和3B中描绘了系统的示例。系统的在先系统状态可以指代一个或多个程序正在执行时的时间处的状态。即使从非易失性存储器104移除功率,非易失性存储器104的SoC状态信息106、瞬变区114中的数据和持久区116中的数据也被保留。注意,如果系统在不考虑在先系统状态的情况下引导,则SoC状态信息106和瞬变区114中的数据被忽略且可以被丢弃,诸如通过被盖写或删除。另一方面,如果系统恢复到在先系统状态,则SoC状态信息106和瞬变区114中的数据被重用。
非易失性存储器104中的系统状态信息可以用于将系统恢复到在先系统状态,响应于此,从在先系统状态开始,系统开始执行。使用存储在非易失性存储器104中的系统状态信息来恢复到在先系统状态可以比引导系统以将系统置于初始状态中更快。
SoC状态信息106可以包括从处理器102的寄存器和高速缓存(其可以是处理器102的一部分或处于处理器102外)拷贝的数据。寄存器和高速缓存是易失性储存器,使得寄存器和高速缓存中的数据是在从SoC设备100移除功率的情况下将丢失的易失性数据。寄存器的示例可以包括程序计数器的当前值、与系统的配置相关的信息、由算术运算产生的数据等等。高速缓存可以存储程序的机器可执行指令,且还可以存储数据,其中指令和数据可以从另一储存器(诸如瞬变区114、持久区116或另一储存器)存储到高速缓存中的拷贝。
通过将SoC状态信息106拷贝到非易失性存储器104,SoC状态信息106可以变成持久的,且可以在恢复SoC设备100时被重用。
瞬变区114可以存储其他数据,诸如被正常加载到易失性主存储器中的数据。瞬变区114中的数据的示例包括程序的机器可执行指令、由驱动器、操作系统和程序过程使用的临时数据、临时文件数据、与操作系统的当前状态有关的信息、裸金属代码的当前状态、某些应用程序的当前状态、某些硬件设备的当前状态等等。
作为示例,在包括SoC设备100的系统转变到较低功率模式之前,由应用程序处理的文档可以打开。与应用程序相关联的瞬变区114中的数据可以指示打开的文档,并可以包括文档的当前内容,使得当系统被从较低功率模式恢复到在先系统状态(通过使用包括SoC状态信息106和瞬变区114中的某个数据的系统状态信息)时,关于在系统被置于较低功率模式中时存在的内容,文档保持打开。
元数据108可以包括指示器110,指示器110用于指示包括SoC设备100的系统是要被恢复还是要被引导。指示器110可以以可设置成多个不同值之一的标记的形式存在。如果指示器110被设置成第一值,则这指示:当从其中已经从系统移除功率的模式启动系统时,系统要被恢复。如果指示器110被设置成第二不同值,则这指示:当从其中已经从系统移除功率的模式启动系统时,系统要被引导。在其他示例中,元数据108还可以包括其他指示器,用于指示将系统恢复到具体状态,诸如干净引导状态、最后知道的良好状态、与回复点相对应的状态等等。
附加地,元数据108可以包括:非易失性存储器区信息112,其与非易失性存储器104的多个不同逻辑区相关。在图1A的示例中,非易失性存储器104的多个逻辑区可以包括瞬变区114和持久区116。非易失性存储器104还可以包括下面进一步讨论的另一区。存储器的“逻辑区”可以指代存储器的所定义的段,其中该段可以包括邻接存储器位置或非邻接存储器位置。非易失性存储器区信息112可以用于定位或标识非易失性存储器104中的多个逻辑区。定位或标识多个逻辑区可以指代对每一个逻辑区的起始地址和每一个逻辑区的(一个或多个)其他属性作出确定。
持久区116包含即使从包括SoC设备100的系统移除功率也要维持的数据或其他信息。因此,响应于导致系统被引导(而不是被恢复)的系统的功率循环(当从系统移除功率并且随后再次将功率应用于系统时),瞬变区114中包含的信息被忽略和/或丢弃,而持久区116中的信息被维持。应当在引导期间丢弃的瞬变区114中的信息的示例包括由操作系统、裸金属代码和不意在持久的用户过程创建的数据。这样的数据的示例包括在页面调度被启用的情况下创建的页表项(PTE)、一般程序数据、和/或易失性或敏感的数据(诸如秘密密钥或用户凭证)。然而,注意,当系统被恢复到在先系统状态时,则瞬变区114中的数据被重用。
元数据108可以包括结构化元数据或非结构化元数据。结构化元数据指代具有具体格式或纲要的元数据,而非结构化元数据指代没有具体格式或纲要的元数据。非易失性区信息112可以包括:存储器地址值,其指定不同的多个区(包括瞬变区114和持久区116以及其他区)中的每一个在非易失性存储器104中的起始位置。在其他示例中,非易失性存储器区信息112可以包括下述信息:该信息指向非易失性存储器区的逻辑划分,且还描述每一个区的不同属性。
在一些示例中,元数据108还可以定义非易失性存储器104中的一个或多个安全区,该安全区存储可以用于执行SoC设备100的安全操作的信息。(一个或多个)安全区是SoC设备100的预定义或指定实体可访问的非易失性存储器104的区,使得未授权实体(例如,恶意软件代码等)将不能够访问这样的(一个或多个)安全区。
如上所注意的那样,在一些示例中,瞬变区114可以存储传统系统中的易失性主存储器中所存储的信息。在这样的示例中,通过在非易失性存储器104中提供瞬变区114以存储易失性主存储器的信息,将不必须在包括SoC设备100的系统中提供分离的易失性主存储器。
持久区116中所存储的信息可以包括以下各项作为示例:引导加载器(用于加载其他代码的机器可执行指令,该其他代码诸如是另一引导代码或操作系统、裸金属代码或管理程序)、基本输入/输出系统(BIOS)代码或统一可扩展固件接口(UEFI)代码(BIOS代码或UEFI代码包括用于执行系统的初始化的机器可执行指令)、操作系统、裸金属代码、文件系统、储存器卷等等。
操作系统可以包括:内核,其管理由硬件资源的代码进行的访问、文件访问管理、过程管理等等。除内核外,操作系统还可以包括附加代码,该附加代码可以执行指定任务(这样的附加代码的示例可以包括用户界面应用、库等)。
在系统中执行管理程序以执行系统的硬件资源的虚拟化。使用管理程序,可以在系统中实现多个虚拟机,其中每一个虚拟机包括相应的操作系统和应用。通过管理程序来执行由虚拟机对硬件资源的访问。
文件系统包括下述信息:该信息描述了存储在包括SoC设备100的系统中的文件和目录。
在一些示例中,持久区116可以用于存储可存储在传统系统的辅助储存器中的信息,其中辅助储存器可以包括固态驱动器(其可以利用闪存设备而实现)和/或基于盘的储存器设备。
通过在SoC设备100中采用片上非易失性存储器104,可以省略SoC设备100外部的某些存储器和/或储存器设备,诸如易失性主存储器、闪存和/或辅助储存器。通过省略这样的外部存储器和/或储存器设备,由于系统中的部件的数目减少而可以降低与包括SoC设备100的系统相关联的成本。
图1B示出了根据另外实现方式的SoC设备100。图1B的SoC设备100是与图1A的SoC设备100类似地布置的,只是除瞬变区114和持久区116外,图1B的SoC设备100的非易失性存储器104进一步包括只读存储器(ROM)区120。ROM区120可以用于存储某个信息,诸如第一级引导加载器122。在其他示例中,ROM区120还可以用于存储针对SoC设备100的某个管理信息。
第一级引导加载器122是在包括SoC设备100的系统被启动时执行的第一引导代码。第一级引导加载器122用于启动第二级引导加载器124,第二级引导加载器124执行与启动系统(恢复系统或引导系统)相关联的附加功能。第二级引导加载器124可以用于调用另一引导代码,诸如BIOS或UEFI代码。第二级引导加载器124还可以加载操作系统或裸金属代码。更一般地,第一级引导加载器122是引导代码的第一部分的示例,并且第二级引导加载器124是引导代码的第二部分的示例。
在图1B的示例中,第二级引导加载器124和其他代码126(例如,BIOS或UEFI代码、操作系统、裸金属代码等)存储在SoC设备100的持久区116中。在其他示例中,第二级引导加载器124和/或BIOS或UEFI代码可以存储在ROM区120中。
要注意,ROM区120的内容可以被更新,诸如,更新第一级引导加载器122、第二级引导加载器124、或者存储在ROM区120中的BIOS或UEFI代码。ROM区120的内容的更新由在SoC设备100上执行的可信过程执行。
图2是根据一些实现方式的可由SoC设备100执行的过程的流程图。SoC设备100将机器可执行指令和元数据存储(在202处)在片上非易失性存储器104中。作为从其中从包括SoC设备100的系统移除功率的模式启动系统的一部分,SoC设备100基于元数据108(更具体地,基于指示器110)确定(在204处)是否将系统恢复到在先系统状态。
响应于元数据108(更具体地,指示器110)指示系统要被恢复到在先系统状态,使用存储在片上非易失性存储器104中的系统状态信息(包括SoC状态信息106和瞬变区114中的某个数据)将系统恢复(在206处)到在先系统状态。
图3A示出了包括SoC设备100和外部非易失性存储器302(其处于SoC设备100外部)的系统300A的示例。系统的示例可以包括以下各项中的任一个或以下各项的某种组合:台式计算机、笔记本计算机、平板计算机、服务器计算机、智能电话、个人数字助理、移动电话、通信设备、储存器服务器、游戏器具、智能传感器、可穿戴设备、物联网(IoT)设备、家庭控制器、系统控制器、微控制器、器具等等。
外部非易失性存储器302可以存储元数据304,并可以包括瞬变区306和持久区308,它们被布置成将与相应瞬变区114和持久区116类似的内容存储在片上非易失性存储器104中。外部非易失性存储器302的存在增加了在片上非易失性存储器104中可用的容量。元数据304可以包括与外部非易失性存储器302的区306和308相关的信息。
除SoC设备100和外部非易失性存储器302外,系统300A还可以包括其他部件,其包括外围或I/O设备310(例如,网络接口控制器、视频卡控制器、显示设备等)。
图3B示出了另一示例系统300B,除图3A的SoC设备100、外部非易失性存储器302和外围设备310外,示例系统300B还包括易失性主存储器320。易失性主存储器320处于SoC设备100外部,且可以使用动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)或任何其他类型的易失性存储器而实现。在存在易失性主存储器320的示例中,相应片上非易失性存储器104和外部非易失性存储器302的瞬变区114和/或306将不必存储易失性主存储器320中所存储的信息。
图4A是根据一些实现方式的启动图3A的系统300A的过程的流程图。作为从其中从系统300A移除功率的模式启动系统300A的一部分,SoC设备100的处理器102执行(在402处)来自片上非易失性存储器104中的ROM区120的第一级引导加载器122。在不必访问或初始化SoC设备100外的任何外围设备的情况下,处理器102可以读取(在404处)存储在片上非易失性存储器104中的元数据108(以及更具体地,指示器110),并确定系统300A是要被恢复还是要被引导。
以下假定指示器110指定系统300A要被恢复到在先系统状态。
第一级引导加载器122(或由第一级引导加载器122调用的其他代码)可以初始化(在406处)指定的一个或多个外围设备(例如,图形控制器、网络接口控制器等)。初始化外围设备可以指代利用指定信息对外围设备(诸如,外围设备中的控制寄存器)进行编程以将外围设备置于初始状态中。初始化图形控制器例如可以允许与启动系统300A相关联的信息被显示在显示设备中。在其他示例中,(一个或多个)外围设备的初始化(在406处)可以稍后被执行。
第一级引导加载器122(或由第一级引导加载器122调用的其他代码)从SoC状态信息106(图1A或1B)回复(在408处)SoC设备100的易失性数据。易失性数据可以包括寄存器、高速缓存、和/或处理器102和/或SoC设备100中的其他储存器元件中的数据。当功率被移除时,这样的寄存器、高速缓存和/或其他储存器元件的内容丢失。可以从存储在片上非易失性存储器104中的先前快照(包括SoC状态信息106)回复SoC易失性数据。快照可以指代在特定时间点处取得的数据拷贝。
基于SoC状态信息106将处理器102的程序计数器指(在410处)向操作系统或裸金属代码的恢复函数入口点。该入口点是可处于片上非易失性存储器104中或处于图3A中描绘的外部非易失性存储器302中的存储器地址。入口点指定恢复函数的起始点,其导致从先前执行点(在系统300A进入其中功率被移除的模式之前)执行操作系统或裸金属代码。
系统300A检查实现外部非易失性存储器302的(一个或多个)存储器设备的存在,并在程序计数器指向外部非易失性存储器302中的入口之前执行这样的(一个或多个)存储器设备的初始化。外部非易失性存储器302的初始化允许外部非易失性存储器302的内容的访问。
操作系统或裸金属代码然后可以恢复执行(在412处)。注意,操作系统或裸金属代码可能不知道其正在被恢复。
以下描述了用于拍摄SoC设备100的易失性数据的快照的操作。SoC设备100的(或者包括SoC设备100的系统的)机器可执行指令的执行被中止,并且易失性储存器的内容(诸如,寄存器、高速缓存和其他储存器元件的内容)被刷新到片上非易失性存储器104或外部非易失性存储器302中的对应储存器位置。可以在各种时间处(诸如,在成功的引导之后、在得体的设备断电或关闭之前、周期性地等等)拍摄快照。不同快照可以包括要恢复的不同状态。快照还可以包括上面讨论的瞬变区114的数据。
在一些示例中,可以利用完全处于SoC设备100内的代码和数据执行任务402、404、408和410。在这些任务的执行期间,外围设备可以不被初始化(假定任务406直到任务410之后才被执行)。由此,如果在任务402、404、408和410的执行期间发生错误,则可能不会使用户知道该错误,并且用户可能不能够使用外围设备来重置系统。相应地,为了允许在任务402、404、408和410期间系统300A的用户访问,可以给硬件重置机构312提供SoC设备100以允许用户重置系统。例如,可以提供跳线装置(jumper)、开关、按钮、或者用于提供信号的任何其他用户可激活硬件控制元件,其中该用户可激活硬件控制元件可以在错误的情况下由用户激活以重置SoC设备100。重置SoC设备100可以导致包括SoC设备100的系统的引导,这将使SoC状态信息106和瞬变区114中的数据被忽略和/或丢弃。
在采用包括易失性主存储器320的图3B的布置的实现方式中,可以执行用于启动系统300B的图4B的过程。图4B中的任务402和404与图4A中的对应任务402和404相同。
由于存在易失性主存储器320,因此图4B的过程初始化(在506处)易失性主存储器320,且可能初始化一个或多个指定的外围设备。在其他示例中,该一个或多个指定的外围设备的初始化可以稍后被执行。
图4B中的任务408和410与图4A中的对应任务408和410相同。
接下来,向操作系统或裸金属代码通知(在512处)操作系统或裸金属代码应当从片上非易失性存储器104的持久区116、外部非易失性存储器302的持久区308或系统300B的辅助储存器复原易失性主存储器320的内容的完全或部分快照。元数据108或304可以被操作系统或裸金属代码用于定位下述内容:易失性主存储器320的快照位于片上非易失性存储器104、外部非易失性存储器320或辅助储存器中的何处。
接下来,操作系统或裸金属代码可以恢复执行(在514处),其中恢复执行还可以包括:使用片上非易失性存储器104、外部非易失性存储器320或辅助储存器中的快照来复原易失性主存储器320的内容。
易失性主存储器320的内容的完全快照指代将机器可执行指令所使用的所有数据从易失性主存储器320拷贝到片上非易失性存储器104、外部非易失性存储器320或辅助储存器。
易失性主存储器320的内容的部分快照指代将易失性主存储器320中的数据的所选子集(诸如,操作系统内核所使用的数据或某个其他数据)从易失性主存储器320拷贝到片上非易失性存储器104、外部非易失性存储器320或辅助储存器。从部分快照进行复原可以比从完全快照进行复原更快,这是由于在系统恢复期间更小量的数据必须被拷贝到易失性主存储器320。
在一些实现方式中,对相应片上非易失性存储器104和外部非易失性存储器302中的元数据108和304进行写保护,以防止元数据的未授权修改。可以使用硬件(诸如处理器、存储器控制器或其他硬件部件)基于指定策略来执行写保护的施行。元数据的修改不被允许,除非满足指定策略的条件。
在一些实现方式中,可以使用密钥来对非易失性存储器104或302的一个或多个区(例如,存储元数据的区、持久区等)进行加密。而且,可以将可信管理机构用于维持或更新ROM区120的元数据内容并使用密钥来执行加密和解密。
在一些实现方式中,SoC设备100可以包括电保险丝(eFuse)存储器,其是仅可被编程一次的一次性可编程存储器。作为示例,eFuse存储器可以用于存储指定片上非易失性存储器104的属性的信息。这样的属性的示例可以包括只读属性(用于指定是否区是可读的)或其他属性。存储在eFuse存储器中的值可以允许或阻止由处理器102对片上非易失性存储器104或外部非易失性存储器302的某些区的访问。作为示例,eFuse存储器中的信息可以允许到非易失性存储器的示例区A的写入。在到非易失性存储器的区A的写入之后,执行一次性写入以改变eFuse存储器,以便防止非易失性存储器的区A的任何进一步写入。
在一些实现方式中,为了恢复SoC设备100或包括SoC设备100的系统,可以省略某些任务(诸如,图4A或4B中的任务402和404)的执行。因此,恢复可以从图4A或4B中的每一个中的任务408开始。
在包括SoC设备100中的多个处理器的实现方式中,SoC设备100中的多个处理器中所选的一个可以用于执行恢复任务。这可以出于安全性原因而执行。例如,作为针对安全引导的硬件保证,SoC设备100中的某些处理器可以用于具体任务。
尽管上面讨论的各种示例在片上非易失性存储器104中描绘了一个瞬变区和一个持久区,但要注意,对于相应不同操作系统,片上非易失性存储器104可以包括多个瞬变区和多个持久区。
在以上描述中,阐述了许多细节以提供对本文公开的主题的理解。然而,可以在没有这些细节中的一些的情况下实践实现方式。其他实现方式可以包括从上面讨论的细节的修改和变形。意图在于,所附权利要求覆盖这样的修改和变形。
Claims (15)
1.一种方法,包括:
在片上系统(SoC)设备的片上非易失性存储器中存储指令和元数据;
作为从其中从包括SoC设备的系统移除功率的模式启动所述系统的一部分,由所述SoC设备基于所述元数据来确定是否将所述系统恢复到在先系统状态;以及
响应于所述元数据指示所述系统要被恢复到所述在先系统状态,使用存储在所述片上非易失性存储器中的系统状态信息将所述系统恢复到所述在先系统状态。
2.如权利要求1所述的方法,其中所述片上非易失性存储器包括多个逻辑区,所述多个逻辑区包括持久区、以及只读存储器区或瞬变区中的至少一个,所述方法进一步包括:
访问所述元数据以定位所述多个逻辑区。
3.如权利要求2所述的方法,其中所述多个逻辑区进一步包括安全区,所述方法进一步包括:
由所述SoC设备使用所述安全区中的信息来执行安全操作。
4.如权利要求2所述的方法,进一步包括,作为启动的一部分:
由所述SoC设备执行来自所述只读存储器区的第一引导加载器;
由所述SoC设备执行来自所述片上非易失性存储器的持久区的第二引导加载器,所述第二引导加载器由所述第一引导加载器调用。
5.如权利要求4所述的方法,进一步包括:
由所述SoC设备执行来自所述片上非易失性存储器的持久区的引导代码和操作系统。
6.如权利要求1所述的方法,进一步包括:
响应于所述元数据指示所述系统要从干净引导状态、最后知道的良好状态或与回复点相对应的状态恢复,在不从所述系统移除功率的情况下,将所述系统恢复到所述干净引导状态、所述最后知道的良好状态或所述与回复点相对应的状态。
7.如权利要求1所述的方法,进一步包括:
由所述SoC设备从所述片上非易失性存储器中的快照回复易失性数据,所述快照包括所述系统状态信息。
8.如权利要求7所述的方法,进一步包括:
通过下述操作来创建所述快照:
中止机器可执行指令的执行:
将所述SoC设备上的易失性储存器的内容刷新到所述片上非易失性存储器;以及
将与硬件设备和机器可执行指令相关的信息存储在所述片上非易失性存储器中。
9.如权利要求1所述的方法,其中所述SoC设备包括用户可激活硬件控制元件,所述方法进一步包括:响应于所述硬件控制元件的激活而重置所述SoC设备。
10.一种片上系统(SoC)设备,包括:
处理器;以及
非易失性存储器,存储包括指示器的元数据和与所述非易失性存储器的多个区相关的信息,所述指示器用于指示包括SoC设备的系统是要被恢复还是要被引导,所述多个区包括瞬变区和持久区,
作为从其中从所述SoC设备移除功率的模式启动所述系统的一部分,所述处理器执行下述操作:
基于所述指示器来确定是否从在先系统状态恢复所述系统;
响应于所述指示器指定所述系统要从所述在先系统状态恢复,使用存储在片上非易失性存储器中的系统状态信息将所述系统恢复到所述在先系统状态;以及
使用与所述多个区相关的信息来标识所述非易失性存储器的瞬变区和持久区。
11.如权利要求10所述的SoC设备,其中所述非易失性存储器进一步包括:只读存储器(ROM)区,响应于所述系统的启动而存储所述处理器可执行的引导代码。
12.如权利要求10所述的SoC设备,其中所述处理器响应于所述系统的引导而丢弃所述瞬变区中的数据。
13.如权利要求10所述的SoC设备,其中所述处理器向操作系统或裸金属代码通知要从所述非易失性存储器或另一储存器中的快照回复易失性主存储器的内容。
14.一种系统,包括:
外围设备;以及
片上系统(SoC)设备,包括:
处理器;以及
非易失性存储器,存储包括指示器的元数据和与所述非易失性存储器的多个区相关的信息,所述指示器用于指示所述系统是要被恢复还是要被引导,所述多个区包括瞬变区,
作为从其中从所述系统移除功率的模式启动所述系统的一部分,所述处理器执行下述操作:
基于所述指示器来确定是否从在先系统状态恢复所述系统;
响应于所述指示器指定所述系统要从所述在先系统状态恢复,使用存储在片上非易失性存储器中的系统状态信息将所述系统恢复到所述在先系统状态;以及
使用所述系统状态信息来初始化所述外围设备。
15.如权利要求14所述的系统,进一步包括易失性主存储器,所述处理器进一步向操作系统或裸金属代码通知从存储在所述非易失性存储器或另一储存器中的快照回复所述易失性主存储器的内容。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2015/013468 WO2016122520A1 (en) | 2015-01-29 | 2015-01-29 | Resuming a system-on-a-chip device |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107003864A true CN107003864A (zh) | 2017-08-01 |
CN107003864B CN107003864B (zh) | 2021-08-20 |
Family
ID=56543945
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580059443.0A Expired - Fee Related CN107003864B (zh) | 2015-01-29 | 2015-01-29 | 恢复片上系统设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10228745B2 (zh) |
EP (1) | EP3201763A4 (zh) |
CN (1) | CN107003864B (zh) |
WO (1) | WO2016122520A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112673356A (zh) * | 2018-08-03 | 2021-04-16 | 美光科技公司 | 快速非易失性存储装置恢复技术 |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9990255B2 (en) | 2013-04-23 | 2018-06-05 | Hewlett-Packard Development Company, L.P. | Repairing compromised system data in a non-volatile memory |
WO2014175867A1 (en) | 2013-04-23 | 2014-10-30 | Hewlett-Packard Development Company, L.P. | Verifying controller code and system boot code |
CN105122261B (zh) * | 2013-04-23 | 2020-04-24 | 惠普发展公司,有限责任合伙企业 | 从遭到破坏的系统启动代码中恢复的方法以及计算装置 |
WO2018057039A1 (en) * | 2016-09-26 | 2018-03-29 | Hewlett-Packard Development Company, L. | Update memory management information to boot an electronic device from a reduced power mode |
US10860332B2 (en) | 2017-09-25 | 2020-12-08 | Qualcomm Incorporated | Multicore framework for use in pre-boot environment of a system-on-chip |
US11163887B2 (en) | 2018-02-14 | 2021-11-02 | Microsoft Technology Licensing, Llc | Clearance of bare metal resource to trusted state usable in cloud computing |
WO2019180675A1 (en) * | 2018-03-22 | 2019-09-26 | Trulyprotect Oy | Systems and methods for hypervisor-based protection of code |
JP7053979B2 (ja) * | 2018-06-29 | 2022-04-13 | 株式会社Pfu | 情報処理装置、情報処理方法、及びプログラム |
US11550592B2 (en) * | 2018-06-29 | 2023-01-10 | Intel Corporation | Methods and apparatus to utilize non-volatile memory for computer system boot |
WO2020159533A1 (en) | 2019-02-01 | 2020-08-06 | Hewlett-Packard Development Company, L.P. | Security credential derivation |
WO2020167283A1 (en) | 2019-02-11 | 2020-08-20 | Hewlett-Packard Development Company, L.P. | Recovery from corruption |
US20220129198A1 (en) * | 2019-07-12 | 2022-04-28 | Hewlett-Packard Development Company, L.P. | Data updates for controllers |
KR20210096857A (ko) | 2020-01-29 | 2021-08-06 | 삼성전자주식회사 | 시스템 온 칩 및 이의 리셋 제어 방법 |
CN111722878A (zh) * | 2020-06-19 | 2020-09-29 | 北京集创北方科技股份有限公司 | 芯片启动控制方法、芯片、显示面板及电子设备 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1313028A2 (en) * | 2001-11-20 | 2003-05-21 | Agilent Technologies, Inc. | System-on-chip architecture that utilizes feram and re-configurable hardware |
US20040044917A1 (en) * | 2002-08-28 | 2004-03-04 | Samsung Electronics Co., Ltd. | Apparatus and method for restoring working context |
CN101903866A (zh) * | 2007-11-21 | 2010-12-01 | 提琴存储器公司 | 非易失存储介质中的数据存储的方法和系统 |
CN101986276A (zh) * | 2010-10-21 | 2011-03-16 | 成都市华为赛门铁克科技有限公司 | 文件存储方法、文件恢复方法、系统及服务器 |
CN102016824A (zh) * | 2005-10-26 | 2011-04-13 | 矽玛特有限责任公司 | 芯片集成电路上的系统及与其一起使用的处理系统和方法 |
CN102044295A (zh) * | 2009-10-16 | 2011-05-04 | 三星电子株式会社 | 非易失性存储器系统以及在电源中断期间保存数据的方法 |
US20110231595A1 (en) * | 2010-03-17 | 2011-09-22 | Apple Inc. | Systems and methods for handling hibernation data |
US20120151125A1 (en) * | 2010-12-08 | 2012-06-14 | Samsung Electronics Co., Ltd. | Data processing method for nonvolatile memory system |
CN102708064A (zh) * | 2011-02-24 | 2012-10-03 | 微软公司 | 从休眠中多阶段恢复 |
US20130042057A1 (en) * | 2004-05-07 | 2013-02-14 | Alan Welsh Sinclair | Hybrid Non-Volatile Memory System |
US20140164753A1 (en) * | 2012-12-06 | 2014-06-12 | Samsung Electronics Co., Ltd | System on chip for performing secure boot, image forming apparatus using the same, and method thereof |
US20140232333A1 (en) * | 2013-02-20 | 2014-08-21 | Junho Kim | Adjusting operation of an electronic device in response to a sudden-power-off (spo) event |
US20140245294A1 (en) * | 2013-02-26 | 2014-08-28 | Red Hat Israel, Ltd. | Virtual machine suspension |
US20140281464A1 (en) * | 2013-03-15 | 2014-09-18 | Avalanche Technology, Inc. | Method of implementing magnetic random access memory (mram) for mobile system-on chip boot |
Family Cites Families (15)
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 |
EP1634168A1 (en) | 2003-06-03 | 2006-03-15 | Koninklijke Philips Electronics N.V. | Booting from non-volatile memory |
US7190190B1 (en) | 2004-01-09 | 2007-03-13 | Altera Corporation | Programmable logic device with on-chip nonvolatile user memory |
US7152138B2 (en) | 2004-01-30 | 2006-12-19 | Hewlett-Packard Development Company, L.P. | System on a chip having a non-volatile imperfect memory |
KR100634356B1 (ko) | 2004-05-12 | 2006-10-16 | 삼성전자주식회사 | 메인 데이터를 안전하게 로딩하는 메모리 시스템 및 그것의 데이터 로딩 방법 |
US8046571B1 (en) | 2006-12-18 | 2011-10-25 | Marvell International Ltd. | System-on-a-chip (SoC) security using one-time programmable memories |
US20080294838A1 (en) | 2007-05-25 | 2008-11-27 | Agere Systems Inc. | Universal boot loader using programmable on-chip non-volatile memory |
US8281169B2 (en) | 2008-08-27 | 2012-10-02 | Wireless Silicon Group, Inc. | Method and system for power management for a handheld mobile electronic device executing-in-place an application kernel from execute-in-place non-volatile memory (XIP NVM) |
WO2010077787A1 (en) | 2009-01-05 | 2010-07-08 | Marvell World Trade Ltd. | Method and system for hibernation or suspend using a non-volatile-memory device |
KR101542878B1 (ko) | 2009-02-13 | 2015-08-07 | 삼성전자주식회사 | 버퍼램을 포함하는 불휘발성 메모리 장치 및 그것의 부트 코드 관리 방법 |
US8205070B2 (en) | 2009-09-08 | 2012-06-19 | Apple Inc. | Device bootup from a NAND-type non-volatile memory |
US20130159602A1 (en) | 2011-12-20 | 2013-06-20 | Bae Systems Controls, Inc. | Unified memory architecture |
US9881161B2 (en) | 2012-12-06 | 2018-01-30 | S-Printing Solution Co., Ltd. | System on chip to perform a secure boot, an image forming apparatus using the same, and method thereof |
KR20140083530A (ko) | 2012-12-26 | 2014-07-04 | 삼성전자주식회사 | 하드웨어를 디버깅하는 부트 쉘을 포함하는 시스템온칩 및 이의 구동 방법 |
US10572269B2 (en) * | 2014-04-29 | 2020-02-25 | Hewlett-Packard Development Company, L.P. | Resuming a system using state information |
-
2015
- 2015-01-29 US US15/519,857 patent/US10228745B2/en active Active
- 2015-01-29 EP EP15880418.7A patent/EP3201763A4/en not_active Withdrawn
- 2015-01-29 CN CN201580059443.0A patent/CN107003864B/zh not_active Expired - Fee Related
- 2015-01-29 WO PCT/US2015/013468 patent/WO2016122520A1/en active Application Filing
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1313028A2 (en) * | 2001-11-20 | 2003-05-21 | Agilent Technologies, Inc. | System-on-chip architecture that utilizes feram and re-configurable hardware |
US20040044917A1 (en) * | 2002-08-28 | 2004-03-04 | Samsung Electronics Co., Ltd. | Apparatus and method for restoring working context |
US20130042057A1 (en) * | 2004-05-07 | 2013-02-14 | Alan Welsh Sinclair | Hybrid Non-Volatile Memory System |
CN102016824A (zh) * | 2005-10-26 | 2011-04-13 | 矽玛特有限责任公司 | 芯片集成电路上的系统及与其一起使用的处理系统和方法 |
CN101903866A (zh) * | 2007-11-21 | 2010-12-01 | 提琴存储器公司 | 非易失存储介质中的数据存储的方法和系统 |
CN102044295A (zh) * | 2009-10-16 | 2011-05-04 | 三星电子株式会社 | 非易失性存储器系统以及在电源中断期间保存数据的方法 |
US20110231595A1 (en) * | 2010-03-17 | 2011-09-22 | Apple Inc. | Systems and methods for handling hibernation data |
CN101986276A (zh) * | 2010-10-21 | 2011-03-16 | 成都市华为赛门铁克科技有限公司 | 文件存储方法、文件恢复方法、系统及服务器 |
US20120151125A1 (en) * | 2010-12-08 | 2012-06-14 | Samsung Electronics Co., Ltd. | Data processing method for nonvolatile memory system |
CN102708064A (zh) * | 2011-02-24 | 2012-10-03 | 微软公司 | 从休眠中多阶段恢复 |
US20140164753A1 (en) * | 2012-12-06 | 2014-06-12 | Samsung Electronics Co., Ltd | System on chip for performing secure boot, image forming apparatus using the same, and method thereof |
US20140232333A1 (en) * | 2013-02-20 | 2014-08-21 | Junho Kim | Adjusting operation of an electronic device in response to a sudden-power-off (spo) event |
US20140245294A1 (en) * | 2013-02-26 | 2014-08-28 | Red Hat Israel, Ltd. | Virtual machine suspension |
US20140281464A1 (en) * | 2013-03-15 | 2014-09-18 | Avalanche Technology, Inc. | Method of implementing magnetic random access memory (mram) for mobile system-on chip boot |
Non-Patent Citations (1)
Title |
---|
蔡涛等: "NVMMDS——一种面向非易失存储器的元数据管理方法", 《计算机研究与发展》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112673356A (zh) * | 2018-08-03 | 2021-04-16 | 美光科技公司 | 快速非易失性存储装置恢复技术 |
CN112673356B (zh) * | 2018-08-03 | 2022-07-08 | 美光科技公司 | 快速非易失性存储装置恢复技术 |
Also Published As
Publication number | Publication date |
---|---|
EP3201763A1 (en) | 2017-08-09 |
EP3201763A4 (en) | 2018-07-11 |
CN107003864B (zh) | 2021-08-20 |
WO2016122520A1 (en) | 2016-08-04 |
US20170249002A1 (en) | 2017-08-31 |
US10228745B2 (en) | 2019-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107003864A (zh) | 恢复片上系统设备 | |
CN105579953B (zh) | 灵活引导程序代码架构 | |
CN105917308B (zh) | 分区为包括元数据区域的多个区域的字节可寻址非易失性读写主存储器 | |
CN105164657B (zh) | 程序数据至非易失性存储器的选择性备份系统及方法 | |
EP2638466B1 (en) | Software updating process for an embedded device | |
CN100426238C (zh) | Vex-虚拟扩展框架 | |
CN107003863B (zh) | 引导片上系统器件 | |
US20160117225A1 (en) | Mobile flash storage boot partition and/or logical unit shadowing | |
KR101846612B1 (ko) | 부트 데이터 로드 | |
KR20160146937A (ko) | 지속성 있는 메모리 저장을 갖는 펌웨어 인터페이스 | |
KR20140121233A (ko) | 부트로더에 의한 운영 체제 부팅 기능의 전자 장치, 방법 및 저장 매체 | |
CN111989656A (zh) | 可配置的恢复状态 | |
CN109710317A (zh) | 系统启动方法、装置、电子设备及存储介质 | |
TW201013682A (en) | One-time-programmable memory emulation | |
US10353816B2 (en) | Page cache in a non-volatile memory | |
CN106258006A (zh) | 使用状态信息恢复系统 | |
CN115774681A (zh) | 信息处理装置 | |
CN111868679A (zh) | 混合存储器系统 | |
CN103150516A (zh) | 一种Android系统设备进入临时模式的方法及装置 | |
CN108139906A (zh) | 意外处理 | |
CN105335248B (zh) | 信息处理方法及电子设备 | |
US9594792B2 (en) | Multiple processor system | |
TWI274996B (en) | Method for protecting data stored in a hard disk | |
CN115328560A (zh) | 芯片启动方法、系统、计算机设备、存储介质及芯片 | |
JP5853590B2 (ja) | Icチップ、icチップにおける処理方法、icチップ用処理プログラム、及びicカード等 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210820 |