IP Library Granted Patent US 12,411,538
Granted Patent B2
US 12,411,538 · App. 17/366,423 · Granted Sep 9, 2025

System-wide low power management

Inventors: Benjamin Tsien (Santa Clara, CA); Greggory D. Donley (Santa Clara, CA); Bryan P. Broussard (Austin, TX)
Assignee: Advanced Micro Devices, Inc.
G06F1/3287G06F1/3209G06F1/3234G06F1/3296G06F9/5094
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,411,538
App. No.
17/366,423
Granted
Sep 9, 2025
Kind
B2
Abstract

Systems, apparatuses, and methods for performing efficient power management for a multi-node computing system are disclosed. A computing system includes multiple nodes. When power down negotiation is distributed, negotiation for system-wide power down occurs within a lower level of a node hierarchy prior to negotiation for power down occurring at a higher level of the node hierarchy. When power down negotiation is centralized, a given node combines a state of its clients with indications received on its downstream link and sends an indication on an upstream link based on the combining. Only a root node sends power down requests.

Claims (40)

1. A first processing node comprising:

at least one link coupled to a second processing node;

one or more clients comprising circuitry configured to process tasks; and

a power controller comprising circuitry;

wherein responsive to receipt of an indication from the second processing node that each client in the second processing node is idle and each client in a third processing node is idle:

the power controller is configured to power down the at least one link and the one or more clients, responsive to all of the one or more clients in the first processing node being idle;

the first processing node is configured to convey a non-idle indication to the second processing node, responsive to fewer than all of the one or more clients of the first processing node being idle.

2. The first processing node as recited in claim 1 , wherein the first processing node further comprises a plurality of links coupled to a plurality of processing nodes.

3. The first processing node as recited in claim 2 , wherein each of the plurality of processing nodes is not fully connected.

4. The first processing node as recited in claim 2 , wherein the power controller is further configured to power down the plurality of links and said one or more clients responsive to transferring on each of the plurality of links a power down request and a power down response.

5. The first processing node as recited in claim 2 , wherein the power controller is further configured to receive a second indication from a fourth processing node of the plurality of processing nodes different than the second processing node and third processing node specifying that each client in the fourth processing node is idle.

6. The first processing node as recited in claim 5 , wherein the second indication indicates that a subset of the plurality of processing nodes is idle.

7. The first processing node as recited in claim 6 , wherein the subset of the plurality of processing nodes are not directly connected to the first processing node.

8. A method, comprising:

processing tasks by circuitry of one or more clients of a first processing node, wherein the first processing node is coupled to a second processing node via at least one link;

receiving a first indication from the second processing node that each client in the second processing node is idle and each client in a third processing node is idle;

receiving a second indication that all of the one or more clients of the first processing node are idle;

powering down, by a power controller of the first processing node, at least one link and one or more clients of the first processing node, based on the first indication and the second indication; and

receiving a third indication from the second processing node that each client in the second processing node is idle and each client in the third processing node is idle; and

receiving a fourth indication that fewer than all of the one or more clients of the first processing node are idle; and

conveying a non-idle indication to the second processing node, based on the third indication and the fourth indication.

9. The method as recited in claim 8 , further comprising transferring requests and responses by a plurality of links of the first processing node coupled to a plurality of processing nodes.

10. The method as recited in claim 9 , wherein each of the first processing node and the plurality of processing nodes is not fully connected.

11. The method as recited in claim 9 , further comprising powering down the plurality of links and the one or more clients of the first processing node, by the first processing node, responsive to the first processing node transferring on each of the plurality of links a power down request and a power down response.

12. The method as recited in claim 9 , further comprising receiving, by the first processing node, a given indication from a fourth processing node of the plurality of processing nodes that indicates each client in the fourth processing node is idle.

13. The method as recited in claim 12 , wherein the given indication indicates that a subset of the plurality of processing nodes is idle.

14. The method as recited in claim 13 , wherein the subset of the plurality of processing nodes are not directly connected to the first processing node.

15. A computing system comprising:

a first processing node comprising one or more clients and power control circuitry; and

a second processing node; and

a link coupled between the first processing node and the second processing node;

wherein the second processing node is configured to convey a power down request to the first processing node, responsive to clients of the second processing node being idle and clients of a third processing node being idle;

wherein responsive to the power down request, the first processing node is configured to:

convey a non-idle indication to the second processing node, responsive to fewer than all clients of the first processing node being idle; and

power down, by the power control circuitry, the link and the one or more clients of the first processing node, responsive to all of the one or more clients in the first processing node being idle.

16. The computing system as recited in claim 15 , wherein the first processing node further comprises a plurality of links coupled to a plurality of processing nodes.

17. The computing system as recited in claim 16 , wherein responsive to the power down request, the first processing node is configured to convey a power down response to the second processing node, in response to all of the clients of the first processing node being idle.

18. The computing system as recited in claim 16 , wherein the first processing node is further configured to power down the plurality of links and the clients of the first processing node responsive to the first processing node transferring on each of the plurality of links a power down request and a power down response.

19. The computing system as recited in claim 16 , wherein the first processing node is further configured to receive a second indication from a fourth processing node of the plurality of processing nodes specifying that each client in the fourth processing node is idle.

