# US 9,437,299 B2 · Systems and methods for order scope transitions using cam

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,437,299 B2
- Document ID: US9437299B2
- Status: Granted
- Kind: B2
- Application number: 14/230,255
- Filed: 2014-03-31
- Published: 2015-10-01
- Granted: 2016-09-06
- Earliest claimed: 2014-03-31
- Assignees: Freescale Semiconductor, Inc.
- Applicants: Tommi M. Jokinen; John F. Pillar
- Inventors: Tommi M. Jokinen; John F. Pillar
- Web page: https://patentgrep.com/patent/US9437299B2

## CPC

- G11C 15/00: Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
- G06F 9/5038: {considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration (scheduling strategies G06F9/4881 and subgroups)}
- G11C 7/1006: {Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor}
- G11C: STATIC STORES (semiconductor memory devices H10B)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A data processing system includes a content addressable memory (CAM). Each entry of the CAM corresponds to a task and is configured to store a current scope of each task. A random access memory (RAM) is configured to shadow information of the CAM. Transition position storage circuitry is configured to store transition age positions for tasks. Control circuitry is configured to, in response to a command to transition a selected task to a destination scope, access the RAM to determine the current scope for the selected task, use the current scope to perform a match determination with the CAM to determine if any entries corresponding to tasks other than the selected task match the current scope; and for any matching entries, updating a transition age position in the transition position storage circuitry for the corresponding task within the current scope.

## Claims

### Claim 1

In a data processing system having a content addressable memory (CAM) wherein each entry of the CAM corresponds to a task and is configured to store a current scope of each task and a random access memory (RAM) configured to shadow information of the CAM, a method comprising:
receiving a command to change scope of a selected task to a destination scope;
accessing the RAM to determine the current scope of the selected task;
using the current scope to perform a match determination with the CAM to determine if any other tasks match the current scope; and
for any other tasks which result in a match with the current scope, updating a corresponding age position of the matching task within the current scope.

### Claim 2 (depends on 1)

The method of claim 1, wherein when the current scope is an exclusive scope, the updating a corresponding age position of the matching task within the current scope comprises:
for any other tasks which result in a match with the current scope, decrementing a corresponding exclusive age position of the matching task within the current scope.

### Claim 3 (depends on 2)

The method of claim 2, further comprising:
releasing the matching task having a youngest exclusive age position among the matching tasks to execute in the matching task's current scope.

### Claim 4 (depends on 1)

The method of claim 1, wherein the updating a corresponding age position of the matching task within the current scope comprises:
for any other tasks which result in a match with the current scope, decrementing a corresponding transition age position of the matching task within the current scope.

### Claim 5 (depends on 4)

The method of claim 4, wherein the steps of accessing the RAM, using the current scope to perform a match determination, and decrementing the corresponding transition position are performed when a corresponding transition position of the selected task becomes a youngest transition age position within the current scope.

### Claim 6 (depends on 5)

The method of claim 5, further comprising:
using the destination scope to perform a match determination with the CAM to determine a count of matching entries in the CAM.

### Claim 7 (depends on 6)

The method of claim 6, further comprising:
update the CAM and the RAM to store the destination scope as the current scope of the selected task, wherein the count corresponds to a transition age position of the destination scope.

### Claim 8 (depends on 7)

The method of claim 7, wherein when the destination scope is exclusive, the count corresponds to an exclusive age position of the destination scope.

### Claim 9 (depends on 1)

The method of claim 1, wherein the command to change scope of the selected task comprises a transition command to transition the scope of the selected task, and wherein during an exit phase of the transition, the updating the corresponding age position of the matching task within the current scope comprises updating a transition age position of the matching task within the current scope.

### Claim 10 (depends on 1)

The method of claim 1, wherein the command to change scope of the selected task comprises a transition command to transition the scope of the selected task, and wherein during an accept phase of the transition, the updating the corresponding age position of the matching task within the current scope comprises updating an exclusive age position of the matching task within the current scope.

### Claim 11

In a data processing system having a content addressable memory (CAM) wherein each entry of the CAM corresponds to a task and is configured to store a current scope of each task and a random access memory (RAM) configured to shadow information of the CAM, a method comprising:
receiving a command to change scope of a selected task;
accessing the RAM to determine the current scope of the selected task;
updating the current scope;
using the updated current scope to perform a match determination with the CAM to determine a number of entries in the CAM corresponding to tasks other than the selected task which match the updated current scope;
update the CAM and the RAM to store the updated current scope as the current scope of the selected task; and
using the number of entries to update a transition age position of the updated scope which is stored as the current scope of the selected task.

### Claim 12 (depends on 11)

The method of claim 11, further comprising:
when the current scope of the selected task is exclusive, using the updated current scope to perform a match determination with the CAM to determine a second number of entries in the CAM corresponding to exclusive tasks other than the selected task which match the updated current scope; and
using the second number of entries to update an exclusive age position of the updated scope which is stored as the current scope of the selected task.

### Claim 13 (depends on 11)

The method of claim 11, wherein the command to change scope of the selected task comprises a command for the selected tasks to enter an incremental scope.

### Claim 14

A data processing system, comprising:
a content addressable memory (CAM) wherein each entry of the CAM corresponds to a task and is configured to store a current scope of each task;
a random access memory (RAM) configured to shadow information of the CAM;
transition position storage circuitry configured to store transition age positions for tasks; and
control circuitry configured to, in response to a command to transition a selected task to a destination scope:
access the RAM to determine the current scope for the selected task;
use the current scope to perform a match determination with the CAM to determine if any entries corresponding to tasks other than the selected task match the current scope; and
for any matching entries, updating a transition age position in the transition position storage circuitry for the corresponding task within the current scope.

### Claim 15 (depends on 13)

The data processing system of claim 13, further comprising:
exclusive position storage circuitry configured to store exclusive age positions for tasks;
wherein the control circuitry is further configured to:
when the current scope is an exclusive scope, for any matching entries, updating an exclusive age position in the transition position storage circuitry for the corresponding task within the current scope.

### Claim 16 (depends on 14)

The data processing system of claim 14, wherein the control circuitry is further configured to release the matching task having a youngest exclusive age position among the matching tasks to execute in the matching task's current scope.

### Claim 17 (depends on 14)

The data processing system of claim 14, further comprising:
a destination random access memory (RAM) configured to store destination scopes for tasks.

### Claim 18 (depends on 17)

The data processing system of claim 17, wherein the control circuitry is further configured to:
use the destination scope to perform a match determination with the CAM to determine if any entries corresponding to tasks other than the selected task match the destination scope; and
for any matching entries resulting from using the destination scope to perform the match determination with the CAM, updating a transition age position in the transition position storage circuitry of the corresponding task within the current scope.

### Claim 19 (depends on 18)

The data processing system of claim 18, wherein the control circuitry is further configured to:
store the destination scope to the CAM and the RAM as the current scope of the selected task.

### Claim 20 (depends on 19)

The data processing system of claim 19, wherein the control circuitry is further configured to:
when using the destination scope to perform a match determination with the CAM, determine a count of matching entries; and
use the count to update a transition age position of the destination scope which is stored as the current scope of the select task.
