CN113467841A - 一种双操作系统设备及其快速休眠及唤醒的方法 - Google Patents
一种双操作系统设备及其快速休眠及唤醒的方法 Download PDFInfo
- Publication number
- CN113467841A CN113467841A CN202110532410.0A CN202110532410A CN113467841A CN 113467841 A CN113467841 A CN 113467841A CN 202110532410 A CN202110532410 A CN 202110532410A CN 113467841 A CN113467841 A CN 113467841A
- Authority
- CN
- China
- Prior art keywords
- small
- large system
- volatile memory
- content
- sleep mode
- 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
- 238000000034 method Methods 0.000 title claims abstract description 83
- 230000007958 sleep Effects 0.000 claims abstract description 161
- 238000004140 cleaning Methods 0.000 claims abstract description 39
- 238000005516 engineering process Methods 0.000 claims abstract description 18
- 230000005059 dormancy Effects 0.000 claims abstract description 16
- 230000006835 compression Effects 0.000 claims abstract description 15
- 238000007906 compression Methods 0.000 claims abstract description 15
- 230000002093 peripheral effect Effects 0.000 claims abstract description 15
- 230000009467 reduction Effects 0.000 claims abstract description 15
- 238000012546 transfer Methods 0.000 claims abstract description 5
- 230000009977 dual effect Effects 0.000 claims description 51
- 238000011084 recovery Methods 0.000 claims description 11
- 230000006870 function Effects 0.000 claims description 7
- 230000002618 waking effect Effects 0.000 claims description 7
- 230000000717 retained effect Effects 0.000 claims description 5
- 238000005201 scrubbing Methods 0.000 claims description 3
- 230000008901 benefit Effects 0.000 abstract description 5
- 230000008569 process Effects 0.000 description 28
- 230000006266 hibernation Effects 0.000 description 10
- 230000006837 decompression Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000019371 dormancy process Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000011065 in-situ storage Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 208000019116 sleep disease Diseases 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- 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
-
- 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/4406—Loading of operating system
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Power Sources (AREA)
Abstract
本申请公开了一种双操作系统设备的快速休眠方法。大系统收到进入休眠模式的指令。大系统停止应用的运行,释放应用占据的易失性存储器的空间,关闭外设,仅保留大系统的核心业务。大系统在所述易失性存储器中采用内存缩小技术进行二次清理,仅保留在休眠模式中需要保存到非易失性存储器中的内容,并生成对应的索引,将该索引转移给小系统。小系统根据索引读取所述易失性存储器中的内容。小系统将索引及所述易失性存储器中的内容直接、或压缩后、或加密后、或压缩且加密后转储到非易失性存储器中。小系统关闭所述易失性存储器,大系统进入休眠模式。本申请利用小系统协助大系统进入和退出休眠模式,可以显著缩短大系统进入和退出休眠模式的时间。
Description
技术领域
本申请涉及一种具有两个操作系统的嵌入式系统(embedded system)的休眠及唤醒的方法。
背景技术
嵌入式系统常用的节约功耗的方式包括睡眠(sleep)、休眠(hibernate)等。睡眠模式的进入和退出都很快,可达毫秒级别。但在睡眠模式下,嵌入式系统中常见的一类易失性存储器(volatile memory)DDR SDRAM(Double Data Rate Synchronous DynamicRandom-Access Memory,双倍数据率同步动态随机存取存储器)依然需要保持供电,利用外部或者内部的定时刷新机制来保证存储内容不丢失,因此依然有功耗。休眠模式的原理是将DDR SDRAM的存储内容完全转存到非易失性存储器(non-volatile memory)中,然后DDRSDRAM就可以下电,做到零功耗。但是休眠模式涉及到的流程更长,进入和退出花费的时间很长,需要秒级别。因此,结合用户体验,一般情况下无法将休眠作为主要的节能模式,从而无法达到最优的节电。
在某些嵌入式系统中,例如在智能手表领域,一般会采用双操作系统。一个高性能的操作系统一用于支持用户复杂但短暂的应用,称为大系统。一个低功耗的操作系统二用于支持用户简单但持久的应用,称为小系统。这种双操作系统设备在不需要大系统的时候,需要将大系统引起的功耗尽量降低,来节约设备能耗,从而延长设备待机时间,达到支持复杂应用和长时间待机的平衡。
现有的双操作系统设备中,为了在不使用大系统的时候节约功耗,是使大系统进入睡眠模式。相比于正常工作模式,睡眠模式的功耗更低,能保持内部逻辑和存储的信息,可以快速(毫秒级)从正常工作模式进入睡眠模式,也可以快速(毫秒级)从睡眠模式回到正常工作模式。这样,在诸如用户输入时,大系统可以及时响应,第一时间处理用户输入。但是,睡眠模式下的大系统的DDR SDRAM需要保持电源持续供给,甚至部分模块还需要保留部分时钟信号,才能保证内部逻辑的正确性,这就使得睡眠模式依然有不小的以及不必要的功耗。
现有的双操作系统设备中,也可以使大系统进入休眠模式。请参阅图1,现有的双操作系统设备中的大系统进入休眠模式的方法包括如下步骤。
步骤S11:大系统收到进入休眠模式的指令。
步骤S12:大系统采用memory shrink(内存缩小)技术在DDR SDRAM中清理不需要保存到非易失性存储器的内容,以节约步骤S13存储的休眠镜像(hibernate image)文件的大小。
步骤S13:大系统在DDR SDRAM中创建一份休眠镜像文件。
大系统的休眠模式需要把原来DDR SDRAM上的内容转储到非易失性存储器上,这个转储过程本身就需要读取DDR SDRAM的数据,转储逻辑也需要占据一段内存空间来运行,所以要使用DDR SDRAM。由于大系统在休眠过程中还在使用DDR SDRAM,因此需要在DDRSDRAM中额外创建一份休眠镜像文件,该休眠镜像文件的内容是从原大系统占据的全部DDRSDRAM空间中提取出需要转储到非易失性存储器中的内容。生成休眠镜像文件的过程,就是从原大系统占据的DDR SDRAM的空间中复制需要转储的内容到休眠镜像文件占据的DDRSDRAM空间中。这一步需要DDR SDRAM具有至少一半物理空间是空闲的才能正常进行。如果不能满足该要求,则大系统无法进入休眠模式。
步骤S14:大系统将休眠镜像文件转储到非易失性存储器中。
步骤S15:关闭DDR SDRAM,即对DDR SDRAM下电。
请参阅图2,现有的双操作系统设备中的大系统退出休眠模式的方法包括如下步骤。
步骤S21:初始化设备的DDR SDRAM。
步骤S22:启动设备的大系统,随后执行退出休眠模式的逻辑即步骤S23至步骤S25。
步骤S23:大系统从非易失性存储器中读取休眠镜像文件。
步骤S24:大系统根据休眠镜像文件恢复DDR SDRAM的内容。
步骤S25:大系统进入正常工作模式。
需要说明的是,现有的嵌入式系统中,无论有几个操作系统,相互都是独立的。每个操作系统进入和退出休眠模式也是独立的,和单个操作系统是一样的。因此单操作系统设备进入、退出休眠模式的方法也是如图1、图2所示。
现有的双操作系统设备中,大系统进入休眠模式后,可以做到处理器和DDR SDRAM的硬件完全下电。但在进入休眠模式时,步骤S12至步骤S14记载的整理DDR SRAM和保存DDRSDRAM至外部存储器需要耗费大量的时间,约10秒级别。如果进入休眠模式,大系统将无法在第一时间处理用户输入。事实上,在进入休眠模式的过程和退出休眠模式的过程中,大系统几乎无法对用户输入做出任何响应。在退出休眠模式时,步骤S21至步骤S22记载的从设备上电到启动大系统的时间,包括加载执行大系统的镜像文件之前需要先加载运行很多前序的bootloader(引导加载程序)镜像文件的时间,以及等待大系统初始流程走完(包含各个外设驱动的初始化)的时间,都是无法避免的。
发明内容
本申请所要解决的技术问题是提供一种双操作系统的电子设备快速休眠和快速唤醒的方法。
为解决上述技术问题,本申请提出了一种双操作系统设备的快速休眠方法,所述双操作系统设备中,高性能高功耗的操作系统一称为大系统,低性能低功耗的操作系统二称为小系统;所述快速休眠方法包括如下步骤。步骤S31:大系统收到进入休眠模式的指令。步骤S32:大系统停止应用的运行,释放应用占据的易失性存储器的空间,关闭外设,仅保留大系统的核心业务。步骤S33:大系统在所述易失性存储器中采用内存缩小技术进行二次清理,仅保留在休眠模式中需要保存到非易失性存储器中的内容,并生成对应的索引,将该索引转移给小系统。步骤S34:小系统根据索引读取所述易失性存储器中的内容。步骤S35:小系统将索引及所述易失性存储器中的内容直接、或压缩后、或加密后、或压缩且加密后转储到非易失性存储器中。步骤S36:小系统关闭所述易失性存储器,大系统进入休眠模式。上述方法利用小系统协助大系统进入休眠模式,可以显著缩短大系统进入休眠模式的时间。
进一步地,所述步骤S31中,所述指令包括大系统根据特定条件自行触发的指令。这表明所述指令并不一定由外界发出,可以是大系统自行触发的。
进一步地,如果双操作系统设备中的大系统和小系统共用一个硬件处理器,那么步骤S32的末尾并不停止该处理器;该处理器在后续步骤将转而执行小系统的逻辑。如果双操作系统设备中的大系统和小系统有各自的硬件处理器,那么步骤S32的末尾,大系统发起小系统的调用指令,然后停止大系统的处理器;小系统的处理器在后续步骤执行小系统的逻辑。这表明两种应用场景下,步骤S32或者是传统进入睡眠模式的流程去除了“停止处理器”的内容,或者是传统进入睡眠模式的流程。
进一步地,所述步骤S33中,所述二次清理是指将进入睡眠模式的过程中需要在所述易失性存储器中保留、但是在进入休眠模式的过程中不需要在所述易失性存储器中保留的内容清理掉。这是对“二次清理”的详细说明。
可替换地,所述步骤S32和步骤S33整体替换为步骤S32a;步骤S32a:大系统停止应用的运行,释放应用占据的易失性存储器的空间,然后关闭外设;大系统在所述易失性存储器中采用内存缩小技术进行清理,仅保留在休眠模式中需要保存到非易失性存储器中的内容,并生成对应的索引,将该索引转移给小系统。这是一种可替换的实现方式,不再利用大系统现有的进入睡眠模式的方法,更加快捷,但不易与现有技术相结合。
进一步地,如果双操作系统设备中的大系统和小系统共用一个硬件处理器,那么步骤S32a的末尾并不停止该处理器,该处理器在后续步骤将转而执行小系统的逻辑;如果双操作系统设备中的大系统和小系统有各自的硬件处理器,那么步骤S32a的末尾,大系统发起小系统的调用指令,然后停止大系统的处理器;小系统的处理器在后续步骤执行小系统的逻辑。这表明两种应用场景下的不同处理方式。
进一步地,所述步骤S34或步骤S35中,如果将索引和/或DDR SDRAM中的内容加密,加密密钥或者保存在小系统的易失性存储器中,或者利用小系统中的次级密钥对加密密钥再次加密后保存到小系统的非易失性存储器中。
进一步地,如果大系统中包含安全环境和非安全环境,内存分为安全内存区域和非安全内存区域;在步骤S32及步骤S33中、或在步骤S32a中,非安全环境仅对非安全内存区域进行清理和索引;所述步骤S34或步骤S35中还包括:小系统对大系统的安全内存区域进行清理,仅保留大系统的安全内存区域在休眠模式中需要保存到非易失性存储器中的内容,将这些内容直接、或压缩、或加密、或压缩且加密后转储到非易失性存储器中。
本申请还提出了一种双操作系统设备的快速唤醒方法,所述双操作系统设备中,高性能高功耗的操作系统一称为大系统,低性能低功耗的操作系统二称为小系统;所述双操作系统设备是采用前述快速休眠方法使大系统进入休眠模式的;所述快速唤醒方法包括如下步骤。步骤S41:小系统初始化设备的易失性存储器。步骤S42:小系统从非易失性存储器中读取数据。步骤S43:小系统根据读取数据、或解压缩后的读取数据、或解密后的读取数据、或解压缩且解密后的读取数据恢复所述易失性存储器的内容。步骤S44:小系统唤醒处理器执行大系统逻辑,大系统功能恢复;随后大系统进入正常工作模式。上述方法利用小系统协助大系统退出休眠模式,可以显著缩短大系统从休眠模式中唤醒的时间。
进一步地,如果双操作系统设备中的大系统和小系统共用一个硬件处理器,那么步骤S44的开始是处理器从执行小系统逻辑转向执行大系统逻辑。如果双操作系统设备中的大系统和小系统有各自的硬件处理器,那么步骤S44的开始是将大系统的处理器从停机状态唤醒开始执行大系统逻辑。这表明两种应用场景下,步骤S44或者是传统从睡眠模式唤醒的流程的模拟,或者是传统从睡眠模式唤醒的流程。
进一步地,如果所述步骤S34或步骤S35中选择加密,并且利用小系统中的次级密钥对加密密钥再次加密后保存到小系统的非易失性存储器;那么步骤S41还包括:小系统获得次级密钥,从非易失性存储器中读取由次级密钥加密后的加密密钥,解密后获得加密密钥;步骤S42或步骤S43还包括:小系统利用加密密钥解密所读取的数据。
进一步地,如果所述步骤S34或步骤S35中还包括:小系统对大系统的安全内存区域进行清理,仅保留大系统的安全内存区域在休眠模式中需要保存到非易失性存储器中的内容,将这些内容直接、或压缩、或加密、或压缩且加密后转储到非易失性存储器中;那么步骤S43中,小系统将大系统的非安全内存区域清理后的内容及其索引恢复到非安全内存区域,小系统将大系统的安全内存区域清理后的内容恢复到安全内存区域。
本申请还提出了一种实现快速休眠的双操作系统设备,高性能高功耗的操作系统一称为大系统,低性能低功耗的操作系统二称为小系统;包括接收单元、睡眠清理单元、二次清理单元、索引读取单元、转储单元和下电单元。所述接收单元用于接收大系统进入休眠模式的指令。所述睡眠清理单元用于使大系统停止应用的运行,释放应用占据的易失性存储器的空间,关闭外设,仅保留大系统的核心业务。所述二次清理单元用于使大系统在所述易失性存储器中采用内存缩小技术进行二次清理,仅保留在休眠模式中需要保存到非易失性存储器中的内容,并生成对应的索引,将该索引转移给小系统。所述索引读取单元用于使小系统根据索引读取所述易失性存储器中的内容。所述转储单元用于使小系统将索引及所述易失性存储器中的内容直接、或压缩后、或加密后、或压缩且加密后转储到非易失性存储器中。所述下电单元用于使小系统关闭所述易失性存储器,大系统进入休眠模式。上述设备利用小系统协助大系统进入休眠模式,可以显著缩短大系统进入休眠模式的时间。
可替换地,所述睡眠清理单元和二次清理单元整体替换为清理单元;所述清理单元用于使大系统停止应用的运行,释放应用占据的易失性存储器的空间,然后关闭外设;并使大系统在所述易失性存储器中采用内存缩小技术进行清理,仅保留在休眠模式中需要保存到非易失性存储器中的内容,并生成对应的索引,将该索引转移给小系统。这是一种可替换的实现方式,不再利用大系统现有的进入睡眠模式的方法,更加快捷,但不易与现有技术相结合。
本申请还提出了一种实现快速唤醒的双操作系统设备,高性能高功耗的操作系统一称为大系统,低性能低功耗的操作系统二称为小系统;包括初始化单元、外存读取单元、恢复单元和唤醒单元。所述初始化单元用于使小系统初始化设备的易失性存储器。所述外存读取单元用于使小系统从非易失性存储器中读取数据。所述恢复单元用于使小系统根据读取数据、或解压缩后的读取数据、或解密后的读取数据、或解压缩且解密后的读取数据恢复所述易失性存储器的内容。所述唤醒单元用于使小系统唤醒处理器执行大系统逻辑,大系统功能恢复;随后大系统进入正常工作模式。上述设备利用小系统协助大系统退出休眠模式,可以显著缩短大系统从休眠模式中唤醒的时间。
本申请取得的技术效果是使大系统进入和退出休眠模式的耗时显著缩短,大系统进入休眠模式不再受到易失性存储器的空闲空间的限制。
附图说明
图1是现有的双操作系统设备中的大系统进入休眠模式的方法的流程图。
图2是现有的双操作系统设备中的大系统退出休眠模式的方法的流程图。
图3是本申请提出的双操作系统设备的快速休眠方法的流程图。
图4是本申请提出的双操作系统设备的快速唤醒方法的流程图。
图5是本申请提出的双操作系统设备的实施例一的结构示意图。
图6是本申请提出的双操作系统设备的实施例二的结构示意图。
图中附图标记说明:31为接收单元、32为睡眠清理单元、33为二次清理单元、34为索引读取单元、35为转储单元、36为下电单元、41为初始化单元、42为外存读取单元、43为恢复单元、44为唤醒单元。
具体实施方式
请参阅图3,本申请提出的双操作系统设备的快速休眠方法包括如下步骤。
步骤S31:大系统收到进入休眠模式的指令。该指令可以是大系统根据特定条件自行触发的。
步骤S32:大系统停止应用的运行,释放应用占据的DDR SDRAM的空间(例如页面缓存等),然后关闭外设,仅保留大系统的核心业务。这一过程等同于大系统在现有的进入睡眠模式的过程中对DDR SDRAM进行的清理。
如果双操作系统设备中的大系统和小系统共用一个硬件处理器(CPU),那么步骤S32的末尾并不停止该处理器。该处理器在后续步骤将转而执行小系统的逻辑(指令)。大系统的标准睡眠流程是:先执行步骤S32,然后停止处理器。此时步骤S32可以视作为大系统的传统睡眠流程去除了“停止处理器”的内容。
如果双操作系统设备中的大系统和小系统有各自的硬件处理器,那么步骤S32的末尾,大系统发起小系统的调用指令,然后停止大系统的处理器。小系统的处理器在后续步骤会执行小系统的逻辑。此时步骤S32可以视作为大系统的传统睡眠流程。
步骤S33:大系统在DDR SDRAM中采用内存缩小技术进行二次清理,仅保留在休眠模式中需要保存到非易失性存储器中的内容,并生成对应的索引,将该索引转移给小系统。所述二次清理是指将传统睡眠过程中需要在DDR SDRAM中保留、但是在休眠过程中不需要在DDR SDRAM中保留的内容清理掉。清理完成后,DDR SDRAM中的内容就是在休眠过程中的需要保存到非易失性存储器中的内容。
例如,对智能手表来说,休眠后再唤醒,休眠前打开的应用是不期望保留的,不需要恢复到休眠前的应用状态,只要能重新开启应用就行了。因此,这一步主要是将唤醒后不需要的应用终止掉。此时,被终止的应用对应的DDR SDRAM中的页面缓存、代码段、数据段都可以释放掉,从而减少在休眠模式中需要保存到非易失性存储器的内容。这些工作做完后,在休眠模式中真正需要保存到非易失性存储器中的内容也就确定了,再对其生成索引。
步骤S34:小系统根据索引读取DDR SDRAM中的内容。
步骤S35:小系统将索引及DDR SDRAM中的内容转储到非易失性存储器中。可选地,在步骤S34或步骤S35中,小系统先将索引及DDR SDRAM中的内容压缩和/或加密,在步骤S35中再将压缩和/或加密后的数据转储到非易失性存储器中。压缩、加密的执行主体可以是两个系统共用的处理器,或者是小系统的处理器,或者是专用于压缩和解压缩的硬件单元,或者是专用于加密和解密的硬件单元。
步骤S36:小系统关闭DDR SDRAM,即对DDR SDRAM下电。此时大系统进入休眠模式。
可替换地,所述步骤S32和步骤S33整体替换为步骤S32a。步骤S32a是将步骤S32和步骤S33记载的两次清理DDR SDRAM合并为一次清理DDR SDRAM。步骤S32a:大系统停止应用的运行,释放应用占据的DDR SDRAM的空间,然后关闭外设。大系统在DDR SDRAM中采用内存缩小技术进行清理,仅保留在休眠模式中需要保存到非易失性存储器中的内容,并生成对应的索引,将该索引转移给小系统。
如果双操作系统设备中的大系统和小系统共用一个硬件处理器,那么步骤S32a的末尾并不停止该处理器,该处理器在后续步骤将转而执行小系统的逻辑。
如果双操作系统设备中的大系统和小系统有各自的硬件处理器,那么步骤S32a的末尾,大系统发起小系统的调用指令,然后停止大系统的处理器。小系统的处理器在后续步骤会执行小系统的逻辑。
所述步骤S34或步骤S35中,如果将索引和/或DDR SDRAM中的内容加密,加密密钥或者保存在小系统的易失性存储器中(适用于小系统不关闭的情况,例如智能手表),或者利用小系统中的次级密钥对加密密钥再次加密后保存到小系统的非易失性存储器(适用于小系统完全下电的情况,例如手机、平板电脑)。次级密钥本身可以保存在小系统软件逻辑内部,也可以来自小系统的外设中(例如一次性密码OTP设备中)。在后面这种情况下,当小系统重新正常启动后,先从小系统中获得次级密钥,然后对非易失性存储器中保存的加密密钥进行解密,得到大系统转储内容的加密密钥后进入解密恢复流程。次级密钥提高了破解难度,提升了本申请的安全性。
某些大系统中包含安全环境和非安全环境。非安全环境(例如Linux)运行大多数的业务,运行在非安全内存区域。安全环境(例如TEE OS)是对非安全环境中的核心业务提供安全支撑(例如支付等),运行在安全内存区域。非安全环境无法访问安全内存区域。此时在步骤S32及步骤S33(或步骤S32a)中,非安全环境只能对非安全内存区域进行清理和索引。而小系统可以访问大系统的全部内存区域,包含非安全内存区域和安全内存区域。因此在步骤S34或步骤S35中还包括:小系统对大系统的安全内存区域进行清理,仅保留大系统的安全内存区域在休眠模式中需要保存到非易失性存储器中的内容,将这些内容直接、或压缩、或加密、或压缩且加密后转储到非易失性存储器中。优选地,大系统的安全内存区域清理后的内容应当进行加密。大系统的非安全内存区域清理后的内容及其索引可以加密,也可以不加密。大系统的安全内存区域清理后的内容、大系统的非安全内存区域清理后的内容及其索引如果都加密,两者可以使用不同的加密密钥。
可以发现,图3所示的双操作系统设备的快速休眠方法充分利用了大系统现有的进入睡眠模式的流程,易于与现有技术结合,方便实现。上述替换方案(即步骤S32a)则没有利用大系统现有的进入睡眠模式的流程,但是对DDR SDRAM的清理一步到位,更加快捷。
请参阅图4,本申请提出的双操作系统设备的快速唤醒方法包括如下步骤。
步骤S41:小系统初始化设备的DDR SDRAM。
步骤S42:小系统从非易失性存储器中读取数据。所读取的数据是索引、以及大系统进入休眠模式之前DDR SDRAM中的内容;或者是前面两者的压缩和/或加密后的数据。
步骤S43:小系统根据读取数据恢复DDR SDRAM的内容。如果步骤S42读取的数据是压缩和/或加密后的数据,这一步中,小系统先将读取的数据解压缩和/或解密,再根据解压缩和/或解密后的数据恢复DDR SDRAM的内容。解压缩、解密的执行主体可以是两个系统共用的处理器,或者是小系统的处理器,或者是专用于压缩和解压缩的硬件单元,或者是专用于加密和解密的硬件单元。
步骤S44:小系统唤醒处理器执行大系统逻辑,大系统功能恢复,例如执行从睡眠模式恢复的标准流程,重新恢复各个驱动和应用;随后大系统进入正常工作模式。
如果双操作系统设备中的大系统和小系统共用一个硬件处理器,那么步骤S44的开始是处理器从执行小系统逻辑转向执行大系统逻辑。大系统的标准睡眠唤醒流程是:将处理器从停机状态唤醒开始执行大系统逻辑;大系统功能恢复,例如进程调度等核心业务逻辑恢复。因此步骤S44可以视作为大系统的传统睡眠唤醒流程的模拟。模拟是指步骤S44中“处理器从执行小系统逻辑转向执行大系统逻辑”与传统睡眠唤醒流程中“处理器从停机状态唤醒开始执行大系统逻辑”基本相似。
如果双操作系统设备中的大系统和小系统有各自的硬件处理器,那么步骤S44的开始是将大系统的处理器从停机状态唤醒开始执行大系统逻辑。此时步骤S44就是大系统的传统睡眠模式唤醒流程。
如果所述步骤S34或步骤S35中选择加密,并且利用小系统中的次级密钥对加密密钥再次加密后保存到小系统的非易失性存储器。那么步骤S41还包括:小系统获得次级密钥,从非易失性存储器中读取由次级密钥加密后的加密密钥,解密后获得加密密钥。步骤S42或步骤S43还包括:小系统利用加密密钥解密所读取的数据。
如果所述步骤S34或步骤S35中还包括:小系统对大系统的安全内存区域进行清理,仅保留大系统的安全内存区域在休眠模式中需要保存到非易失性存储器中的内容,将这些内容直接、或压缩、或加密、或压缩且加密后转储到非易失性存储器中。那么步骤S43中,小系统将大系统处理的内容——大系统的非安全内存区域清理后的内容及其索引——恢复到非安全内存区域,小系统将小系统处理的内容——大系统的安全内存区域清理后的内容——恢复到安全内存区域。
下面是本申请的具体应用示例一。双操作系统设备是一个手机或者平板电脑,包含处理器、易失性存储器和非易失性存储器。易失性存储器又包括DDR SDRAM和SRAM(static random-access memory,静态随机存取存储器)。非易失性存储器例如是EMMC(embedded multi-media card,嵌入式多媒体卡)存储器。处理器仅有一个,访问DDR SDRAM和SRAM作为内部存储器,访问EMMC作为外部存储器。该设备具有一个大系统Linux和一个小系统SPL(secondary program loader,二级程序加载器)。小系统可以仅依靠SRAM执行,无需使用DDR SDRAM。
具体应用示例一中,大系统Linux中运行一个监测进程。当发现设备在指定的时间内没有活动,判定可以进入低功耗状态的时候,发起进入休眠模式的流程。首先,大系统Linux进入睡眠流程,通知各个驱动即将进入睡眠模式。在这个过程中,驱动程序会释放不必要的资源,例如页表缓存等。大系统Linux对DDR SDRAM中的内容根据传统进入睡眠模式的流程进行清理。随后,大系统Linux以休眠模式下是否需要保存到非易失性存储器为标准,采用内存缩小技术在DDR SDRAM中二次清理,建立索引,并向小系统SPL传递索引。大系统Linux的睡眠流程并没有执行完毕,在进行到停止处理器之前就停止了。然后,处理器切换给小系统SPL使用。小系统SPL被激活后,根据索引读取DDR SDRAM中的内容。然后小系统SPL调用压缩例程(routine,可以是软件实现或者是硬件实现),对索引及DDR SDRAM中的内容进一步压缩,以减少在EMMC中的空间占用。然后小系统SPL将压缩后的数据保存在EMMC上。此时DDR SDRAM中全部有效内容都被保存到EMMC中,小系统SPL控制DDR SDRAM下电,进入完全节电的大系统休眠模式。
当易失性存储器同时包括DDR SDRAM和SRAM时,从硬件结构上来说DDR SDRAM比SRAM更加耗电,同时DDR SDRAM的容量远大于SRAM,因此关闭DDR SDRAM可以达到可观的省电目的。而SRAM将被用于支持小系统的执行,因此不会掉电,除非大小系统同时停机。
具体应用示例一中,当有用户输入、或者收到网络信息(短信、电话)等外部事件需要唤醒大系统Linux时,大系统Linux就进入退出休眠模式的流程。小系统SPL响应外部事件,给DDR SDRAM上电,然后初始化DDR SDRAM。接着小系统SPL从EMMC读取保存的文件,先解压缩得到索引、以及大系统Linux进入休眠模式之前DDR SDRAM中的内容,再根据大系统Linux进入休眠模式之前DDR SDRAM中的内容恢复到DDR SDRAM的原始位置(即保存时的位置)。DDR SDRAM中的数据完全恢复后,小系统SPL向大系统Linux切换,小系统SPL放弃对处理器控制权,处理器跳转到在DDR SDRAM中的大系统Linux的代码段。大系统Linux重新执行后,执行从睡眠模式恢复的标准流程,重新恢复各个驱动和应用,并在恢复到正常工作模式后,完成外部事件的响应。
下面是本申请的具体应用示例二。双操作系统设备是一个智能手表,包含两个处理器、易失性存储器和非易失性存储器。易失性存储器又包括一个共享DDR SDRAM、一个独占DDR SDRAM。非易失性存储器又包括NAND Flash(与非门闪存)、NOR Flash(或非门闪存)。两个处理器均可访问共享DDR SDRAM作为内部存储器,均可访问NAND Flash和NOR Flash作为外部存储器。小系统处理器还可访问独占DDR SDRAM作为内部存储器。该设备具有一个大系统Linux和一个小系统RTOS(real-time operating system,实时操作系统)。大系统Linux利用共享DDR SDRAM执行,小系统RTOS可以仅依靠独占DDR SDRAM执行。
具体应用示例二中,大系统Linux中运行一个监测进程。当发现设备在指定的时间内没有活动,判定可以进入低功耗状态的时候,发起进入休眠模式的流程。或者,运行在大系统Linux中的应用业务主动要求迁移至小系统RTOS上,从而主动触发进入休眠模式的流程。首先,大系统Linux进入睡眠流程,通知各个驱动即将进入睡眠。在这个过程中,驱动程序会释放不必要的资源,例如页表缓存等。大系统Linux对共享DDR SDRAM中的内容根据传统进入睡眠模式的流程进行清理。随后,大系统Linux以休眠模式下是否需要保存到非易失性存储器为标准,采用内存缩小技术在共享DDR SDRAM中二次清理,建立索引。然后,大系统处理器通知并唤醒小系统处理器继续执行并传递索引,然后停止大系统处理器,大系统Linux的睡眠流程完整地执行完毕。然后,切换到小系统RTOS,小系统RTOS被激活,读取共享DDR SDRAM中的索引,确定大系统Linux进入休眠模式之前共享DDR SDRAM中的内容。然后小系统RTOS调用压缩例程(可以是软件实现或者是硬件实现),对索引及大系统Linux进入休眠模式之前共享DDR SDRAM中的内容进一步压缩,以减少在外部存储器中的空间占用,然后将压缩后的数据保存在外部存储器上。此时,共享DDR SDRAM中的全部有效内容都被保存到外部存储器中,小提供RTOS控制共享DDR SDRAM下电,大系统Linux进入完全节电的休眠模式。
具体应用示例二中,当有用户输入、或者小系统RTOS要求切换到大系统Linux执行业务等外部事件需要唤醒大系统Linux时,大系统Linux进入退出休眠模式的流程。小系统RTOS响应外部事件后(或者是小系统RTOS主动发起退出大系统Linux休眠模式的流程后),给共享DDR SDRAM上电,然后初始化共享DDR SDRAM。接着小系统RTOS从外部存储器读取保存的文件,先解压缩得到索引、以及大系统Linux进入休眠模式之前共享DDR SDRAM中的内容,再根据大系统Linux进入休眠模式之前共享DDR SDRAM中的内容恢复到共享DDR SDRAM的原始位置(即保存时的位置)。共享DDR SDRAM中的数据完全恢复后,小系统RTOS进一步唤醒大系统的处理器并切换到大系统Linux开始运行。大系统Linux重新执行后,大系统处理器执行从睡眠模式恢复的标准流程,重新恢复各个驱动和应用,并在恢复到正常工作模式后,完成外部事件的响应。
请参阅图5,本申请提出的双操作系统设备的实施例一包括接收单元31、睡眠清理单元32、二次清理单元33、索引读取单元34、转储单元35和下电单元36,对应于图3所示的快速休眠方法。
所述接收单元31用于接收大系统进入休眠模式的指令。
所述睡眠清理单元32用于使大系统停止应用的运行,释放应用占据的DDR SDRAM的空间,关闭外设,仅保留大系统的核心业务。
所述二次清理单元33用于使大系统在DDR SDRAM中采用内存缩小技术进行二次清理,仅保留在休眠模式中需要保存到非易失性存储器中的内容,并生成对应的索引,将该索引转移给小系统。
所述索引读取单元34用于使小系统根据索引读取DDR SDRAM中的内容。
所述转储单元35用于使小系统将索引及DDR SDRAM中的内容直接、或压缩后、或加密后、或压缩且加密后转储到非易失性存储器中。
所述下电单元36用于使小系统关闭DDR SDRAM,即对DDR SDRAM下电。
可替换地,所述睡眠清理单元32和二次清理单元33整体替换为清理单元32a。所述清理单元32a用于使大系统停止应用的运行,释放应用占据的DDR SDRAM的空间,然后关闭外设;并使大系统在DDR SDRAM中采用内存缩小技术进行清理,仅保留在休眠模式中需要保存到非易失性存储器中的内容,并生成对应的索引,将该索引转移给小系统。
优选地,接收单元31、睡眠清理单元32、二次清理单元33在大系统中实现,索引读取单元34、转储单元35和下电单元36在小系统中实现。
请参阅图6,本申请提出的双操作系统设备的实施例二包括初始化单元41、外存读取单元42、恢复单元43和唤醒单元44,对应于图4所示的快速唤醒方法。
所述初始化单元41用于使小系统初始化设备的DDR SDRAM。
所述外存读取单元42用于使小系统从非易失性存储器中读取数据。
所述恢复单元43用于使小系统根据读取数据、或解压缩后的读取数据、或解密后的读取数据、或解压缩且解密后的读取数据恢复DDR SDRAM的内容。
所述唤醒单元44用于使小系统唤醒处理器执行大系统逻辑,大系统功能恢复;随后大系统进入正常工作模式。
优选地,所述初始化单元41、外存读取单元42、恢复单元43和唤醒单元44均在小系统中实现。
本申请利用双操作系统设备中的小系统来协助完成大系统进入和退出休眠模式的流程。与现有的双操作系统设备中的大系统进入和退出休眠模式的流程相比,或者与现有的单操作系统设备中的系统进入和退出休眠模式的流程相比,本申请具有如下有益效果。
第一,现有技术中,大小系统完全独立,因此小系统无法协助大系统的休眠工作。传统的大系统(例如为Linux)进入休眠模式的过程中,因为大系统本来就是在非易失性存储器(例如为DDR SDRAM)上运行,转储逻辑也是在大系统中完成,即转储过程中大系统还在工作,大系统无法做到整个系统只有转储逻辑在运行,其他逻辑都停止。因此原本大系统占据的DDR SDRAM内容可能被大系统中其他的逻辑修改,因此无法做到原位转储,必须在DDRSDRAM中先建立一份只有转储逻辑会访问的休眠镜像文件,然后把休眠镜像文件保存到非易失性存储器中。
本申请中,由小系统参与并协助大系统的休眠过程,提高大系统进入和退出休眠模式的效率。本申请进入休眠模式的过程中,转储逻辑不是大系统的一部分,也不运行在大系统使用的DDR SDRAM上(或者运行在SRAM上,或者运行在小系统独占的DDR SDRAM上),因此可以利用大系统自带的睡眠机制停止大系统的全部逻辑。大系统进入睡眠模式之后,大系统的内容依然保存在大系统使用的DDR SDRAM上,但是不再有活动的逻辑,因此这部分DDR SDRAM的内容不再改变。于是,小系统的独立转储逻辑可以直接将大系统使用的DDRSDRAM中的内容保存到外部存储器,省略了生成休眠镜像文件的步骤,也不受“至少有一半物理DDR SDRAM空闲”的限制,减少了大系统进入休眠模式的时间,也扩展了适用场景。
第二,现有技术中,大系统退出休眠模式是由大系统自身完成的,因此必须等到大系统完成基本的初始化后,才能从外存储器读回保存的内容,然后恢复DDR SDRAM的数据,再重新切换大系统的状态,从休眠模式中恢复。现有技术在大系统退出休眠模式的做法是,先正常启动大系统,启动完大系统后,执行退出休眠模式的逻辑,将大系统的状态切换成转储前的状态。
本申请通过小系统的协助,跳过了大系统初始化的流程,同时大系统只要利用现有的睡眠退出流程就可以实现从休眠模式退出。大系统(例如Linux)中,每个驱动在大系统正常上电启动的时候需要执行一次初始化操作,此操作只需要进行一次,例如寄存器地址的映射、页表的建立、中断号的配置等。在大系统从睡眠模式退出的时候,这些信息本来就保存在DDR SDRAM中,因此不需要重新初始化。本申请在大系统退出休眠模式的做法是,在加载执行大系统的镜像文件之前,不需要预先加载运行很多前序的bootloader镜像文件,只需要从外部存储器中读取原本DDR SDRAM中的内容并恢复成转储前的状态,各个驱动的初始化操作的信息就保存在DDR SDRAM中,因此不需要重新初始化,从而减少了大系统退出休眠模式的时间。
第三,实验表明,本申请使大系统进入和退出休眠模式所耗费的时间与现有技术相比,大约可以节约2/3的时间。现有技术如果需要花10秒钟才能使大系统进入休眠模式并唤醒,本申请只需要3.3秒。
本申请引入了快速休眠和快速唤醒的机制,将传统休眠和唤醒的所需要的时间进一步压缩到用户可以接受的范围内,可以在嵌入式系统,特别是智能手表中,通过修改运行在大系统上的休眠设计,使得大系统在不被使用的时候,可以完全关闭,最大程度上节约了功耗,且用户体验不受影响。
以上仅为本申请的优选实施例,并不用于限定本申请。对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (15)
1.一种双操作系统设备的快速休眠方法,所述双操作系统设备中,高性能高功耗的操作系统一称为大系统,低性能低功耗的操作系统二称为小系统;其特征是,所述快速休眠方法包括如下步骤;
步骤S31:大系统收到进入休眠模式的指令;
步骤S32:大系统停止应用的运行,释放应用占据的易失性存储器的空间,关闭外设,仅保留大系统的核心业务;
步骤S33:大系统在所述易失性存储器中采用内存缩小技术进行二次清理,仅保留在休眠模式中需要保存到非易失性存储器中的内容,并生成对应的索引,将该索引转移给小系统;
步骤S34:小系统根据索引读取所述易失性存储器中的内容;
步骤S35:小系统将索引及所述易失性存储器中的内容直接、或压缩后、或加密后、或压缩且加密后转储到非易失性存储器中;
步骤S36:小系统关闭所述易失性存储器,大系统进入休眠模式。
2.根据权利要求1所述的双操作系统设备的快速休眠方法,其特征是,所述步骤S31中,所述指令包括大系统根据特定条件自行触发的指令。
3.根据权利要求1所述的双操作系统设备的快速休眠方法,其特征是,如果双操作系统设备中的大系统和小系统共用一个硬件处理器,那么步骤S32的末尾并不停止该处理器;该处理器在后续步骤将转而执行小系统的逻辑;
如果双操作系统设备中的大系统和小系统有各自的硬件处理器,那么步骤S32的末尾,大系统发起小系统的调用指令,然后停止大系统的处理器;小系统的处理器在后续步骤执行小系统的逻辑。
4.根据权利要求1所述的双操作系统设备的快速休眠方法,其特征是,所述步骤S33中,所述二次清理是指将进入睡眠模式的过程中需要在所述易失性存储器中保留、但是在进入休眠模式的过程中不需要在所述易失性存储器中保留的内容清理掉。
5.根据权利要求1所述的双操作系统设备的快速休眠方法,其特征是,所述步骤S32和步骤S33整体替换为步骤S32a;步骤S32a:大系统停止应用的运行,释放应用占据的易失性存储器的空间,然后关闭外设;大系统在所述易失性存储器中采用内存缩小技术进行清理,仅保留在休眠模式中需要保存到非易失性存储器中的内容,并生成对应的索引,将该索引转移给小系统。
6.根据权利要求5所述的双操作系统设备的快速休眠方法,其特征是,如果双操作系统设备中的大系统和小系统共用一个硬件处理器,那么步骤S32a的末尾并不停止该处理器,该处理器在后续步骤将转而执行小系统的逻辑;
如果双操作系统设备中的大系统和小系统有各自的硬件处理器,那么步骤S32a的末尾,大系统发起小系统的调用指令,然后停止大系统的处理器;小系统的处理器在后续步骤执行小系统的逻辑。
7. 根据权利要求1所述的双操作系统设备的快速休眠方法,其特征是,所述步骤S34或步骤S35中,如果将索引和/或DDR SDRAM中的内容加密,加密密钥或者保存在小系统的易失性存储器中,或者利用小系统中的次级密钥对加密密钥再次加密后保存到小系统的非易失性存储器中。
8.根据权利要求1或5所述的双操作系统设备的快速休眠方法,其特征是,如果大系统中包含安全环境和非安全环境,内存分为安全内存区域和非安全内存区域;在步骤S32及步骤S33中、或在步骤S32a中,非安全环境仅对非安全内存区域进行清理和索引;所述步骤S34或步骤S35中还包括:小系统对大系统的安全内存区域进行清理,仅保留大系统的安全内存区域在休眠模式中需要保存到非易失性存储器中的内容,将这些内容直接、或压缩、或加密、或压缩且加密后转储到非易失性存储器中。
9.一种双操作系统设备的快速唤醒方法,所述双操作系统设备中,高性能高功耗的操作系统一称为大系统,低性能低功耗的操作系统二称为小系统;所述双操作系统设备是采用权利要求1至7中任一项所述快速休眠方法使大系统进入休眠模式的;其特征是,所述快速唤醒方法包括如下步骤;
步骤S41:小系统初始化设备的易失性存储器;
步骤S42:小系统从非易失性存储器中读取数据;
步骤S43:小系统根据读取数据、或解压缩后的读取数据、或解密后的读取数据、或解压缩且解密后的读取数据恢复所述易失性存储器的内容;
步骤S44:小系统唤醒处理器执行大系统逻辑,大系统功能恢复;随后大系统进入正常工作模式。
10.根据权利要求9所述的双操作系统设备的快速唤醒方法,其特征是,如果双操作系统设备中的大系统和小系统共用一个硬件处理器,那么步骤S44的开始是处理器从执行小系统逻辑转向执行大系统逻辑;
如果双操作系统设备中的大系统和小系统有各自的硬件处理器,那么步骤S44的开始是将大系统的处理器从停机状态唤醒开始执行大系统逻辑。
11.根据权利要求9所述的双操作系统设备的快速唤醒方法,其特征是,如果所述步骤S34或步骤S35中选择加密,并且利用小系统中的次级密钥对加密密钥再次加密后保存到小系统的非易失性存储器;那么步骤S41还包括:小系统获得次级密钥,从非易失性存储器中读取由次级密钥加密后的加密密钥,解密后获得加密密钥;步骤S42或步骤S43还包括:小系统利用加密密钥解密所读取的数据。
12.根据权利要求9所述的双操作系统设备的快速唤醒方法,其特征是,如果所述步骤S34或步骤S35中还包括:小系统对大系统的安全内存区域进行清理,仅保留大系统的安全内存区域在休眠模式中需要保存到非易失性存储器中的内容,将这些内容直接、或压缩、或加密、或压缩且加密后转储到非易失性存储器中;那么步骤S43中,小系统将大系统的非安全内存区域清理后的内容及其索引恢复到非安全内存区域,小系统将大系统的安全内存区域清理后的内容恢复到安全内存区域。
13.一种实现快速休眠的双操作系统设备,高性能高功耗的操作系统一称为大系统,低性能低功耗的操作系统二称为小系统;其特征是,包括接收单元、睡眠清理单元、二次清理单元、索引读取单元、转储单元和下电单元;
所述接收单元用于接收大系统进入休眠模式的指令;
所述睡眠清理单元用于使大系统停止应用的运行,释放应用占据的易失性存储器的空间,关闭外设,仅保留大系统的核心业务;
所述二次清理单元用于使大系统在所述易失性存储器中采用内存缩小技术进行二次清理,仅保留在休眠模式中需要保存到非易失性存储器中的内容,并生成对应的索引,将该索引转移给小系统;
所述索引读取单元用于使小系统根据索引读取所述易失性存储器中的内容;
所述转储单元用于使小系统将索引及所述易失性存储器中的内容直接、或压缩后、或加密后、或压缩且加密后转储到非易失性存储器中;
所述下电单元用于使小系统关闭所述易失性存储器,大系统进入休眠模式。
14.根据权利要求13所述的实现快速休眠的双操作系统设备,其特征是,所述睡眠清理单元和二次清理单元整体替换为清理单元;所述清理单元用于使大系统停止应用的运行,释放应用占据的易失性存储器的空间,然后关闭外设;并使大系统在所述易失性存储器中采用内存缩小技术进行清理,仅保留在休眠模式中需要保存到非易失性存储器中的内容,并生成对应的索引,将该索引转移给小系统。
15.一种实现快速唤醒的双操作系统设备,高性能高功耗的操作系统一称为大系统,低性能低功耗的操作系统二称为小系统;其特征是,包括初始化单元、外存读取单元、恢复单元和唤醒单元;
所述初始化单元用于使小系统初始化设备的易失性存储器;
所述外存读取单元用于使小系统从非易失性存储器中读取数据;
所述恢复单元用于使小系统根据读取数据、或解压缩后的读取数据、或解密后的读取数据、或解压缩且解密后的读取数据恢复所述易失性存储器的内容;
所述唤醒单元用于使小系统唤醒处理器执行大系统逻辑,大系统功能恢复;随后大系统进入正常工作模式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110532410.0A CN113467841B (zh) | 2021-05-17 | 一种双操作系统设备及其快速休眠及唤醒的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110532410.0A CN113467841B (zh) | 2021-05-17 | 一种双操作系统设备及其快速休眠及唤醒的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113467841A true CN113467841A (zh) | 2021-10-01 |
CN113467841B CN113467841B (zh) | 2024-06-11 |
Family
ID=
Citations (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1317744A (zh) * | 2001-05-30 | 2001-10-17 | 深圳市朗科科技有限公司 | 一种半导体存储装置 |
CN1530796A (zh) * | 2003-03-12 | 2004-09-22 | 联想(北京)有限公司 | 一种加快操作系统的引导方法 |
US20080082752A1 (en) * | 2006-09-29 | 2008-04-03 | Ram Chary | Method and apparatus for saving power for a computing system by providing instant-on resuming from a hibernation state |
US20080162918A1 (en) * | 2007-01-02 | 2008-07-03 | Nokia Corporation | Hide boot |
CN101788913A (zh) * | 2009-01-23 | 2010-07-28 | 余俊德 | 具有双操作装置的计算机系统及其监控方法 |
GB201205578D0 (en) * | 2011-03-29 | 2012-05-16 | Becrypt Ltd | Dual environment computing system and method and system for providing a dual environment computing system |
CN102779072A (zh) * | 2012-06-18 | 2012-11-14 | 中国科学院上海微系统与信息技术研究所 | 一种嵌入式系统及其应用进程的休眠与唤醒方法 |
CN102830791A (zh) * | 2007-12-26 | 2012-12-19 | 英特尔公司 | 用于不依赖于操作系统的服务的方法和装置 |
CN102841674A (zh) * | 2012-07-25 | 2012-12-26 | 中国科学院上海微系统与信息技术研究所 | 基于新型存储器的嵌入式系统及其进程的休眠与唤醒方法 |
CN103108385A (zh) * | 2011-11-09 | 2013-05-15 | 上海无线通信研究中心 | 控制网络区域内的网络节点的方法及系统 |
CN103218031A (zh) * | 2012-01-20 | 2013-07-24 | 宏碁股份有限公司 | 电子装置以及休眠方法 |
US9069776B1 (en) * | 2013-03-15 | 2015-06-30 | Google Inc. | Serving encrypted and plain data from a low latency non-volatile memory |
CN106357880A (zh) * | 2016-07-19 | 2017-01-25 | 努比亚技术有限公司 | 一种双屏移动终端及其系统控制方法 |
US20170147363A1 (en) * | 2015-11-19 | 2017-05-25 | Freescale Semiconductor, Inc. | System and method for reducing hibernate and resume time |
CN107148622A (zh) * | 2014-09-23 | 2017-09-08 | 甲骨文国际公司 | 智能闪存高速缓存记录器 |
CN107491160A (zh) * | 2017-06-22 | 2017-12-19 | 深圳天珑无线科技有限公司 | 一种双操作系统的使用方法、存储设备及智能终端 |
CN108572884A (zh) * | 2017-03-09 | 2018-09-25 | 西安优庆商贸有限公司 | 一种恢复系统的方法及装置 |
CN109491614A (zh) * | 2018-11-13 | 2019-03-19 | 郑州云海信息技术有限公司 | 基于非易失性内存储器的快速休眠和唤醒的方法与装置 |
CN111124517A (zh) * | 2019-12-23 | 2020-05-08 | 湖南国科微电子股份有限公司 | 嵌入式芯片引导启动方法、装置、计算机设备和存储介质 |
CN112148208A (zh) * | 2019-06-28 | 2020-12-29 | 爱思开海力士有限公司 | 在休眠模式下传送存储器系统的内部数据的设备和方法 |
CN112346789A (zh) * | 2020-11-06 | 2021-02-09 | 中国电子信息产业集团有限公司 | 双系统休眠及唤醒方法、装置、设备及存储介质 |
Patent Citations (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1317744A (zh) * | 2001-05-30 | 2001-10-17 | 深圳市朗科科技有限公司 | 一种半导体存储装置 |
CN1530796A (zh) * | 2003-03-12 | 2004-09-22 | 联想(北京)有限公司 | 一种加快操作系统的引导方法 |
US20080082752A1 (en) * | 2006-09-29 | 2008-04-03 | Ram Chary | Method and apparatus for saving power for a computing system by providing instant-on resuming from a hibernation state |
US20080162918A1 (en) * | 2007-01-02 | 2008-07-03 | Nokia Corporation | Hide boot |
CN102830791A (zh) * | 2007-12-26 | 2012-12-19 | 英特尔公司 | 用于不依赖于操作系统的服务的方法和装置 |
CN101788913A (zh) * | 2009-01-23 | 2010-07-28 | 余俊德 | 具有双操作装置的计算机系统及其监控方法 |
GB201205578D0 (en) * | 2011-03-29 | 2012-05-16 | Becrypt Ltd | Dual environment computing system and method and system for providing a dual environment computing system |
CN103108385A (zh) * | 2011-11-09 | 2013-05-15 | 上海无线通信研究中心 | 控制网络区域内的网络节点的方法及系统 |
CN103218031A (zh) * | 2012-01-20 | 2013-07-24 | 宏碁股份有限公司 | 电子装置以及休眠方法 |
CN102779072A (zh) * | 2012-06-18 | 2012-11-14 | 中国科学院上海微系统与信息技术研究所 | 一种嵌入式系统及其应用进程的休眠与唤醒方法 |
CN102841674A (zh) * | 2012-07-25 | 2012-12-26 | 中国科学院上海微系统与信息技术研究所 | 基于新型存储器的嵌入式系统及其进程的休眠与唤醒方法 |
US9069776B1 (en) * | 2013-03-15 | 2015-06-30 | Google Inc. | Serving encrypted and plain data from a low latency non-volatile memory |
CN107148622A (zh) * | 2014-09-23 | 2017-09-08 | 甲骨文国际公司 | 智能闪存高速缓存记录器 |
US20170147363A1 (en) * | 2015-11-19 | 2017-05-25 | Freescale Semiconductor, Inc. | System and method for reducing hibernate and resume time |
CN106775609A (zh) * | 2015-11-19 | 2017-05-31 | 飞思卡尔半导体公司 | 用于减少休眠及恢复时间的系统及方法 |
CN106357880A (zh) * | 2016-07-19 | 2017-01-25 | 努比亚技术有限公司 | 一种双屏移动终端及其系统控制方法 |
CN108572884A (zh) * | 2017-03-09 | 2018-09-25 | 西安优庆商贸有限公司 | 一种恢复系统的方法及装置 |
CN107491160A (zh) * | 2017-06-22 | 2017-12-19 | 深圳天珑无线科技有限公司 | 一种双操作系统的使用方法、存储设备及智能终端 |
CN109491614A (zh) * | 2018-11-13 | 2019-03-19 | 郑州云海信息技术有限公司 | 基于非易失性内存储器的快速休眠和唤醒的方法与装置 |
CN112148208A (zh) * | 2019-06-28 | 2020-12-29 | 爱思开海力士有限公司 | 在休眠模式下传送存储器系统的内部数据的设备和方法 |
CN111124517A (zh) * | 2019-12-23 | 2020-05-08 | 湖南国科微电子股份有限公司 | 嵌入式芯片引导启动方法、装置、计算机设备和存储介质 |
CN112346789A (zh) * | 2020-11-06 | 2021-02-09 | 中国电子信息产业集团有限公司 | 双系统休眠及唤醒方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10775875B2 (en) | Devices and methods for switching and communication among multiple operating systems and application management methods thereof | |
US7730330B1 (en) | System and method for saving and restoring a processor state without executing any instructions from a first instruction set | |
JP2011521365A (ja) | 電力消費低減のためのスリープ状態を提供する補助メモリ制御器を有する集積回路及びそのための方法 | |
US9894605B2 (en) | Low-power wearable devices and methods for switching and communication among multiple operating systems and application management methods thereof | |
US7971081B2 (en) | System and method for fast platform hibernate and resume | |
KR0172003B1 (ko) | 컴퓨터 시스템 및 그 제어방법 | |
JP5410109B2 (ja) | 電力制御システム及び電力制御方法 | |
US7519808B2 (en) | Method and apparatus for quickly reanimating devices from hibernation | |
US6243831B1 (en) | Computer system with power loss protection mechanism | |
US9152205B2 (en) | Mechanism for facilitating faster suspend/resume operations in computing systems | |
US7325100B2 (en) | Apparatus and method for entering and exiting low power mode | |
KR101429674B1 (ko) | 시스템 온 칩에서 전력 소모를 감소시키기 위한 장치 및방법 | |
US7900074B2 (en) | Method and apparatus for quickly reanimating devices from hibernation | |
US8984316B2 (en) | Fast platform hibernation and resumption of computing systems providing secure storage of context data | |
US20030070065A1 (en) | Suspending to nonvolatile storage | |
WO2013048523A1 (en) | Fast platform hibernation and resumption for computing systems | |
TW201011525A (en) | Method and controller for power management | |
KR101936765B1 (ko) | 전자 장치, 마이크로 컨트롤러 및 그 제어 방법 | |
WO2020093868A1 (zh) | 多核芯片、系统,及其方法和存储介质 | |
TWI485623B (zh) | 快速喚醒電腦系統方法與電腦系統 | |
WO2014176893A1 (zh) | 移动终端的关机方法及装置 | |
US20120311312A1 (en) | Fast Boot Via State Recreation | |
JP2003085041A (ja) | ディスクキャッシュシステム | |
CN113467841B (zh) | 一种双操作系统设备及其快速休眠及唤醒的方法 | |
CN113467841A (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 | ||
GR01 | Patent grant |