Power Control in a Computing Device

Information

  • Patent Application
  • 20240241560
  • Publication Number
    20240241560
  • Date Filed
    January 16, 2023
    2 years ago
  • Date Published
    July 18, 2024
    9 months ago
Abstract
A computing device permits distribution of power received from an external power source to one or more subsystems of the computing device. The computing device receives input requesting a power control operation and, responsive to the input, interrupts the distribution of the power to at least one of the subsystems.
Description
BACKGROUND

Traditionally, when a computing device is referred to as being “off,” this can mean a variety of different things. From a user's perspective, a computer that is “off” typically means that the computer is in a power state that is non-responsive to certain kinds of user input. However, the true state of the computer often cannot be discerned simply from knowing that the computer is “off.” Because the term “off” is an imprecise umbrella term for a variety of different states in the field of computers, simply turning a computer “off” often does not have the intended or desired effect.





BRIEF DESCRIPTION OF THE DRAWINGS

Aspects of the present disclosure are illustrated by way of example and are not limited by the accompanying figures with like references indicating like elements. In general, the use of a reference numeral should be regarded as referring to the depicted subject matter according to one or more embodiments, whereas discussion of a specific instance of an illustrated element will append a letter designation thereto (e.g., discussion of a subsystem 190, generally, as opposed to discussion of an individual instance of a subsystem 190a, 190b, 190c).



FIGS. 1-4 are schematic block diagrams illustrating different example computing devices according to different example embodiments of the present disclosure.



FIG. 5 is a flow diagram illustrating an example method according to one or more embodiments of the present disclosure.





DETAILED DESCRIPTION

Turning a computer off typically involves pushing a physical power button on the device or instructing the computer's operating system to shut down. While this may result in the computer being non-responsive to at least a subset of user inputs, ceasing to present information on a display, and/or other notable reductions in functionality, the computer typically continues to receive alternating current (AC) power from a power source. Despite the computer ostensibly being off from the user's perspective, this AC power may nonetheless be distributed to one or more subsystems of the computer. Thus, turning the computer off does not necessarily cause the state of any individual subsystem to be changed. Accordingly, if a given subsystem is in an error state, powering the computer off and turning it back on may or may not restore proper operation of the subsystem.


In view of the above, embodiments of the present disclosure provide a mechanism for remotely controlling AC power to one or more subsystems of a computer device. In one example, this remote control enables the computing device to be remotely AC power cycled. Among other things, such embodiments may, for example, advantageously provide predictable control over the operational state of the one or more subsystems for which the AC power is being controlled.



FIG. 1 is a schematic block diagram illustrating an example computing device 100. The computing device 100 may be a computer of any kind. For example, the computing device 100 may be a server, a server cluster, a personal computer, a laptop computer, a desktop computer, a workstation, a point-of-sale terminal, a smartphone, a tablet, a wearable computer, a smart appliance, network attached storage, or a storage area network, among other things.


The computing device 100 includes processing circuitry 110, an interconnect 195, and one or more subsystems 190. The processing circuitry 110 is electrically connected to the one or more subsystems 190 via the interconnect 195. The interconnect 195 comprises an electrical medium for carrying power to the one or more subsystems 190. For example, the interconnect 195 may comprise one or more power lines and/or buses. The interconnect 195 may additionally include one or more signaling paths for carrying communication signals. For example, the interconnect 195 may comprise one or more data lines and/or buses.


The processing circuitry 110 is configured to control power to the one or more subsystems 190 via the interconnect 195. For example, the computing device 100 may include subsystems 190a, 190b, and 190c, and the processing circuitry 110 may be configured to selectively control, for each of the subsystems 190a-c, whether or not the subsystem 190a-c receives power over the interconnect 195.


The processing circuitry 110 may include one or more microprocessors, microcontrollers, hardware circuits, discrete logic circuits, hardware registers, digital signal processors (DSPs), field-programmable gate arrays (FPGAs), Field-Effect Transistor (FET), application-specific integrated circuits (ASICs), or a combination thereof. In one example, the processing circuitry 110 comprises a metal-oxide-semiconductor FET (MOSFET) that cuts power to one or more of the subsystems 190 as desired. The processing circuitry 110 may, in some embodiments, include a line or pin for General Purpose Input/Output (GPIO) through which power control may be invoked. The subsystems 190 include subsystem-specific circuitry configured to perform the functions of their respective subsystems 190.


In some embodiments, to control power to the one or more subsystems 190, the processing circuitry 110 is configured to cycle power off and on. For example, the processing circuitry 110 may toggle the power off for an off duration and, after the off duration has expired, toggle the power on. In some embodiments, the power off duration is configurable. In other embodiments, the duration is static and predefined.



