IP Library › Granted Patent US 9,939,869
Granted Patent B2
US 9,939,869 · App. 14/657,107 · Granted Apr 10, 2018

Methods and systems for coordination of operating states amongst multiple SOCs within a computing device

Inventors: Khosro Mohammad Rabii (San Diego, CA); Vijay Naicker Subramaniam (San Diego, CA); Venu Gopal Rao Mullu (San Diego, CA); Venkata Kiran Kumar Matturi (San Diego, CA)
Assignee: QUALCOMM Incorporated
G06F1/3203G06F1/325G06F1/3206G06F1/3287G06F1/3296Y02B60/1282
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 9,939,869
App. No.
14/657,107
Granted
Apr 10, 2018
Kind
B2
Abstract

The various aspects provide methods, systems, and devices for coordinating the operating states of multiple SOCs within a computing device. Such coordination may be implemented through communication of information by the SOCs that represent advance notice of impending interactions between each other. The communicated information may be used by a recipient SOC for setting its operating state in advance of the potential impending interaction with another SOC. Accordingly, this technical improvement enables individual SOCs to preemptively influence the operating states of the other SOCs. For example, in the context of power management, the various aspects may coordinate the power states of multiple SOCs, thereby effectively implementing a monolithic power management state machine that improves overall power consumption of the computing device.

Claims (72)

1. A method of coordinating operating states of a plurality of systems-on-chips (SOC) within a computing device, comprising:

determining, by a first SOC, whether an operating state of the first SOC is indicative of data processing that is capable of causing a potential impending interaction between the first SOC and a second SOC;

communicating, by the first SOC, information representing an advance notice of the potential impending interaction between the first SOC and the second SOC in response to determining that the operating state of the first SOC is indicative of data processing that is capable of causing the potential impending interaction between the first SOC and the second SOC;

communicating, by the first SOC, information authorizing the second SOC to enter into a sleep state in response to determining that the operating state of the first SOC is not indicative of data processing that is capable of causing a potential impending interaction between the first SOC and the second SOC;

receiving, by the second SOC, one of the information representing the advance notice of the potential impending interaction and the information authorizing the second SOC to enter into the sleep state from the first SOC;

executing, by the second SOC, an operating state of the second SOC based on the received information; and

communicating, by the second SOC, a request preventing the first SOC from transitioning into a reduced power state in response to determining that data received at the second SOC requires further processing by the first SOC.

2. The method of claim 1 , wherein executing an operating state of the second SOC based on the received information comprises executing, by a power manager executing on the second SOC, a power state of the second SOC based on the received information.

3. The method of claim 2 , wherein:

communicating the information representing the advance notice of the potential impending interaction between the first SOC and the second SOC comprises setting, by the first SOC, a value representing an operating state of the first SOC in a memory register of the second SOC; and

executing the power state of the second SOC based on the received information comprises determining, by the power manager executing the second SOC, the power state of the second SOC based on the value in the memory register of the second SOC.

4. The method of claim 2 , wherein:

communicating the information representing the advance notice of the potential impending interaction between the first SOC and the second SOC comprises sending, by the first SOC, a message to the power manager of the second SOC, the message containing a command relating to execution of one of plural power states; and

executing the power state of the second SOC based on the received information comprises determining, by the power manager of the second SOC, the power state of the second SOC based on the command sent in the message to the power manager.

5. A computing device comprising a first system-on-a-chip (“first SOC”) and a second system-on-a-chip (“second SOC”), each of the first SOC and the second SOC further comprising a processor configured with processor-executable instructions to perform operations for coordinating operating states of a plurality of SOCs within the computing device, the operations comprising:

determining, by the processor of the first SOC, whether an operating state of the first SOC is indicative of data processing that is capable of causing a potential impending interaction between the first SOC and the second SOC;

communicating information, by the processor of the first SOC, representing an advance notice of the potential impending interaction between the first SOC and the second SOC in response to determining that the operating state of the first SOC is indicative of data processing that is capable of causing the potential impending interaction between the first SOC and the second SOC;

communicating, by the processor of the first SOC, information authorizing the second SOC to enter into a sleep state in response to determining that the operating state of the first SOC is not indicative of data processing that is capable of causing a potential impending interaction between the first SOC and the second SOC;

receiving, by the processor of the second SOC, one of the information representing the advance notice of the potential impending interaction or the information authorizing the second SOC to enter into the sleep state from the first SOC;

