Search

US-12625708-B2 - Sleep state orchestration system and method for a heterogeneous computing platform

US12625708B2US 12625708 B2US12625708 B2US 12625708B2US-12625708-B2

Abstract

Systems and methods for discovery in a firmware framework are described. In an illustrative, non-limiting embodiment, an Information Handling System (IHS) may include a heterogeneous computing platform with multiple devices, and a controller configured with firmware that, upon execution by a processing core, causes the processing core to receive a request from an Operating System (OS) to enter a sleep state, determine, for each of the plurality of devices, a specified sleep state level for the device, and communicate with each of the devices to place the device at the specified sleep state level.

Inventors

  • Daniel L. Hamlin
  • Suraj M Varma
  • Gokul Thiruchengode Vajravel

Assignees

  • DELL PRODUCTS L.P.

Dates

Publication Date
20260512
Application Date
20240321

Claims (17)

  1. 1 . An Information Handling System (IHS), comprising: a heterogeneous computing platform comprising a plurality of devices; and a controller, wherein the controller comprises firmware that, upon execution by a processing core, causes the processing core to: receive a request from an Operating System (OS) to enter a sleep state; determine, for each of the plurality of devices, a specified sleep state level for the device without any involvement by the OS; and communicate with each of the devices to place the device at the specified sleep state level.
  2. 2 . The IHS of claim 1 , wherein the firmware further cause the processing core to: receive a request from the OS to return to an active state; and communicate with each of the devices to place each of the devices at the active state.
  3. 3 . The IHS of claim 1 , wherein the sleep state comprises at least one of a suspend state, a standby state, and a hibernate state.
  4. 4 . The IHS of claim 1 , wherein the instructions further cause the processing core to determine the power level according to the device's use for returning the IHS to an active state.
  5. 5 . The IHS of claim 1 , wherein the instructions further cause the processing core to determine the power level for each device by accessing information stored in a data structure.
  6. 6 . The IHS of claim 1 , wherein one of the devices comprises another memory coupled to another processor, the other memory having instructions stored thereon that, upon execution by the other processor, cause the other processor to: receive a directive from the controller; and in response to the directive, set the device at the specified power level.
  7. 7 . The IHS of claim 6 , wherein the at least one device comprises a device external to the IHS.
  8. 8 . The IHS of claim 7 , wherein the at least one device comprises a docking station.
  9. 9 . A sleep state orchestration method comprising: receiving, by a controller, a request from an Operating System (OS) to enter a sleep state; determining, for each of a plurality of devices of a heterogeneous computing platform, a specified sleep state level for the device without any involvement by the OS; and communicating with each of the devices to place the device at the specified sleep state level.
  10. 10 . The sleep state orchestration method of claim 9 , further comprising: receiving a request from the OS to return to an active state; and communicating with each of the devices to place each of the devices at the active state.
  11. 11 . The sleep state orchestration method of claim 9 , further comprising determining the power level according to the device's use for returning the IHS to an active state.
  12. 12 . The sleep state orchestration method of claim 9 , further comprising determining the power level for each device by accessing information stored in a data structure.
  13. 13 . The sleep state orchestration method of claim 9 , further comprising setting, using at least one of the devices, its respective device at the specified power level.
  14. 14 . A non-transitory memory storage device having program instructions stored thereon that, upon execution by one or more processors of an Information Handling System (IHS), cause the IHS to: receive a request from an Operating System (OS) to enter a sleep state; determine, for each of a plurality of devices of a heterogeneous computing platform, a specified sleep state level for the device without any involvement by the OS; and communicate with each of the devices to place the device at the specified sleep state level.
  15. 15 . The non-transitory memory storage device of claim 14 , wherein the instructions further cause the IHS to: receive a request from the OS to return to an active state; and communicate with each of the devices to place each of the devices at the active state.
  16. 16 . The non-transitory memory storage device of claim 14 , wherein the instructions further cause the IHS to determine the power level according to the device's use for returning the IHS to an active state.
  17. 17 . The non-transitory memory storage device of claim 14 , wherein the instructions further cause the IHS to determine the power level for each device by accessing information stored in a data structure.

Description

FIELD This disclosure relates generally to Information Handling Systems (IHSs), and more specifically, to a sleep state orchestration system and method for a heterogeneous computing platform. BACKGROUND As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store it. One option available to users is an Information Handling System (IHS). An IHS generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, IHSs may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. Variations in IHSs allow for IHSs to be general or configured for a specific user or specific use, such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, IHSs may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems. Historically, IHSs with desktop and laptop form factors have had conventional host Operating Systems (OSs) (e.g., WINDOWS, LINUX, MAC OS, etc.) executed on INTEL or AMD's “x86”-type processors. Other types of processors, such as ARM processors, have been used in smartphones and tablet devices, which typically run thinner, simpler, or mobile OSs (e.g., ANDROID, iOS, WINDOWS MOBILE, etc.). As of more recently, however, IHS manufacturers have begun shipping full-fledged desktop and laptop IHSs equipped with ARM-based platforms, and some OSs (e.g., WINDOWS on ARM) have been developed to provide users with more quintessential OS experiences on those platforms. Therefore, a modern IHS may now include any number of processors, controllers, sensors, and/or other devices. Within an IHS, each device may be configured to execute their own firmware. The term “firmware,” as used herein, refers to a class of program instructions that provides low-level control of a device's hardware. In that regard, the inventors hereof have recognized that management of a device's firmware within an IHS is typically performed indirectly through the IHS's OS, which presents efficiency, productivity, and/or security issues. To address these, and other concerns, the inventors hereof have developed a firmware framework as described herein. SUMMARY Systems and methods for discovery in a firmware framework are described. In an illustrative, non-limiting embodiment, an Information Handling System (IHS) may include a heterogeneous computing platform with multiple devices, and a controller configured with firmware that, upon execution by a processing core, causes the processing core to receive a request from an Operating System (OS) to enter a sleep state, determine, for each of the plurality of devices, a specified sleep state level for the device, and communicate with each of the devices to place the device at the specified sleep state level. According to another embodiment, a sleep state orchestration method includes the steps of receiving, by a controller, a request from an Operating System (OS) to enter a sleep state, determining, for each of a plurality of devices of a heterogeneous computing platform, a specified sleep state level for the device, and communicating with each of the devices to place the device at the specified sleep state level. According to yet another embodiment, a non-transitory memory storage device, which is configured with program instructions that, upon execution by one or more processors of an Information Handling System (IHS), cause the IHS to receive a request from an Operating System (OS) to enter a sleep state, determine, for each of a plurality of devices of a heterogeneous computing platform, a specified sleep state level for the device, and communicate with each of the devices to place the device at the specified sleep state level. BRIEF DESCRIPTION OF THE DRAWINGS The present invention(s) is/are illustrated by way of example and is/are not limited by the accompanying figures, in which like references indicate similar elements. Elements in the figures are illustrated for simplicity and clarity, and have not necessarily been drawn to scale. FIG. 1 is a diagram illustrating examples of components of an Information Handling System (IHS), according to some embodiments. FIG. 2 is a diagram illustrating an example of a heterogenous computing platform, according to some embodiments. FIG. 3 is a diagram illustrating an example of a firmware framework, according to some embodiments. FIG. 4 is a diagram illustrating an example of a