FIG. 2 is a schematic block diagram that illustrates an example computer device 100 that provides remote power control according to one or more embodiments of the present disclosure. In the example of FIG. 2, the computing device 100 comprises a power subsystem 185 configured to receive AC power from an external AC power source (e.g., a wall outlet, a battery) and distributes the received power to one or more other subsystems (e.g., subsystem 190c) via the interconnect 195. In this example, the computing device 100 further comprises a network subsystem 130 configured to exchange network input/output (I/O) with an external network (e.g., the Internet). The interconnect 195, in this example, supports the transmission of both power and data.


According to the example of FIG. 2, the processing circuitry 110 may receive a message via the network subsystem 130 invoking power control. In response, the processing circuitry 110 sends a power control signal to the power subsystem 185. In response to the power control signal, the power subsystem 185 stops distributing power to one or more of the other subsystems (e.g., the processing circuitry 110, the network subsystem 130, and/or the subsystem 190c).


The power subsystem 185 may be configured to restart power distribution after a power off duration. The power off duration may be indicated to the power subsystem 185, e.g., in the power control signal or previously in a separate configuration message. Alternatively, the power subsystem 185 may be configured to restart power distribution after a predefined period of time.



FIG. 3 is a schematic block diagram that illustrates another example computing device 100 that provides remote power control according to other embodiments of the present disclosure. In the example of FIG. 3, the computing device 100 may receive a message via the network subsystem 130 invoking power control. In response, the processing circuitry 110 interrupts the distribution of power to one or more other subsystems (e.g., the network subsystem 130 and/or the subsystem 190c).


In some embodiments, the processing circuitry 110 may be configured to stop interrupting power distribution after a power off duration. The power off duration may be indicated to the processing circuitry 110, e.g., in the message received from the network subsystem 130 or previously in a separate configuration message. Alternatively, the processing circuitry 110 may be configured to restore power distribution after a predefined period of time.


According to other embodiments, power control may be implemented in other ways. For example, in either of the example computing devices 100 illustrated in FIG. 2 or FIG. 3, the processing circuitry 110 may send a command to one or more subsystems 190 directing them to power down or restart themselves. Alternatively, power control may result in all subsystems 190 downstream from the point where power is interrupted losing power until power distribution is restored. That is, power control may be performed on a subsystem-by-subsystem basis, or may be performed without regard to particular subsystems 190, depending on the embodiment.


Further, although the previous examples discussed power control being invoked responsive to a message received from the network, other embodiments may perform discussed power control responsive to user input. For example, the processing circuitry 110 may perform power control responsive to a user selecting a power control option displayed on the screen. Such an option may be displayed in a menu presented by the Basic Input/Output System (BIOS) or Operating System (OS) of the computing device 100.


The subsystems 190 may take a variety of forms and are not limited to those described above. Other examples of subsystems include any number or combination of controllers, hubs, ports, memory modules, processors, transceivers, or other devices, e.g., supporting a Universal Serial Bus (USB), Ethernet, Radio Frequency (RF) communication, I2C, or other protocol, standard, or computing architecture.


The processing circuitry 110 of various embodiments may be programmable hardware capable of executing software instructions of a machine-readable computer program 140 stored in memory circuitry 120 to which the processing circuitry 110 is communicatively connected (e.g., via a bus 104 or other interconnect), as shown in the example of FIG. 4. The memory circuitry 120 may comprise any non-transitory machine-readable media known in the art or that may be developed, whether volatile or non-volatile, including but not limited to solid state media (e.g., SRAM, DRAM, DDRAM, ROM, PROM, EPROM, flash memory, solid state drive, etc.), removable storage devices (e.g., Secure Digital (SD) card, miniSD card, microSD card, memory stick, thumb-drive, USB flash drive, ROM cartridge, Universal Media Disc), fixed drive (e.g., magnetic hard disk drive), or the like, wholly or in any combination.


The processing circuitry 110 may also be communicatively connected to interface circuitry 130. The interface circuitry 130 may be a controller hub configured to control the input and output (I/O) data paths of the computing device 100. Such I/O data paths may include data paths for exchanging signals over a network (e.g., via Ethernet, Wi-Fi, BLUETOOTH, or the like) and/or interacting with a user (e.g., via a keyboard, mouse, display, touchscreen, or the like). The interface circuitry 130 may be implemented as a unitary physical component, or as a plurality of physical components that are contiguously or separately arranged, any of which may be communicatively coupled to any other or may communicate with any other via the processing circuitry 110.


