IP Library Granted Patent US 8,385,472
Granted Patent B2
US 8,385,472 · App. 13/084,439 · Granted Feb 26, 2013

Context-sensitive overhead processor

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 8,385,472
App. No.
13/084,439
Granted
Feb 26, 2013
Kind
B2
Abstract

An overhead processor for data transmission in digital communications, where a state machine, including a logic element and a flip-flop, is able to process a “previous” data state and a “next” data state simultaneously by storing the previous state in an external elastic storage element until the next state arrives along the datapath. By employing flip-flops on the path from the logic element to the elastic store and on the path from the elastic store to the logic element, data is transmitted faster, resulting in the ability for both the previous data state and the next data state to be transmitted simultaneously, in one clock cycle, requiring half of the transmission time required by prior art.

Claims (63)

1. A processor comprising:

storage circuitry comprising a first memory, wherein the first memory is configured to store a plurality of states associated with a plurality of state machines; and

processing circuitry configured to:

receive, on a datapath, data associated with a first state machine of the plurality of state machines, and

receive, from the storage circuitry, a state associated with the first state machine of the plurality of state machines, wherein:

the data, received by the processing circuitry on the datapath and associated with the first state machine of the plurality of state machines, is received concurrently with the state received by the processing circuitry from the storage circuitry, on a communication link different than the datapath, and associated with the first state machine of the plurality of state machines.

2. The processor of claim 1 , wherein the first memory comprises an elastic store.

3. The processor of claim 1 , wherein the storage circuitry further comprises a second memory configured to:

receive the state associated with the first state machine of the plurality of state machines from the first memory; and

provide the state associated with the first state machine of the plurality of state machines to the processing circuitry concurrently with the data associated with the first state machine of the plurality of state machines being received by the processing circuitry on the datapath.

4. The processor of claim 3 , wherein:

the storage circuitry further comprises a third memory;

the processing circuitry is further configured to:

compute a second state associated with the first state machine of the plurality of state machines based at least in part on the received data associated with the first state machine of the plurality of state machines and the received state associated with the first state machine of the plurality of state machines, and

store the second state associated with the first state machine of the plurality of state machines in the third memory; and

the third memory is configured to transfer the second state associated with the first state machine of the plurality of state machines to the first memory.

5. The processor of claim 4 , wherein:

the second memory comprises at least one flip-flop; and

the third memory comprises at least one flip-flop.

6. The processor of claim 1 , wherein the processing circuitry is further configured to request that the storage circuitry provide the state associated with the first state machine of the plurality of state machines concurrently with the data associated with the first state machine of the plurality of state machines being received on the datapath.

7. The processor of claim 1 , wherein the processing circuitry is further configured to compute a second state associated with the first state machine of the plurality of state machines based at least in part on the received data associated with the first state machine of the plurality of state machines and the received state associated with the first state machine of the plurality of state machines.

8. The processor of claim 1 , wherein the data associated with a first state machine of the plurality of state machines and the state associated with the first state machine of the plurality of state machines are received by the processing circuitry during a single clock cycle.

9. The processor of claim 1 , wherein:

the plurality of states associated with a plurality of state machines comprises a plurality of contexts;

the received state associated with the first state machine of the plurality of state machines comprises a first of the plurality of contexts; and

the data associated with the first state machine of the plurality of state machines comprises overhead bytes associated with the first of the plurality of contexts.

10. A processor comprising:

storage circuitry comprising:

a first memory, wherein the first memory is configured to store a plurality of states associated with a plurality of state machines,

a second memory,

a third memory; and

processing circuitry configured to:

receive, on a datapath, during a first clock cycle, data associated with a first state machine of the plurality of state machines,

receive, from the second memory, during the first clock cycle, a first state associated with the first state machine of the plurality of state machines,

compute a second state associated with the first state machine of the plurality of state machines based at least in part on the received data associated with the first state machine of the plurality of state machines and the received first state associated with the first state machine of the plurality of state machines, and

