WO2014018064A1 - Implementing a power off state in a computing device - Google Patents

Implementing a power off state in a computing device Download PDF

Info

Publication number
WO2014018064A1
WO2014018064A1 PCT/US2012/048686 US2012048686W WO2014018064A1 WO 2014018064 A1 WO2014018064 A1 WO 2014018064A1 US 2012048686 W US2012048686 W US 2012048686W WO 2014018064 A1 WO2014018064 A1 WO 2014018064A1
Authority
WO
WIPO (PCT)
Prior art keywords
computing device
power
sleep
state
command
Prior art date
Application number
PCT/US2012/048686
Other languages
French (fr)
Inventor
Louis B Hobson
Original Assignee
Hewlett-Packard Development Company, L.P.
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 Company, L.P. filed Critical Hewlett-Packard Development Company, L.P.
Priority to CN201280068495.0A priority Critical patent/CN104081314A/en
Priority to US14/375,831 priority patent/US9619015B2/en
Priority to JP2015501657A priority patent/JP5885881B2/en
Priority to EP12881664.2A priority patent/EP2791758B1/en
Priority to PCT/US2012/048686 priority patent/WO2014018064A1/en
Priority to TW102126114A priority patent/TWI567541B/en
Publication of WO2014018064A1 publication Critical patent/WO2014018064A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3246Power saving characterised by the action undertaken by software initiated power-off
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • 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
    • 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/442Shutdown
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)

Abstract

Example embodiments disclosed herein relate to implementing a power down state in a computing device. A sleep command is issued to place a computing device in a sleep state in response to receipt of a power off command at the computing device. Content of memory of the computing device is written to non-volatile storage of the computing device and the computing device is placed in a power off state.

Description

