Patent ID: 8713241

Claim:
A method of reducing power consumption in a portable computing device, comprising: upon powering up the portable computing device, executing an execute-in-place boot kernel in a low power memory of the portable computing device which causes a processor of the portable computing device to load a full code instantiation in a dynamic random access memory (DRAM) of the portable computing device, wherein the full code instantiation provides a user interface and at least one application, and wherein the low power memory is a byte-addressable non-volatile memory; subsequent to executing the boot kernel, executing code by the processor of the portable computing device from the full code instantiation in the DRAM; the processor maintaining state and context information produced while executing code of the full code instantiation in the DRAM; maintaining a reduced code instantiation in the low power memory while executing the full code instantiation, the reduced code instantiation containing a subset of the code in the full code instantiation; the processor detecting a low power opportunity condition; the processor switching execution from the DRAM to the reduced code instantiation by the processor, including copying state and context information from the DRAM into an alternate memory and using the state and context information to execute the reduced code instantiation to maintain continuity of execution of the user interface and the at least one application, performed in response to detecting the low power opportunity condition; and upon switching, the processor powering off the DRAM and continuing to operate the portable computing device by executing the reduced code instantiation.