20. The computing system as recited in claim 19 , wherein the first processing node is further configured to receive an indication from the fourth processing node that indicates a plurality of processing nodes other than the fourth processing node are idle.

Continuity (2)
Continuation 15856546 · Dec 28, 2017
Related Publication 20210333860A1 · Oct 28, 2021
References Cited (54)
US 4980836A · Carter et al. · 1990 [cited by applicant]
US 5396635A · Fung · 1995 [cited by applicant]
US 5617572A · Pearce et al. · 1997 [cited by applicant]
US 5692202A · Kardach et al. · 1997 [cited by applicant]
US 6085325A · Jackson · 2000 [cited by examiner]
US 6334167B1 · Gerchman et al. · 2001 [cited by applicant]
US 6657534B1 · Beer et al. · 2003 [cited by applicant]
US 6657634B1 · Sinclair et al. · 2003 [cited by applicant]
US 7028200B2 · Ma · 2006 [cited by applicant]
US 7085941B2 · Li · 2006 [cited by applicant]
US 7103788B1 · Souza · 2006 [cited by examiner]
US 7428644B2 · Jeddeloh et al. · 2008 [cited by applicant]
US 7437579B2 · Jeddeloh et al. · 2008 [cited by applicant]
US 7496777B2 · Kapil · 2009 [cited by applicant]
US 7613941B2 · Samson et al. · 2009 [cited by applicant]
US 7743267B2 · Snyder et al. · 2010 [cited by applicant]
US 7800621B2 · Fry · 2010 [cited by applicant]
US 7802060B2 · Hildebrand · 2010 [cited by applicant]
US 7840827B2 · Dahan et al. · 2010 [cited by applicant]
US 7868479B2 · Subramaniam · 2011 [cited by applicant]
US 7873850B2 · Cepulis et al. · 2011 [cited by applicant]
US 7899990B2 · Moll et al. · 2011 [cited by applicant]
US 8181046B2 · Marcu et al. · 2012 [cited by applicant]
US 8402232B2 · Avudaiyappan et al. · 2013 [cited by applicant]
US 8656198B2 · Branover et al. · 2014 [cited by applicant]
US 8949644B2 · Ma et al. · 2015 [cited by applicant]
US 9563257B2 · Fang et al. · 2017 [cited by applicant]
US 11054887B2 · Tsien et al. · 2021 [cited by applicant]
US 20060271649A1 · Tseng et al. · 2006 [cited by applicant]
US 20110083023A1 · Dickens et al. · 2011 [cited by applicant]
US 20110264934A1 · Branover et al. · 2011 [cited by applicant]
US 20120254526A1 · Kalyanasundharam · 2012 [cited by applicant]
US 20130179621A1 · Smith et al. · 2013 [cited by applicant]
US 20130279621A1 · Yonge · 2013 [cited by applicant]
US 20130311804A1 · Garg et al. · 2013 [cited by applicant]
US 20140019788A1 · Fang et al. · 2014 [cited by applicant]
US 20160187952A1 · Gough et al. · 2016 [cited by applicant]
US 20160378168A1 · Branover et al. · 2016 [cited by applicant]
US 20170353926A1 · Zhu et al. · 2017 [cited by applicant]
US 20180129269A1 · Garg · 2018 [cited by examiner]
US 20180157311A1 · Maisuria et al. · 2018 [cited by applicant]
JP 2005508041A · 2005 [cited by applicant]
KR 1020100041829 · 2010 [cited by applicant]
KR 1020100080409 · 2010 [cited by applicant]
First Examination Report in Indian Patent Application No. 202017031107, mailed Apr. 11, 2022, 7 pages. [cited by applicant]
International Search Report and Written Opinion in International Application No. PCT/US2018/051916, mailed Jan. 31, 2019, 10 pages. [cited by applicant]
Yuan et al., “Buffering Approach for Energy Saving in Video Sensors”, 2003 International Conference on Multimedia and Expo, Jul. 2003, 4 pages. [cited by applicant]
“Intel Power Management Technologies for Processor Graphics, Display, and Memory: White Paper for 2010-2011 Desktop and Notebook Platforms”, Intel Corporation, Aug. 2010, 10 pages. [cited by applicant]
Communication pursuant to Article 94(3) EPC in European Patent Application No. 18786482.2, mailed Sep. 20, 2022, 5 pages. [cited by applicant]
Non-Final Office Action in Japanese Patent Application No. 2020-536179, mailed Sep. 27, 2022, 9 pages. [cited by applicant]
Notice of Allowance for Japanese Application No. 2020-536179 dated Apr. 11, 2023. [cited by applicant]
EP Summons in European Appln. No. 18786482.2, dated Jun. 26, 23, 10 pgs. [cited by applicant]
“Anonymous: “Linux Network Tuning Guide for AMO EPYCProcessor Based Servers”,EPO Form 2906 01 .91 TRI Nov. 1, 2017 (Nov. 1, 2017), XP093053234,Retrieved from the Internet:URL:https://www.amd.com/system/files/TechDocs/56… [cited by applicant]
Office Action in Korean Patent Appln. No. 10-2020-7021981, dated Nov. 15, 2023, 18 pgs. [cited by applicant]