IMPLEMENTING A POWER OFF STATE IN A COMPUTING DEVICE BACKGROUND
[0001] Advances in technology have resulted in smaller and more powerful computing devices such a personal computer, laptop computer, mobile phone, and tablet computers. Battery life and power consumption have become important factors to consider as the computing devices get smaller in size and more powerful in computing capabilities, without sacrificing responsiveness of the computing device during wake up. Generally, the more components of the computing device that are not powered, the more power may be conserved and battery life of the computing device may be extended. The computing device can enter a sleep mode or a power off mode to reduce power consumption. For example, a user can instruct the computing device to enter a sleep, standby, or hibernation mode. Further, the user can select a shutdown command power and in response components of the computing device are powered off. BRIEF DESCRIPTION OF THE DRAWINGS
[0002] The following detailed description references the drawings, wherein: [0003] FIG. 1 is a block diagram of an example implementation of a computing device including a controller for implementing a power off state; [0004] FIG. 2 is a block diagram of another example implementation of a computing device including a controller for implementing a power off state; [0005] FIG. 3 is a flowchart of an example implementation of a power off state in a computing device; [0006] FIG. 4 is a flowchart of another example implementation of a power off state in a computing device; and [0007] FIG. 5 is a block diagram of example implementation a computing device including a machine-readable storage medium encoded with instructions for implementing a power off state. DETAILED DESCRIPTION
[0008] A computing device may conserve power and energy consumption by operating in one or more low-power modes (e.g., sleep states), as defined in the advanced configuration and power interface (ACPI) specification. The ACPI specification may include“S0-S5” power states. S0 represents a system’s full-power state or an“on” state. Sleep states S1-S4 represent increasing levels of power savings and state S5 is the highest power-saving mode where the system is in a soft-off (i.e., shutdown) state. The S5 state may be achieved or triggered by a shut down command from a user, for example. [0009] In an S4 state, contents of memory are stored into non-volatile memory prior to entering the S4 state to reduce latency during wake-up. However, the S4 sleep state consumes considerably more power than the S5 state. Moreover, some countries, for example European countries, have implemented regulations that impose a restriction on the amount of power the system can consume, such as 0.5 Watts while in the off state (e.g., in the S5 state). [0010] Accordingly, as described in detail below, various examples relate to implementing a power off state in an operating system that issues a sleep state command (e.g., writes a sleep state indicator) in response to a power off command. Prior to issuing the sleep state command or writing the sleep state indicator, the operating system writes a current state or contents of main memory to non-volatile storage. The controller may determine that a power off command triggered writing the sleep state indicator to a register and in response, the controller may write a power off state indicator to a second register. It should be noted that in some hardware instances, for example, the first and second registers are at the same address. In such an example, the register capability is reconfigured to allow the sleep state transition before the second write. Thus, contents of the main memory are stored before executing the power off command. [0011] The controller is also operable to distinguish between a“shutdown S4” (i.e., S4 state command triggered by an S5 request) and a true“hibernation S4” (i.e., S4 state command triggered by an S4 request) issued by the operating system. Thus, in one example, the controller is operable to implement the S5 shutdown when the“shutdown S4” is invoked by the operating system. In another example, the system can implement the S4 sleep state when the true“hibernation S4” is invoked by the operating system. Accordingly, both a 0.5W power consumption and low latency may be achieved by the computing device by writing the state of the computing device to the non-volatile storage device before powering off. . [0012] In the description that follows, reference is made to the term,“machine-readable storage medium.” As used herein, the term“machine-readable storage medium” refers to any non-transitory electronic, magnetic, optical, or other physical storage device that stores executable instructions or other data (e.g., a hard disk drive, random access memory, flash memory, etc.). [0013] Referring now to the drawings, FIG. 1 is a block diagram of a computing device including a controller 114 for implementing a power off state, according to one example. Computing device 102 includes, for example, controller 114, non-volatile storage 120, and operating system 112 communicatively coupled as shown. Computing device 102 may be, for example, a notebook computer, a desktop computer, a laptop computer, a handheld computing device, a mobile phone, a server, a slate or tablet computing device, a portable reading device, or any other processing device. [0014] Controller 114 may be, for example, performing auxiliary functions for the computing device 102, such as initialization, input/output (I/O), management, system reset functionality, thermal management operations, power management operations, and to configure and control various devices within the computing device 102. The controller 114 may be part of a system-on-chip (SoC) that may also include various additional components that may be coupled to the controller 114 (e.g., memory, keyboard, mouse, battery, etc). Further, the controller 114 may be a peripheral device controller for the computing device 102 (e.g., a keyboard controller). Moreover, controller 114 may include, or may be, a processor for executing instructions stored in a memory of the computing device 102, the instructions for controlling and managing components connected thereto. [0015] Controller 114 includes logic 124 to identify a command received at the computing device 102 (i.e., source command) that triggered issuance of a sleep command by the operating system 112. To illustrate, logic 124 of controller 114 can determine if the command received at the computing device 102 is a power off command or a sleep command. For example, controller 114 can detect for a power off command received from a user accessing a power button of the computing device 102, from an application, or from an operating system of the computing device 102. In response to detecting the power off command, the controller 114 can issue a sleep command to the operating system 112. The sleep command can be an instruction for the operating system to transition to a S3 or S4 power state. [0016] In response to receiving a power off command for the computing device 102, the controller 114 can instruct the operating system 112 to store the current state of the computing device to a non-volatile storage 120. Operating system 112 may be an ACPI- compliant operating system, where device configuration and power management is performed by the operating system 112. Operating system 112 may be stored on a memory of the computing device 102. In response to receiving the sleep command, the operating 112 system can write a current state 130 of the computing device to a non-volatile storage device 120. [0017] The current state 130 of the computing device 102 can include content stored on random access memory of the computing device 102. The current state 130 may include operating system context and application content of main memory. The non-volatile storage 120 can include a hard drive or flash memory coupled to the computing device 102. Further, current state 130 may be stored as a file (e.g., a hibernation file) or image to be restored (or written back) to memory in response to the computing device 102 powering on from the power off state. [0018] In one embodiment, the controller 114 can also set an indicator, such as a flag, for the computing device 102 to enter the sleep state. In response to the state 130 of the computing device 102 being written to the non-volatile storage device 120, the controller 114 issues a power off command to place the computing device in the power off state. The power off state can include a S5 power state of the computing device. In another embodiment, the power off state can include a mechanical off state of the computing device 102. If the computing device 102 is in the power off state, the computing device 102 can consume 0.5W or less of power. [0019] FIG. 2 is a block diagram of another example implementation of a computing device including a controller for implementing a power off state. In this example, the computing device 102 includes controller 114, power controller 218, non-volatile storage 120, operating system 112, a first register 216, and memory 240 communicatively coupled as shown. [0020] As described above, the operating system 112 issues a sleep command in response to the computing device 102 receiving a power off command (i.e., S5 command) for the computing device 102 to power off. The operating system 112 also writes content of memory 240 to non-volatile storage 120, where the contents of memory 240 include operating system context and application content. In one example, the operating system 112 issues the sleep command by writing a sleep state (i.e., S4 state) indicator to the first register 216 in response to receiving the power off command. The first register 216 may be a command register of the operating system where a sleep command is written. Further, the operating system 112 invokes a prepare-to-sleep (PTS) method 222 in response to receiving a sleep command at the computing device 112. Thus, controller 114, via logic 124, may reference or poll the PTS method 222 to determine if the power off command (not the sleep command) received at the computing device 102 triggered the sleep command by the operating system 112. For example, logic 124 of the controller 114 may set a flag when the PTS method 222 is invoked by the operating system 112. When the PTS method 22 is not called by the operating system 112, controller 114 issues the power off command, for example, by writing a power off state indicator (i.e., S5 state) to a second register 228 of power controller 218. [0021] For example, when the computing device 102 is placed in the S5 state, the S5 maximum power savings method 224 (implemented by controller 114) turns off power to hardware such that less than 1W (approximately 0.5W) of power is consumed by the computing device 102. In one embodiment, during the S5 power state, wake events (e.g., wake-on-LAN) and management services of the computing device 102 are turned off. [0022] In one embodiment, the computing device 102 can include a power controller 218, such as an ACPI controller, to implement the ACPI sleep-type. Power controller 218 includes second register 228 (i.e., a sleep-type register). Second register 228 is a register of the power controller 218 that indicates a power state to be executed or implemented by the power controller 218. For example, if the power off state indicator (e.g., S5 power state) is written to the second register 118, the power controller 118 places the computing device 102 in the S5 power state. In another embodiment, the sleep state indicator (e.g., S4 sleep state) is written to the second register 118, the power controller 118 places the computing device 102 in the S4 sleep state. [0023] It should be noted that although FIG. 2 shows first register 116 (of the operating system 112) and second register 228 (of the power controller 218), an example embodiment may include a single register (e.g., ACPI sleep-type register) that stores the sleep state to be implemented by the power controller 118. In such an embodiment, when the operating system 112 issues an S4 sleep state indicator to the sleep-type register, in response to a power off command, the controller 114 intercepts writing of the sleep state indicator and replaces it with an S5 power off state indicator in the sleep type register, thereby enabling the power controller 118 to implement the power off (i.e., shutdown) instead of the sleep state. [0024] Because the contents of the main memory (i.e., state 130 of the computing device 102) has been written to the non-volatile memory 120 prior to implementing the power off state, the computing device 102 may be quickly restarted from the previous state when powering on from the power off state. Thus, according to the disclosed embodiments, the power off state may be implemented in the computing device 102 to conserve power, extend batter life, and comply with regulations on power consumption in the power-off mode, while achieving quicker responsiveness of the computing device 102. [0025] FIG. 3 is a flowchart of an example method 300 for implementing a power down state in a computing device. Although method 300 is described below with reference to the components of computing device 102, other suitable components for execution of method 300 will be apparent to those of skill in the art. Additionally, the components for executing the method 300 may be spread among multiple devices. Method 300 may be implemented in the form of executable instructions stored on a machine-readable storage medium, such as machine-readable storage medium 510 of FIG. 5, in the form of electronic circuitry, or a combination thereof. [0026] Method 300 may start in block 310 and proceed to block 320, where a sleep command from an operating system of a computing device is issued in response to detecting a power off command for the computing device. The sleep command is to place the computing device in a sleep state. For example, the operating system 112 may issue a sleep command when a power off command is received at the operating system. The power off command may include at least one of a user command to shutdown the computing device, a time out command, and a power off instruction executed by an application. The operating system 112 may issue the sleep command by writing a sleep state indicator to the first register 216. The sleep command may be a S4 state, for example. [0027] Method 300 may proceed to block 330, where content of memory of the computing device is written to non-volatile storage of the computing device. For example, the operating system 112 may write current state 130 of the computing device 102 to non-volatile storage 120 (e.g., hard drive). Current state 130 may include system hardware context, operating system context. The current state 130 may be stored, for example, as a hibernate file in non- volatile storage 120. Thus, upon system wake-up the file is may be written back to main memory 240 from the non-volatile storage 120, thereby preventing latency associated with rebooting the computing device 102 and the operating system 112. [0028] Method 300 may then proceed to block 340, where the computing device is placed in a power off state responsive to writing contents of memory to non-volatile storage. For example, controller 114 may determine that a power off command received at the computing device 102 triggered the sleep command by the operating system 112 (e.g., after saving contents of memory to disk), and proceed to issue the power off command (e.g., by writing the power off state indicator to the sleep-type register 228). Accordingly, the power controller 218 (e.g., the ACPI controller) can execute the power off command. Method 300 may then proceed to block 350, where the method 300 stops. [0029] FIG. 4 is a flowchart of another example method 400 for implementing a power off state in a computing device. Although method 400 is described below with reference to the components of computing device 102, other suitable components for execution of method 400 will be apparent to those of skill in the art. Additionally, the components for executing the method 400 may be spread among multiple devices. Method 400 may be implemented in the form of executable instructions stored on a machine-readable storage medium such as machine-readable storage medium 510 of FIG. 5, in the form of electronic circuitry, or a combination thereof. [0030] Method 400 may start in block 402 and proceed to block 404, where a sleep state indicator is written to a first register is detected. For example, controller 114 may detect that the S4 sleep state indicator is written to the first register 116 by the operating system 112. Alternately, controller 114 may intercept writing of the S4 sleep state indicator into the sleep- type register 228 by the operating system 112. [0031] Method 400 may proceed to block 406, where a command at the computing device that triggered writing the sleep state indicator is determined or identified. Determining the command at the computing device that triggered writing the sleep state indicator may include determining whether PTS method 222 is called, in block 408. For example, controller 114 may determine whether PTS method 222 is invoked by the operating system 112, where the PTS method 222 is indicative of a true S4 sleep event. [0032] If the PTS method is not called, method 400 may proceed to block 410, where it is determined that a power off command triggered writing the sleep state indicator. For example, when the PTS method 22 is not called by the operating system 112 and the S4 state indicator is written to the first register 216, controller 114 determines (e.g., via logic 124) that an S5 command was received at the computing device 102. The S5 command may include a user request to shut down the computing device 102, where such request includes pushing an off button or executing a shut down request via an application. The method 400 may then proceed to block 412, where a power off state indicator is written to a second register. For example, controller 114 may write the S5 state indicator to the sleep-type register 228 (i.e., instead of writing the S4 state indicator). The method 400 may then proceed to block 414, where the computing device is placed in the power off state. For example, the power controller 228 may place the computing device 102 in the S5 state based on the S5 power- type written to the sleep-type register 228. [0033] If, however, the PTS method 222 is called, as determined in block 408, method 400 may proceed to block 416, where it is determined that a sleep command triggered writing the sleep state. For example, when the PTS method 122 is called by the operating system 112, controller 114 determines that a S4 command or a sleep command was received at the computing device 102. The S4 command may include a user request to hibernate the computing device 102 or after the computing device 102 has been idle for a period of time. Method 400 may then proceed to block 418, where a sleep state indicator is written to a second register. For example, controller 114 may write the S4 state to the sleep-type register 228 of the power controller 218. In this case, the controller 114 does not change the sleep- type written by the operating system 112 because a true S4 event occurred. Method 400 may then proceed to block 420, where the computing device is placed in the sleep state. For example, the power controller 218 may place the computing device 102 in the S4 sleep state based on the S4 sleep-type written to the sleep-type register 228. [0034] Method 400 may proceed to block 422, where the computing device is woken up from either the power off state or the sleep state. Method 400 may proceed to block 424, where the state of the computing device is written from non-volatile storage to memory. For example, the controller 114 may determine that content data exists in the non-volatile storage 120 to be written back to memory 240. Thus, because the current state 130 of the computing device 102 was written to non-volatile storage 120 prior to entering the power off state or the sleep state, the state 130 (i.e., hardware context, operating system context, and contents of main memory) may be written back to memory 240. Accordingly, the computing device 102 may resume from the computing device’s previous pre-power off or pre-sleep state. Method 400 may then proceed to block 426, where the method 400 stops. [0035] It should be noted that although method 400 describes leveraging the PTS method 222 of the operating system 112 to determine whether a power off event triggered writing the sleep state indicator, other methods may be implemented to determine an event that triggered writing the sleep state indicator. For example, controller 114 may determine a version of the operating system and determine that a particular version of the operating system, by default, writes a sleep state indicator in response to a power off event and in response to a sleep event. Accordingly, the controller 114 can determine when the operating system 112 writes a sleep state indicator responsive to a power off event and when the operating system 112 writes a sleep state indicator responsive to a sleep event. [0036] FIG. 5 is a block diagram of a computing device including a machine-readable storage medium encoded with instructions for implementing a power down state. In the embodiment of FIG. 5, controller 114 includes processor 520 and machine-readable storage medium 510. [0037] Processor 520 may be a microprocessor, a semiconductor-based microprocessor, other hardware devices or processing elements suitable for retrieval and execution of instructions stored in machine-readable storage medium 510, or any combination thereof. Processor 520 may fetch, decode, and execute instructions stored in machine-readable storage medium 510 to implement the functionality described in detail below. As an alternative or in addition to retrieving and executing instructions, processor 510 may include at least one integrated circuit (IC), other control logic, other electronic circuits, or any combination thereof that include a number of electronic components for performing the functionality of instructions 512, 514, and 516 stored in machine-readable storage medium 510. Further, processor 520 may include single or multiple cores on a chip, include multiple cores across multiple devices, or any combination thereof. [0038] Machine-readable storage medium 510 may be any non-transitory electronic, magnetic, optical, or other physical storage device that contains or stores executable instructions. Thus, machine-readable storage medium 510 may be, for example, NVRAM, Random Access Memory (RAM), an Electrically Erasable Programmable Read-Only
Memory (EEPROM), a storage drive, a Compact Disc Read Only Memory (CD-ROM), and the like. Further, machine-readable storage medium 510 can be computer-readable as well as non-transitory. As described in detail below, machine-readable storage medium 510 may be encoded with a series of executable instructions for implementing a power down state in the computing device 102. The executable instructions may be, for example, a portion of an operating system of computing device 102 or a separate application running on top of the OS to implement the power down state. Other suitable formats of the executable instructions will be apparent to those of skill in the art. [0039] Machine-readable storage medium 510 may include command issuing instructions 512, which may be configured to issue a sleep command to place the computing device in a sleep state in response to detecting a power off command for the computing device. For example, command issuing instructions 512 may be configured to issue a sleep state command to place the computing device 102 in the sleep state responsive to detecting a power off command at the computing device 102. The power off command may include a user request to shutdown the computing device 102, for example. [0040] Machine-readable storage medium 510 may include memory contents storing instructions 514, which may be configured to store contents of memory of the computing device to non-volatile storage of the computing device. For example, memory contents storing instructions 514 may be configured to store contents of memory 240 to non-volatile storage 120. The contents of memory 240 may include current state 130 of the computing device, operating system context, and hardware context. Further, contents storing instructions 514 may be configured to write back the stored current state 130 from the non- volatile storage 120 to the memory 240 during wake-up. [0041] Machine-readable storage medium 510 may also include power controlling instructions 516, which may be configured to place the computing device in a power off state responsive to writing the contents of memory to the non-volatile storage. For example, power controlling instructions 516 may place the computing device in the power off state in response to writing the contents 130 of memory 240 to non-volatile memory 120. Further, power controlling instructions 516 may be configured to implement power savings where power to nonessential hardware is turned off such that less than 1W (e.g., 0.5W) of power is consumed by the computing device 102. During the S5 maximum power savings, wake events and management services of the computing device 102 are turned off. [0042] According to the embodiments described in details above, power consumption of a computing device may be reduced to approximately 0.5W in a power off mode while achieving a sleep mode responsiveness of the computing device during wake up.