store the second state associated with the first state machine of the plurality of state machines in the third memory.

11. The processor of claim 10 , wherein:

the plurality of states associated with a plurality of state machines comprise a plurality of contexts;

the received first state associated with the first state machine of the plurality of state machines comprises a first of the plurality of contexts;

the data associated with the first state machine of the plurality of state machines comprises overhead bytes associated with the first of the plurality of contexts; and

the computed second state associated with the first state machine of the plurality of state machines comprises a second of the plurality of contexts.

12. A method comprising:

storing a plurality of states associated with a plurality of state machines using storage circuitry, wherein the storage circuitry comprises a first memory;

receiving, on a datapath, data associated with a first state machine of the plurality of state machines; and

receiving, from the storage circuitry, a state associated with the first state machine of the plurality of state machines, wherein:

the data, received on the datapath and associated with the first state machine of the plurality of state machines, is received concurrently with the state received from the storage circuitry, on a communication link different than the datapath, and associated with the first state machine of the plurality of state machines.

13. The method of claim 12 , wherein the first memory comprises an elastic store.

14. The method of claim 12 , wherein the storage circuitry further comprises a second memory, the method further comprising:

transferring the state associated with the first state machine of the plurality of state machines from the first memory to the second memory; and

receiving the state associated with the first state machine of the plurality of state machines from the second memory at the same time as receiving the data associated with the first state machine of the plurality of state machines.

15. The method of claim 14 , wherein the storage circuitry further comprises a third memory, the method further comprising:

computing a second state associated with the first state machine of the plurality of state machines based at least in part on the received data associated with the first state machine of the plurality of state machines and the received state associated with the first state machine of the plurality of state machines; and

storing the second state associated with the first state machine of the plurality of state machines in the third memory, wherein the third memory is configured to transfer the second state associated with the first state machine of the plurality of state machines to the first memory.

16. The method of claim 15 , wherein:

the second memory comprises at least one flip-flop; and

the third memory comprises at least one flip-flop.

17. The method of claim 12 , further comprising requesting that the storage circuitry provide the state associated with the first state machine of the plurality of state machines at the same time as the data associated with the first state machine of the plurality of state machines is received on the datapath.

18. The method of claim 12 , the further comprising computing a second state associated with the first state machine of the plurality of state machines based at least in part on the received data associated with the first state machine of the plurality of state machines and the received state associated with the first state machine of the plurality of state machines.

19. The method of claim 12 , wherein the data associated with a first state machine of the plurality of state machines and the state associated with the first state machine of the plurality of state machines are received during a single clock cycle.

20. The method of claim 12 , wherein:

the plurality of states associated with a plurality of state machines comprise a plurality of contexts;

the received state associated with the first state machine of the plurality of state machines comprises a first of the plurality of contexts; and

the data associated with the first state machine of the plurality of state machines comprises overhead bytes associated with the first of the plurality of contexts.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 19, 2024
From: INTEL CORPORATION
To: ALTERA CORPORATION
Reel/Frame 066353/0886 →
CHANGE OF NAME Recorded Oct 10, 2022
From: INTEL TECHNOLOGY OF CANADA, LTD.
To: INTEL TECHNOLOGY OF CANADA, ULC
Reel/Frame 061359/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 10, 2022
From: INTEL TECHNOLOGY OF CANADA, ULC
To: INTEL CORPORATION
Reel/Frame 061368/0947 →
MERGER AND CHANGE OF NAME Recorded Aug 29, 2022
From: ALTERA CANADA LTD.; INTEL OF CANADA, LTD.
To: INTEL OF CANADA, LTD.
Reel/Frame 060921/0206 →
CHANGE OF NAME Recorded Aug 29, 2022
From: ALTERA CANADA CO.
To: ALTERA CANADA LTD.
Reel/Frame 061333/0007 →
CHANGE OF NAME Recorded Aug 29, 2022
From: INTEL OF CANADA, LTD.
To: INTEL TECHNOLOGY OF CANADA, LTD.
Reel/Frame 061334/0500 →