executing, by the processor of the second SOC, an operating state of the second SOC based on the received information; and

communicating, by the processor of the second SOC, a request preventing the first SOC from transitioning into a reduced power state in response to determining that data received at the second SOC requires further processing by the first SOC.

6. The computing device of claim 5 , wherein the processor of the second SOC is configured with processor-executable instructions to perform operations such that executing an operating state of the second SOC based on the received information comprises executing a power state of the second SOC based on the received information.

7. The computing device of claim 6 , wherein:

the processor of the first SOC is configured with processor-executable instructions to perform operations such that communicating the information representing the advance notice of the potential impending interaction between the first SOC and the second SOC comprises setting a value representing an operating state of the first SOC in a memory register of the second SOC; and

the processor of the second SOC is configured with processor-executable instructions to perform operations such that executing the power state of the second SOC based on the received information comprises determining the power state of the second SOC based on the value in the memory register of the second SOC.

8. The computing device of claim 6 , wherein:

the processor of the first SOC is configured with processor-executable instructions to perform operations such that communicating the information representing the advance notice of the potential impending interaction between the first SOC and the second SOC comprises sending a message to the processor of the second SOC, the message containing a command relating to execution of one of plural power states; and

the processor of the second SOC is configured with processor-executable instructions to perform operations such that executing the power state of the second SOC based on the received information comprises determining the power state of the second SOC based on the command sent in the message to the processor of the second SOC.

9. A non-transitory processor-readable storage medium having stored thereon processor-executable instructions configured to cause a processor of a first system-on-a-chip (“first SOC”) and a processor of a second system-on-a-chip (“second SOC”) to perform operations for coordinating operating states of a plurality of SOCs within a computing device, the operations comprising:

determining, by the processor of the first SOC, whether an operating state of the first SOC is indicative of data processing that is capable of causing a potential impending interaction between the first SOC and the second SOC;

communicating, by the processor of the first SOC, information representing an advance notice of the potential impending interaction between the first SOC and the second SOC in response to determining that the operating state of the first SOC is indicative of data processing that is capable of causing the potential impending interaction between the first SOC and the second SOC;

communicating, by the processor of the first SOC, information authorizing the second SOC to enter into a sleep state in response to determining that the operating state of the first SOC is not indicative of data processing that is capable of causing a potential impending interaction between the first SOC and the second SOC;

receiving, by the processor of the second SOC, one of the information representing the advance notice of the potential impending interaction or the information authorizing the second SOC to enter into the sleep state from the first SOC;

executing, by the processor of the second SOC, an operating state of the second SOC based on the received information; and

communicating, by the processor of the second SOC, a request preventing the first SOC from transitioning into a reduced power state in response to determining that data received at the second SOC requires further processing by the first SOC.

10. The non-transitory processor-readable storage medium of claim 9 , wherein the stored processor-executable instructions are configured to cause the processor of the second SOC of the computing device to perform operations such that executing an operating state of the second SOC based on the received information comprises executing a power state of the second SOC based on the received information.

11. The non-transitory processor-readable storage medium of claim 10 , wherein:

the stored processor-executable instructions are configured to cause the processor of the first SOC to perform operations such that communicating the information representing the advance notice of the potential impending interaction between the first SOC and the second SOC comprises setting a value representing an operating state of the first SOC in a memory register of the second SOC; and

the stored processor-executable instructions are configured to cause the processor of the first SOC to perform operations such that executing the power state of the second SOC based on the received information comprises determining the power state of the second SOC based on the value in the memory register of the second SOC.

12. The non-transitory processor-readable storage medium of claim 10 , wherein:

the stored processor-executable instructions are configured to cause the processor of the first SOC to perform operations such that communicating the information representing the advance notice of the potential impending interaction between the first SOC and the second SOC comprises sending a message to the processor of the second SOC, the message containing a command relating to execution of one of plural power states; and

the stored processor-executable instructions are configured to cause the processor of the second SOC to perform operations such that executing the power state of the second SOC based on the received information comprises determining the power state of the second SOC based on the command sent in the message to the processor of the second SOC.

13. A computing device configured to coordinate operating states of a plurality of system-on-chips (SOCs) within the computing device, comprising:

means for determining in a first SOC whether an operating state of the first SOC is indicative of data processing that is capable of causing a potential impending interaction between the first SOC and a second SOC;