Claims

CLAIMS WHAT IS CLAIMED IS: 1. A computing device comprising:
an operating system to:
issue a sleep command to place the computing device in a sleep state in
response to the computing device receiving a power off command; write contents of memory of the computing device to non-volatile storage of the computing device;
a controller to issue a power off command to place the computing device in a power off state in response to determining that the power off command triggered the sleep command.
2. The computing device of claim 1, further comprising a power controller to execute the power off command.
3. The computing device of claim 2, wherein the power controller implements advanced configuration and power interface (ACPI).
4. The computing device of claim 1, wherein the power off command comprises at least one of a user command to shutdown the computing device, a time out command, and a power off instruction executed by an application.
5. The computing device of claim 1, wherein the sleep state is an ACPI S4 sleep state and the power off state is an ACPI S5 power state.
6. The computing device of claim 1, wherein the operating system is further to: write a sleep state indicator to a first register; and
invoke a prepare-to-sleep (PTS) method in response to the computing device
receiving a sleep command from the operating system,
wherein the operating system does not invoke the PTS method in response to the computing device receiving the power off command.
7. The computing device of claim 6, the controller comprising logic to determine whether the PTS method is invoked by the operating system, wherein the controller is to write a power off state indicator to a second register when the PTS method is not invoked.
8. The computing device of claim 7, wherein the second register is an ACPI sleep- type register indicating an ACPI sleep-type to be implemented.
9. The computing device of claim 1, wherein the controller is further to implement an S5 maximum power savings, and wherein wake events and management services of the computing device are disabled.
10. A method comprising:
issuing a sleep command from an operating system of a computing device in response to detecting a power off command for the computing device;
writing contents of memory of the computing device to non-volatile storage of the computing device;
placing the computing device in a power off state responsive to writing the contents of memory to the non-volatile storage.
11. The method of claim 10, wherein the sleep state is an advanced configuration and power interface (ACPI) S4 sleep state and wherein the power off state is an ACPI S5 power state.
12. The method of claim 10, further comprising placing the computing device in the power off state responsive to determining that the power off command for the computing device triggered the sleep command by the operating system.
13. The method of claim 12, wherein determining that the power off command triggered the sleep command comprises:
determining whether the operating system invokes a prepare-to-sleep (PTS) method; and
when the operating system does not invoke the PTS method, writing a power off state indicator to a sleep-type register.
14. The method of claim 13, wherein when the operating system invokes the PTS method,
determining that a sleep command for the computing device triggered the sleep
command by the operating system,
writing a sleep state indicator to the sleep-type register, and
placing the computing device in the sleep state.
15. The method of claim 13, wherein the sleep-type register is an ACPI sleep-type register of a power controller that indicates a power state to be executed by the power controller.
16. The method of claim 10, further comprising implementing an S5 maximum power savings, wherein wake events and management services of the computing device are disabled during the S5 maximum power savings.
17. The method of claim 10, further comprising:
waking the computing device from the power off state; and
writing contents of the non-volatile storage to memory responsive to determining that the non-volatile memory contains data.
18. The method of claim 17, wherein determining that non-volatile memory contains data comprises determining if the operating system is configured to store contents of memory to the non-volatile storage prior to implementing an ACPI power state, and
19. A non-transitory computer readable medium comprising instructions that, when executed by a processor of a computing device, cause the processor to:
issue a sleep command to place the computing device in a sleep state in response to detecting a power off command for the computing device;
write contents of memory of the computing device to non-volatile storage of the computing device;
place the computing device in a power off state responsive to writing the contents of memory to the non-volatile storage.
20. The non-transitory computer readable medium of claim 19, further comprising instructions executable by the processor to execute an advanced configuration and power interface (ACPI) S5 maximum power savings process, wherein the computing device is powered down to approximately 0.5W power consumption, and wherein wake events and management services of the computing device are disabled during the maximum S5 power savings.
PCT/US2012/048686 2012-07-27 2012-07-27 Implementing a power off state in a computing device WO2014018064A1 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN201280068495.0A CN104081314A (en) 2012-07-27 2012-07-27 Implementing power off state in computing device
US14/375,831 US9619015B2 (en) 2012-07-27 2012-07-27 Implementing a power off state in a computing device
JP2015501657A JP5885881B2 (en) 2012-07-27 2012-07-27 Implementing a power off state on a computing device
EP12881664.2A EP2791758B1 (en) 2012-07-27 2012-07-27 Implementing a power off state in a computing device
PCT/US2012/048686 WO2014018064A1 (en) 2012-07-27 2012-07-27 Implementing a power off state in a computing device
TW102126114A TWI567541B (en) 2012-07-27 2013-07-22 Implementing a power off state in a computing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2012/048686 WO2014018064A1 (en) 2012-07-27 2012-07-27 Implementing a power off state in a computing device

