IP Library Granted Patent US 9,900,390
Granted Patent B2
US 9,900,390 · App. 14/718,826 · Granted Feb 20, 2018

Method and apparatus for controlling wake events in a data processing system

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,900,390
App. No.
14/718,826
Granted
Feb 20, 2018
Kind
B2
Abstract

A system and methods controlling wake events in a data processing system is described. A broadcast wake-up signal staggering order is determined in response to a first wake event. A staggered broadcast wake-up signal is distributed to a plurality of processing elements based on the broadcast wake-up signal staggering order. The broadcast wake-up signal staggering order is changed in response to a second wake event. And a changed staggered broadcast wake-up signal is distributed to a plurality of processing elements based on the changed broadcast wake-up signal staggering order.

Claims (29)

1. A method for controlling wake events in a data processing system, the method comprising:

determining a broadcast wake-up signal staggering order in response to a first wake event;

distributing a first staggered broadcast wake-up signal to a plurality of processing elements in a system-on-a-chip based on the broadcast wake-up signal staggering order, wherein the first staggered broadcast wake-up signal causes each of the processing elements to exit a sleep state in response to the first staggered broadcast wake-up signal being received by the processing element;

receiving a second wake event during the distributing of the first staggered broadcast wake-up signal;

changing the broadcast wake-up signal staggering order in response to the second wake event; and

distributing a second staggered broadcast wake-up signal to the plurality of processing elements based on the changed broadcast wake-up signal staggering order, wherein distributing a second staggered broadcast wake-up signal includes distributing the second staggered broadcast wake-up signal to the processing elements in the plurality which received the first staggered broadcast wake-up signal before the second wake event.

2. The method of claim 1 , further comprising determining which processing elements in the plurality receive the first staggered broadcast wake-up signal.

3. The method of claim 1 , wherein distributing the second broadcast wake-up signal further comprises distributing the second staggered broadcast wake-up signal to the plurality of processing elements after stopping the distributing of the first staggered broadcast wake-up signal to the plurality of processing elements during the process of distributing the first staggered broadcast wake-up signal.

4. The method of claim 1 , wherein distributing the first staggered broadcast wake-up signal includes distributing a set of staggered broadcast wake-up signals, each signal in the set staggered according to a programmable delay.

5. The method of claim 1 , wherein the broadcast wake-up signal staggering order is based on a rotating policy.

6. The method of claim 1 , wherein the first wake event or the second wake event is provided by one of the processing elements in the plurality.

7. The method of claim 1 , wherein the first wake event or the second wake event is an indication of a semaphore availability.

8. The method of claim 1 , wherein the first staggered broadcast wake-up signal and the second staggered broadcast wake-up signal is a pulsed signal provided to at least one of the processing elements in the plurality.

9. The method of claim 1 , wherein at least one of the processing elements is in a low power state when receiving the first staggered broadcast wake-up signal or the second staggered broadcast wake-up signal.

10. A method for controlling wake events in a data processing system, the method comprising:

receiving a first wake event;

distributing a first staggered broadcast wake-up signal to a plurality of processing elements in a system-on-a-chip in response to the first wake event, wherein the first staggered broadcast wake-up signal causes each of the processing elements to exit a sleep state in response to the first staggered broadcast wake-up signal being received by the processing element;

receiving a second wake event during the distributing of the first staggered broadcast wake-up signal; and

distributing a second staggered broadcast wake-up signal to a subset of the plurality of processing elements that had received the first staggered broadcast wake-up signal before the second wake event was received in response to the second wake event.

11. The method of claim 10 , wherein distributing a second staggered broadcast wake-up signal to the plurality of processing elements in response to the second wake event comprises distributing the second staggered broadcast wake-up signal to the plurality of processing elements after all of the processing elements in the plurality received the first staggered broadcast wake-up signal.

12. The method of claim 10 , wherein the first wake event or the second wake event is provided by one of the processing elements in the plurality.

13. The method of claim 10 , wherein distributing a first staggered broadcast wake-up signal includes distributing a set of staggered broadcast wake-up signals, each signal in the set being staggered according to a programmable delay.

14. The method of claim 10 , wherein the first wake event or the second wake event is an indication of a semaphore availability.

15. The method of claim 10 , wherein distributing a second broadcast wake-up signal further comprises distributing the second staggered broadcast wake-up signal to the plurality of processing elements after stopping the distributing of the first staggered broadcast wake-up signal to the plurality of processing elements during the process of distributing the first staggered broadcast wake-up signal.

16. A data processing system, comprising:

a plurality of central processing circuits in a system-on-a-chip, each central processing circuit of the plurality having an input to receive a wake-up signal; and

a staggering unit in the system-on-a-chip having an input for receiving a wake event signal and a set of outputs, each output of the set coupled to a corresponding central processing circuit input, the hardware staggering unit to distribute a first staggered broadcast wake-up signal via the set of outputs to the plurality of central processing circuits based on a first broadcast wake-up signal staggering order determined in response to a first wake event received at the input of the staggering unit, wherein the first staggered broadcast wake-up signal causes each of the central processing circuits to exit a sleep state in response to the first staggered broadcast wake-up signal being received by the central processing circuit;

wherein the staggering unit to change the first broadcast wake-up signal staggering order to a second broadcast wake-up signal staggering order determined in response to a second wake event received at the input of the staggering unit, the second wake event occurring during the distributing of the first staggered broadcast wake-up signal, and to distribute a second staggered broadcast wake-up signal to the plurality of central processing circuits based on the second broadcast wake-up signal, wherein distributing a second staggered broadcast wake-up signal includes distributing the second staggered broadcast wake-up signal to the processing elements in the plurality which received the first staggered broadcast wake-up signal before the second wake event.

17. The data processing system of claim 16 , wherein the staggering unit includes a delay unit coupled to a counter unit for staggering each staggered signal according to a predetermined delay.

Assignments (15)
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040925 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Feb 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V. F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 052917/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040928 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Jan 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 052915/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050744/0097 →
CORRECTIVE ASSIGNMENT TO CORRECT THE NATURE OF CONVEYANCE PREVIOUSLY RECORDED AT REEL: 040626 FRAME: 0683. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER AND CHANGE OF NAME EFFECTIVE NOVEMBER 7, 2016. Recorded Jan 12, 2017
From: NXP SEMICONDUCTORS USA, INC. (MERGED INTO); FREESCALE SEMICONDUCTOR, INC. (UNDER)
To: NXP USA, INC.
Reel/Frame 041414/0883 →
CHANGE OF NAME Recorded Nov 16, 2016
From: FREESCALE SEMICONDUCTOR INC.
To: NXP USA, INC.
Reel/Frame 040626/0683 →
RELEASE OF SECURITY INTEREST Recorded Nov 7, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 040928/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 21, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V., F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 040925/0001 →
SUPPLEMENT TO THE SECURITY AGREEMENT Recorded Jun 16, 2016
From: FREESCALE SEMICONDUCTOR, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039138/0001 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 20, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037565/0510 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 20, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037565/0527 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037357/0859 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded Aug 6, 2015
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 036284/0105 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded Aug 6, 2015
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 036284/0363 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded Aug 6, 2015
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 036284/0339 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 21, 2015
From: HOLLOWAY, DAVID C.; ECKERMANN, BENJAMIN C.; GERGEN, JOSEPH P.; HUNTER, CRAIG C.; MARIETTA, BRYAN D.; TODD, DAVID W.
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 035692/0465 →