The computing device 100 may be configured to perform any of the processing functions described herein. In one example, the computing device 100 is configured to perform the example method 400 illustrated in FIG. 5 (e.g., using processing circuitry 110 as previously discussed). The method 400 comprises permitting distribution of power received from an external power source to one or more subsystems 190 of the computing device 100 (block 410). The method 400 further comprises receiving input requesting a power control operation (block 420). The method 400 further comprises, responsive to the input, interrupting the distribution of the power to at least one of the subsystems 190 (block 430).


Correspondingly, in some embodiments, the processing circuitry 110 is configured to permit distribution of power received from an external power source to one or more subsystems 190 of the computing device 100. The processing circuitry 110 is further configured to receive input requesting a power control operation (e.g., via interface circuitry 130, via a network subsystem 130). The processing circuitry 110 is further configured to, responsive to the input, interrupt the distribution of the power to at least one of the subsystems 190.


Still other embodiments include a computer program 140 comprising instructions that, when executed on processing circuitry 110 of a computing device 100, cause the computing device 100 to carry out the method 400 described above.


Yet other embodiments include a carrier containing the computer program 140. The carrier is one of an electronic signal, optical signal, radio signal, or computer readable storage medium. Other embodiments may include other features without deviating substantially from the examples discussed above.

Claims
  • 1. A method, implemented by a computing device, the method comprising: permitting distribution of power received from an external power source to one or more subsystems of the computing device;receiving input requesting a power control operation; andresponsive to the input, interrupting the distribution of the power to at least one of the subsystems.
  • 2. The method of claim 1, wherein receiving the input requesting the power control operation comprises receiving user input at a Basic Input/Output System (BIOS) interface.
  • 3. The method of claim 1, wherein receiving the input requesting the power control operation comprises receiving a request via a network interface.
  • 4. The method of claim 1, wherein the requested power control operation comprises a power cycling request.
  • 5. The method of claim 1, wherein: interrupting the distribution of the power comprises interrupting the distribution of the power for a defined duration; andrestoring the distribution of the power in response to the defined duration elapsing.
  • 6. The method of claim 5, wherein the defined duration is comprised in the input requesting the power control operation.
  • 7. The method of claim 5, wherein the defined duration is configured in the computing device previous to having received the input requesting the power control operation.
  • 8. The method of claim 5, wherein the defined duration is statically configured in the computing device.
  • 9. The method of claim 1, wherein interrupting the distribution of the power to at least one of the subsystems comprises interrupting the distribution of the power to each of the subsystems.
  • 10. The method of claim 1, wherein: interrupting the distribution of the power to at least one of the subsystems comprises interrupting the distribution of the power to a subsystem in a failed operational state; andthe method further comprises restoring the distribution of the power to correct the failed operational state of the subsystem.
  • 11. A computing device comprising: processing circuitry and one or more subsystems that are communicatively coupled to the processing circuitry, wherein the processing circuitry is configured to: permit distribution of power received from an external power source to the one or more subsystems of the computing device;receive input requesting a power control operation; andresponsive to the input, interrupt the distribution of the power to at least one of the subsystems.
  • 12. The computing device of claim 11, wherein to receive the input requesting the power control operation, the processing circuitry is configured to receive user input at a Basic Input/Output System (BIOS) interface.
  • 13. The computing device of claim 11, further comprising a network interface, wherein to receive the input requesting the power control operation, the processing circuitry is configured to receive a request via the network interface.
  • 14. The computing device of claim 11, wherein the requested power control operation comprises a power cycling request.
  • 15. The computing device of claim 11, wherein: to interrupt the distribution of the power, the processing circuitry is configured to interrupt the distribution of the power for a defined duration; andthe processing circuitry is further configured to restore the distribution of the power in response to the defined duration elapsing.
  • 16. The computing device of claim 15, wherein the defined duration is comprised in the input requesting the power control operation.
  • 17. The computing device of claim 15, wherein the defined duration is configured in the computing device previous to having received the input requesting the power control operation.
  • 18. The computing device of claim 11, wherein to interrupt the distribution of the power to at least one of the subsystems, the processing circuitry is configured to interrupt the distribution of the power to each of the subsystems.
  • 19. The computing device of claim 11, wherein: to interrupt the distribution of the power to at least one of the subsystems, the processing circuitry is configured to interrupt the distribution of the power to a subsystem in a failed operational state; andthe processing circuitry is further configured to restore the distribution of the power to correct the failed operational state of the subsystem.
  • 20. A non-transitory computer readable medium storing a computer program for controlling a computing device, the computer program comprising software instructions that, when run on the processing circuitry of the computing device, cause the computing device to: permit distribution of power received from an external power source to one or more subsystems of the computing device;receive input requesting a power control operation; andresponsive to the input, interrupt the distribution of the power to at least one of the subsystems.