means for communicating in the first SOC information representing an advance notice of the potential impending interaction between the first SOC and the second SOC in response to determining that the operating state of the first SOC is indicative of data processing that is capable of causing the potential impending interaction between the first SOC and the second SOC;

means for communicating in the first SOC information authorizing the second SOC to enter into a sleep state in response to determining that the operating state of the first SOC is not indicative of data processing that is capable of causing a potential impending interaction between the first SOC and the second SOC;

means for receiving in the second SOC one of the information representing the advance notice of the potential impending interaction or the information authorizing the second SOC to enter into the sleep state from the first SOC;

means for executing in the second SOC an operating state of the second SOC based on the received information; and

means for communicating a request preventing the first SOC from transitioning into a reduced power state in response to determining that data received at the second SOC requires further processing by the first SOC.

14. The computing device of claim 13 , wherein the means for executing in a second SOC an operating state of the second SOC based on the received information comprises means for executing a power state of the second SOC based on the received information.

15. The computing device of claim 14 , wherein:

means for communicating in the first SOC the information representing the advance notice of the potential impending interaction between the first SOC and the second SOC comprises means for setting a value representing an operating state of the first SOC in a memory register of the second SOC; and

means executing in the second SOC the power state of the second SOC based on the received information comprises means for determining the power state of the second SOC based on the value in the memory register of the second SOC.

16. The computing device of claim 14 , wherein:

means for communicating in the first SOC the information representing the advance notice of the potential impending interaction between the first SOC and the second SOC comprises means for sending a message to the second SOC, the message containing a command relating to execution of one of plural power states; and

means for executing in the second SOC the power state of the second SOC based on the received information comprises means for determining the power state of the second SOC based on the command sent in the message to the processor of the second SOC.

17. The method of claim 1 , wherein executing the operating state of the second SOC based on the received information comprises:

determining whether the received information from the first SOC is the information authorizing the second SOC to enter into the sleep state; and

executing the sleep state of the second SOC in response to receiving the information authorizing the second SOC to enter into the sleep state from the first SOC.

18. The computing device of claim 5 , wherein the processor of the second SOC is configured with processor-executable instructions to perform operations such that executing the operating state of the second SOC based on the received information comprises:

determining, by the processor of the second SOC, whether the received information from the first SOC is the information authorizing the second SOC to enter into the sleep state; and

executing, by the processor of the second SOC, the sleep state of the second SOC in response to receiving the information authorizing the second SOC to enter into the sleep state from the first SOC.

19. The non-transitory processor-readable storage medium of claim 9 , wherein the stored processor-executable instructions are configured to cause the processor of the second SOC of the computing device to perform operations such that executing the operating state of the second SOC based on the received information comprises:

determining whether the received information from the first SOC is the information authorizing the second SOC to enter into the sleep state; and

executing the sleep state of the second SOC in response to receiving the information authorizing the second SOC to enter into the sleep state from the first SOC.

20. The computing device of claim 13 , wherein means for executing in the second SOC the operating state of the second SOC based on the received information comprises:

means for determining whether the received information from the SOC is the information authorizing the second SOC to enter into the sleep state; and

means for executing the sleep state of the second SOC in response to receiving the information authorizing the second SOC to enter into the sleep state from the first SOC.

21. The method of claim 1 , wherein the information authorizing the second SOC to enter into the sleep state comprises information indicating that no potential impending interaction between the first SOC and the second SOC exists.

22. The computing device of claim 5 , wherein the information authorizing the second SOC to enter into the sleep state comprises information indicating that no potential impending interaction between the first SOC and the second SOC exists.

23. The non-transitory processor-readable storage medium of claim 9 , wherein the information authorizing the second SOC to enter into the sleep state comprises information indicating that no potential impending interaction between the first SOC and the second SOC exists.

24. The computing device of claim 13 , wherein the information authorizing the second SOC to enter into the sleep state comprises information indicating that no potential impending interaction between the first SOC and the second SOC exists.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2015
From: RABII, KHOSRO MOHAMMAD; SUBRAMANIAM, VIJAY NAICKER; MULLU, VENU GOPAL RAO; MATTURI, VENKATA KIRAN KUMAR
To: QUALCOMM INCORPORATED
Reel/Frame 035629/0932 →
Continuity (1)
Related Publication 20160266633A1 · Sep 15, 2016