System-on-chips and electronic devices including same
US-2017185781-A1 · Jun 29, 2017 · US
US10783252B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10783252-B2 |
| Application number | US-201816107956-A |
| Country | US |
| Kind code | B2 |
| Filing date | Aug 21, 2018 |
| Priority date | Aug 23, 2017 |
| Publication date | Sep 22, 2020 |
| Grant date | Sep 22, 2020 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
System and methods for booting a system-on-chip (SOC) in an enhanced memory mode are described herein. In one aspect, an enhanced memory mode indicator may be read to create a trusted channel to a non-volatile random-access memory (NVRAM). The NVRAM may be logically connected to the SOC. In an aspect, the NVRAM may be secured prior to the creation of the trusted channel. Once the secure channel to NVRAM has been created, the SOC may operate in an enhanced memory mode. Prior to the SOC powering down, the system may store an indicator operable to enable a subsequent boot of the SOC in the power saving mode. The SOC may be operable to switch between the power saving mode and a normal mode depending on the operational requirements of the portable computing device in which the SOC is implemented.
Opening claim text (preview).
What is claimed is: 1. A method of operating a computing device, comprising: determining an expense metric value based on a combination of a size value, a power consumption value, and a boot time value; determining whether a software application program is a candidate for an enhanced memory mode based on the expense metric value; in response to determining that the software application program is a candidate for the enhanced memory mode: loading the software application program into non-volatile random-access memory (NVRAM); and setting an enhanced memory mode indicator operable to enable a subsequent boot of the computing device in the enhanced memory mode; determining whether the enhanced memory mode indicator is set after rebooting the computing device; and operating the computing device in the enhanced memory mode by commencing execution of the software application program from the NVRAM in response to determining that the enhanced memory mode indicator is set. 2. The method of claim 1 , further comprising: loading the software application program into volatile memory in response to determining that the software application program is not a candidate for the enhanced memory mode; and commencing execution of the software application program from the volatile memory in response to determining that the enhanced memory mode indicator is not set. 3. The method of claim 1 , wherein determining whether the software application program is a candidate for the enhanced memory mode based on the expense metric value further comprises: evaluating the software application program to generate evaluation results; determining whether the software application program would benefit from rapid bootup, rapid state-changes, low-power device operation, or high-speed code execution based on the evaluation results; and determining that the software application program is a candidate for the enhanced memory mode in response to determining that the software application program would benefit from rapid bootup, rapid state-changes, low-power device operation, or high-speed code execution. 4. The method of claim 1 , wherein determining whether the software application program is a candidate for the enhanced memory mode based on the expense metric value further comprises: determining the size value for the software application program; determining the power consumption value for the software application program; determining the boot time value for the software application program; determining whether the expense metric value exceeds a threshold value; determining that the software application program is not a candidate for the enhanced memory mode in response to determining that the expense metric value exceeds the threshold value; and determining that the software application program is a candidate for the enhanced memory mode in response to determining that the expense metric value does not exceed the threshold value. 5. The method of claim 1 , further comprising: identifying a plurality of candidate software application programs; categorizing each of identified software application programs into one or more categories; determining a worthiness value for each of the identified software application programs based on the one or more categories associated with each identified software application program; and inserting one or more of the identified software application programs into a list of candidate software application programs based on their respective worthiness values, wherein determining whether the software application program is a candidate for the enhanced memory mode based on the expense metric value further comprises determining whether the software application program is a candidate for operating in the enhanced memory mode based on information included in the list of candidate software application programs. 6. The method of claim 5 , wherein inserting one or more of the identified software application programs into the list of candidate software application programs based on their respective worthiness values comprises inserting the identified software application programs into an ordered list of candidate software application programs that organizes the identified software application programs based on their associated worthiness values. 7. The method of claim 5 , wherein inserting one or more of the identified software application programs into the list of candidate software application programs based on their respective worthiness values comprises: determining whether the worthiness value associated with an identified software application program exceeds a threshold value; and inserting the identified software application program into the list of candidate software application programs in response to determining that the worthiness value associated with the identified software application program exceeds the threshold value; and wherein determining whether the software application program is a candidate for operating in the enhanced memory mode based on information included in the list of candidate software application programs comprises determining whether the software application program is included in the list of candidate software application programs. 8. The method of claim 1 , wherein setting the enhanced memory mode indicator operable to enable the subsequent boot of the computing device in the enhanced memory mode comprises storing a flag in a non-volatile memory. 9. The method of claim 1 , wherein setting the enhanced memory mode indicator operable to enable the subsequent boot of the computing device in the enhanced memory mode comprises setting one of: a low power mode indicator; a rapid boot time mode indicator; a rapid state-transition mode indicator; or a high-speed execution mode indicator. 10. The method of claim 1 , wherein determining whether the enhanced memory mode indicator is set after rebooting the computing device comprises executing a trusted boot program to securely determine a presence of the enhanced memory mode indicator. 11. The method of claim 1 , further comprising: sending the enhanced memory mode indicator to a system-on-chip of the computing device from a component external to the system-on-chip. 12. The method of claim 1 , further comprising: receiving an exception indicating that the computing device should exit the enhanced memory mode; and operating the computing device in a non-enhanced memory mode in response to receiving the exception. 13. The method of claim 1 , wherein loading the software application program into the NVRAM comprises: loading a software image from a storage memory into the NVRAM, the software image being configured to execute within the NVRAM. 14. The method of claim 1 , further comprising partitioning the software application program into a plurality of software images, wherein loading the software application program into the NVRAM comprises loading a subset of the plurality of software images into the NVRAM. 15. The method of claim 14 , further comprising identifying a software image in the plurality of software images that would benefit most from improvements associated with execution in NVRAM, wherein loading the subset of the plurality of software images into the NVRAM comprises loading the identified software image into the NVRAM. 16. A computing device, comprising: a non-volatile random-access memory (NVRAM); and a processor coupled to the NVRAM, wherein the processor is configured with processor-executable instructions to perform operations comprising: determining an expense metric v
Code layout in executable memory · CPC title
Preparing or optimising for loading · CPC title
Execute-in-place [XIP] · CPC title
Suspend and resume; Hibernate and awake · CPC title
Processor initialisation · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.