IP Library Granted Patent US 9,563,494
Granted Patent B2
US 9,563,494 · App. 14/673,373 · Granted Feb 7, 2017

Systems and methods for managing task watchdog status register entries

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,563,494
App. No.
14/673,373
Granted
Feb 7, 2017
Kind
B2
Abstract

The present disclosure provides system and method embodiments for a status register comprising a plurality of bits, where each of the plurality of bits of the status register is associated with one of a plurality of entities. A trigger mechanism is configured to write a trigger data pattern to the status register, where the trigger data pattern comprises a first state value for each of the plurality of bits of the status register. A capture mechanism is configured to write a second state value to each bit of the status register that is associated with an entity that is presently associated with a first type of entity status information, in response to a detection that the trigger data pattern is written to the status register.

Claims (82)

1. A data processing system comprising:

one or more processors each configured to execute a plurality of tasks;

one or more watchdog status registers each comprising a plurality of bits, wherein

each watchdog status register is associated with one of the one or more processors, and

each bit of the plurality of bits of one watchdog status register is associated with one task of the plurality of tasks of one processor that is associated with the one watchdog status register;

a centralized watchdog task configured to

determine whether every bit of the plurality of bits of a respective watchdog status register stores a first state value, and

write a trigger data pattern to the respective watchdog status register, in response to a determination that every bit of the plurality of bits of the respective watchdog status register stores the first state value, wherein

the trigger data pattern comprises the first state value for each of the plurality of bits of the respective watchdog status register; and

one or more hardware logic circuits each associated with a particular processor that is associated with a particular watchdog status register, each hardware logic circuit configured to

identify a set of active tasks of the particular processor that are presently in an active task state, in response to a detection that the trigger data pattern is written to the particular watchdog status register.

2. The data processing system of claim 1 , wherein

each hardware logic circuit is further configured to

write a second state value to each bit of the particular watchdog status register that is associated with one of the set of active tasks, and

the first state value remains in each bit of the particular watchdog status register that is not associated with one of the set of active tasks.

3. The data processing system of claim 2 , wherein

each hardware logic circuit is further configured to

detect that a particular task has a task state transition from the active task state to an inactive task state, and

write the second state value to a particular bit of the particular watchdog status register that is associated with the particular task to store the first state value in the particular bit, in response to detection of the task state transition.

4. The data processing system of claim 1 , wherein

the centralized watchdog task is further configured to

provide an error notification in response to a determination that every bit of the plurality of bits does not store the first state value.

5. The data processing system of claim 4 , wherein

the error notification comprises a task identifier of each task associated with each bit that does not store the first state value.

6. The data processing system of claim 4 , wherein

the centralized watchdog task is further configured to

write the trigger data pattern to the respective watchdog status register, subsequent to the error notification.

7. The data processing system of claim 1 , wherein

each hardware logic circuit is configured to identify the set of active tasks by being further configured to

sample a plurality of present task state identifiers of the plurality of tasks of the particular processor, and

determine whether a respective present task state identifier (ID) of a respective task does not match an inactive task state value, wherein

the respective task is identified as one of the set of active tasks in response to a determination that the respective present task state ID does not match the inactive task state value.

8. The data processing system of claim 1 , further comprising:

a watchdog task scheduler configured to

initiate the centralized watchdog task in response to expiration of a time period, wherein

the time period has a duration longer than a maximum expected task lifetime, and

the centralized watchdog task is configured to terminate after the trigger data pattern is written to the watchdog status register.

9. The data processing system of claim 1 , wherein

each hardware logic circuit is further configured to

selectively clear a particular bit of the particular watchdog status register in response to detection that a debugging mode is activated for a particular task associated with the particular bit.

10. An integrated circuit comprising:

a status register comprising a plurality of bits, wherein

each of the plurality of bits of the status register is associated with one of a plurality of entities;

a trigger mechanism configured to

write a trigger data pattern to the status register in response to a determination that every bit of the plurality of bits stores a first state value, wherein

the trigger data pattern comprises the first state value for each of the plurality of bits of the status register; and

a capture mechanism configured to

write a second state value to each bit of the status register that is associated with an entity that is presently associated with a first type of entity status information, in response to a detection that the trigger data pattern is written to the status register.

11. The integrated circuit of claim 10 , further comprising

a clear mechanism configured to

write the second state value to a particular bit of the status register to store the first state value in the particular bit.

12. The integrated circuit of claim 11 , wherein

the first state value comprises a logic low value, and

the second state value comprises a logic high value.

13. A method comprising:

determining, by a centralized watchdog task configured to execute on a processor, whether every bit of a plurality of bits of a watchdog status register stores a first state value, wherein

each bit of the plurality of bits is associated with one task of a plurality of tasks;

writing, by the centralized watchdog task, a trigger data pattern to the watchdog status register, in response to a determination that every bit of the plurality of bits stores the first state value, wherein

the trigger data pattern comprises the first state value for each of the plurality of bits; and

identifying, by hardware logic circuitry, a set of active tasks that are presently in an active task state, in response to a detection that the trigger data pattern is written to the watchdog status register.

14. The method of claim 13 , further comprising:

writing, by the hardware logic circuitry, a second state value to each bit of the watchdog status register that is associated with one of the set of active tasks, wherein

the first state value remains in each bit of the watchdog status register that is not associated with one of the set of active tasks.

15. The method of claim 14 , further comprising:

detecting, by the hardware logic circuitry, that a particular task has a task state transition from the active task state to an inactive task state; and

writing, by the hardware logic circuitry, the second state value to a particular bit of the watchdog status register that is associated with the particular task to store the first state value in the particular bit, in response to detection of the task state transition.

16. The method of claim 13 , further comprising:

providing, by the centralized watchdog task, an error notification in response to a determination that every bit of the plurality of bits does not each store the first state value, wherein

the error notification comprises a task identifier of each task associated with each bit that does not store the first state value.

17. The method of claim 16 , further comprising:

writing, by the centralized watchdog task, the trigger data pattern to the watchdog status register, subsequent to the error notification.

18. The method of claim 13 , wherein

the identifying the set of active tasks further comprises

sampling a plurality of present task state identifiers of the plurality of tasks, and

determining whether a respective present task state identifier (ID) of a respective task does not match an inactive task state value, wherein

the respective task is identified as one of the set of active tasks in response to a determination that the respective present task state ID does not match the inactive task state value.

19. The method of claim 13 , further comprising:

initiating, by a watchdog task scheduler, the centralized watchdog task in response to expiration of a time period, wherein

the time period has a duration longer than a maximum expected task lifetime, and

the centralized watchdog task is configured to terminate after the trigger data pattern is written to the watchdog status register.

20. The method of claim 13 , further comprising:

selectively clearing, by the hardware logic circuitry, a particular bit of the watchdog status register in response to a detection that a debugging mode is selected for a particular task associated with the particular bit.

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 7, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037458/0341 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 7, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037458/0359 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037357/0974 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded May 4, 2015
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 035571/0080 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded May 4, 2015
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 035571/0095 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded May 4, 2015
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 035571/0112 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 30, 2015
From: MOYER, WILLIAM C.; KARDONIK, MICHAEL
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 035291/0025 →