Publications (1)

Publication Number Publication Date
WO2014018064A1 true WO2014018064A1 (en) 2014-01-30

Family

ID=49997692

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2012/048686 WO2014018064A1 (en) 2012-07-27 2012-07-27 Implementing a power off state in a computing device

Country Status (6)

Country Link
US (1) US9619015B2 (en)
EP (1) EP2791758B1 (en)
JP (1) JP5885881B2 (en)
CN (1) CN104081314A (en)
TW (1) TWI567541B (en)
WO (1) WO2014018064A1 (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103425506B (en) * 2013-05-20 2016-12-07 华为技术有限公司 Closedown method and starting-up method and communication terminal
KR101663114B1 (en) * 2015-01-21 2016-10-07 현대자동차주식회사 A multimedia terminal for verhicle and a method of the same for processing data
US10037071B2 (en) * 2015-02-25 2018-07-31 Texas Instruments Incorporated Compute through power loss approach for processing device having nonvolatile logic memory
US10452594B2 (en) 2015-10-20 2019-10-22 Texas Instruments Incorporated Nonvolatile logic memory for computing module reconfiguration
KR20170070694A (en) * 2015-12-14 2017-06-22 삼성전자주식회사 Electronic device and operating method for the same
US10331203B2 (en) 2015-12-29 2019-06-25 Texas Instruments Incorporated Compute through power loss hardware approach for processing device having nonvolatile logic memory
US10797977B2 (en) * 2016-03-22 2020-10-06 Citrix Systems, Inc. Robust suspension and resumption of desktop virtualization
US10009933B2 (en) * 2016-09-02 2018-06-26 Brent Foster Morgan Systems and methods for a supplemental display screen
CN109669728B (en) * 2018-12-14 2022-04-05 深圳市中科亿信技术有限公司 Software shutdown method and device for VxWorks operating system
TWI772733B (en) * 2019-01-09 2022-08-01 仁寶電腦工業股份有限公司 Multi-power management system and multi-power management method

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1229430A1 (en) * 2001-01-30 2002-08-07 Hewlett-Packard Company, A Delaware Corporation Power management system and method
EP0834796B1 (en) * 1996-09-30 2004-04-07 Samsung Electronics Co., Ltd. A computer system and control method for saving power
US7058831B2 (en) * 1999-07-26 2006-06-06 Hewlett-Packard Development Company, L.P. System and method for transitioning a system comprising a microcontroller into a low power state in response to a first sleep type which is not recognized by part of the system and a second sleep type which is recognized by part of the system
US20110185208A1 (en) * 2010-01-28 2011-07-28 Apple Inc. Memory power reduction in a sleep state
US20120042206A1 (en) * 2010-08-13 2012-02-16 International Business Machines Corporation Saving operational state of open applications when unexpected shutdown events occur

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1097353A (en) * 1996-09-19 1998-04-14 Toshiba Corp Computer system and resume processing method applied to the same system
EP0973086B1 (en) * 1998-07-15 2009-11-04 Hewlett-Packard Company, A Delaware Corporation Computer remote power on
US6678830B1 (en) * 1999-07-02 2004-01-13 Hewlett-Packard Development Company, L.P. Method and apparatus for an ACPI compliant keyboard sleep key
US6523128B1 (en) 1999-08-31 2003-02-18 Intel Corporation Controlling power for a sleeping state of a computer to prevent overloading of the stand-by power rails by selectively asserting a control signal
JP3264272B2 (en) * 1999-09-16 2002-03-11 インターナショナル・ビジネス・マシーンズ・コーポレーション Computer and power control method for computer
JP2002312079A (en) * 2001-04-12 2002-10-25 Internatl Business Mach Corp <Ibm> Computer system, computer device, and feeding control method in the computer device
CN1584781A (en) * 2003-08-21 2005-02-23 大同股份有限公司 Circuit device for combined cold starting key on portable data products
US7529923B2 (en) 2005-06-30 2009-05-05 Intel Corporation Operating system mode transfer
JP4908983B2 (en) * 2006-09-12 2012-04-04 パナソニック株式会社 Microcontrollers and related technologies
US7689850B2 (en) * 2006-11-28 2010-03-30 Dell Products L.P. System and method for adaptive information handling system power management
JP4595937B2 (en) * 2006-12-28 2010-12-08 ソニー株式会社 Information processing apparatus, information processing method, and program
US8250382B2 (en) 2007-08-22 2012-08-21 International Business Machines Corporation Power control of servers using advanced configuration and power interface (ACPI) states
CN101515194B (en) * 2008-02-21 2011-11-09 鸿富锦精密工业(深圳)有限公司 Computer operating state converting method
CN101620460A (en) * 2008-07-02 2010-01-06 联想(北京)有限公司 Computer system dormancy method and computer system
US8719610B2 (en) * 2008-09-23 2014-05-06 Qualcomm Incorporated Low power electronic system architecture using non-volatile magnetic memory
US20110131427A1 (en) 2009-12-02 2011-06-02 Jorgenson Joel A Power management states
US8271812B2 (en) * 2010-04-07 2012-09-18 Apple Inc. Hardware automatic performance state transitions in system on processor sleep and wake events
US8595522B2 (en) * 2010-09-30 2013-11-26 Intel Corporation Monitoring transaction requests using a policy engine within a storage drive driver to change power capability and latency settings for a storage drive
US9483103B2 (en) * 2010-10-22 2016-11-01 Hewlett-Packard Development Company, L.P. Process state of a computing machine
US8560873B1 (en) * 2011-01-13 2013-10-15 Google Inc. Determination of transitional characteristic attributes of components during scheduled wake-up power transition of computing device
US8949638B2 (en) * 2012-04-25 2015-02-03 Hewlwtt-Packard Development Company, L.P. Embedded controller with an internal timer
TW201435663A (en) * 2013-03-14 2014-09-16 Wistron Corp Electronic device for preventing accidental touch and operating method thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0834796B1 (en) * 1996-09-30 2004-04-07 Samsung Electronics Co., Ltd. A computer system and control method for saving power
US7058831B2 (en) * 1999-07-26 2006-06-06 Hewlett-Packard Development Company, L.P. System and method for transitioning a system comprising a microcontroller into a low power state in response to a first sleep type which is not recognized by part of the system and a second sleep type which is recognized by part of the system
EP1229430A1 (en) * 2001-01-30 2002-08-07 Hewlett-Packard Company, A Delaware Corporation Power management system and method
US20110185208A1 (en) * 2010-01-28 2011-07-28 Apple Inc. Memory power reduction in a sleep state
US20120042206A1 (en) * 2010-08-13 2012-02-16 International Business Machines Corporation Saving operational state of open applications when unexpected shutdown events occur

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2791758A4 *

Also Published As

Publication number Publication date
CN104081314A (en) 2014-10-01
EP2791758B1 (en) 2019-07-10
TWI567541B (en) 2017-01-21
TW201411335A (en) 2014-03-16
JP5885881B2 (en) 2016-03-16
US9619015B2 (en) 2017-04-11
EP2791758A4 (en) 2015-08-26
JP2015511045A (en) 2015-04-13
US20150323983A1 (en) 2015-11-12
EP2791758A1 (en) 2014-10-22

Similar Documents

Publication Publication Date Title
US9619015B2 (en) Implementing a power off state in a computing device
US9600283B2 (en) Single instruction for specifying a subset of registers to save prior to entering low-power mode, and for specifying a pointer to a function executed after exiting low-power mode
US7971081B2 (en) System and method for fast platform hibernate and resume
US9411402B2 (en) Power control system and power control method
TWI528162B (en) Computer system and operating system switching method thereof
US6243831B1 (en) Computer system with power loss protection mechanism
US6760850B1 (en) Method and apparatus executing power on self test code to enable a wakeup device for a computer system responsive to detecting an AC power source
US20110131427A1 (en) Power management states
US8762757B2 (en) Power management method and device thereof
KR20160145791A (en) System on a chip with always-on processor
JPH11161385A (en) Computer system and its system state control method
EP2843502B1 (en) Information processing device, information processing method, and program
TWI485623B (en) Method for fast resuming computer system and computer system
TWI534707B (en) Computer system, shutdown and boot method thereof
CN103970253B (en) Power-saving operation method and electronic device
CN101281416A (en) Method for ensuring system closedown completion
JP5894044B2 (en) Method and portable computer for storing data in a hybrid disk drive
US7634672B2 (en) Power saving method of central processing unit
TW201541354A (en) Electronic device and operating system switching method thereof
TW201329706A (en) Electronic device, hibernation method and computer program product
Song et al. The Research on the Technology of Sleep Wake-up Mode based on S3C6410 and Windows CE6. 0
JP2014119832A (en) Method of resuming portable computer from power saving state, power state control method and portable computer

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12881664

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2012881664

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2015501657

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 14375831

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE