IP Library Granted Patent US 7,127,547
Granted Patent B2
US 7,127,547 · App. 10/675,717 · Granted Oct 24, 2006

Processor with multiple linked list storage feature

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 7,127,547
App. No.
10/675,717
Granted
Oct 24, 2006
Kind
B2
Abstract

A processor includes controller circuitry operative to control the storage of a plurality of separate linked list data structures for protocol data units received by the processor. The linked list data structures are stored in memory circuitry associated with the processor, and the memory circuitry is arranged in a plurality of banks. The plurality of banks are configured to store respective ones of the plurality of separate linked list data structures, such that each of the plurality of banks stores a corresponding one of the plurality of separate linked list data structures. The linked list data structures are accessed in an alternating manner that reduces the likelihood of access conflicts between the banks. The processor may be configured as a network processor integrated circuit to provide an interface between a network and a switch fabric in a router or switch.

Claims (37)

1. A processor comprising:

controller circuitry operative to control the storage of a plurality of separate linked list data structures for protocol data units received by the processor;

the linked list data structures being storable in memory circuitry associated with the processor;

wherein the memory circuitry is arranged in a plurality of banks, the plurality of banks being configured to store respective ones of the plurality of separate linked list data structures, such that each of the plurality of banks stores a corresponding one of the plurality of separate linked list data structures;

wherein the linked list data structures are accessed in an alternating manner that avoids access conflicts between the banks; and

wherein a given one of the linked list data structures comprises a plurality of entries each having a block descriptor and at least one block address associated therewith.

2. The processor of claim 1 wherein at least a portion of the memory circuitry associated with the processor comprises an external memory connectable to the processor.

3. The processor of claim 1 wherein at least a portion of the memory circuitry associated with the processor comprises an internal memory of the processor.

4. The processor of claim 1 wherein the memory circuitry comprises a dynamic random access memory (DRAM).

5. The processor of claim 1 wherein the memory circuitry comprises at least four distinct memory banks, each of the four memory banks storing a corresponding one of four separate linked list data structures.

6. The processor of claim 1 wherein the linked list data structures are accessed in an alternating manner by accessing the corresponding memory banks sequentially in accordance with a round-robin selection algorithm.

7. The processor of claim 1 wherein the protocol data unit comprises a packet.

8. The processor of claim 1 wherein a given one of the block descriptors is associated with a particular data block of a given protocol data unit.

9. The processor of claim 1 wherein the processor is configured to provide an interface for communication of the received protocol data units between a network and a switch fabric.

10. The processor of claim 1 wherein the processor comprises a network processor.

11. The processor of claim 1 wherein the processor is configured as an integrated circuit.

12. A processor comprising:

controller circuitry operative to control the storage of a plurality of separate linked list data structures for protocol data units received by the processor;

the linked list data structures being storable in memory circuitry associated with the processor;

wherein the memory circuitry is arranged in a plurality of banks, the plurality of banks being configured to store respective ones of the plurality of separate linked list data structures, such that each of the plurality of banks stores a corresponding one of the plurality of separate linked list data structures;

wherein the linked list data structures are accessed in an alternating manner that avoids access conflicts between the banks; and

wherein block addresses associated with a given one of the linked list data structures share a common set of lower order bits which identify the corresponding memory bank in which the linked list data structure is stored.

13. A processor comprising:

controller circuitry operative to control the storage of a plurality of separate linked list data structures for protocol data units received by the processor;

the linked list data structures being storable in memory circuitry associated with the processor;

wherein the memory circuitry is arranged in a plurality of banks, the plurality of banks being configured to store respective ones of the plurality of separate linked list data structures, such that each of the plurality of banks stores a corresponding one of the plurality of separate linked list data structures;

wherein the linked list data structures are accessed in an alternating manner that avoids access conflicts between the banks; and

wherein a particular linked list data structure to be accessed in a given access interval is determined based at least in part on one or more lower order address bits of block addresses associated with that linked list data structure.

14. The processor of claim 13 wherein the two lowest order address bits are used to identify a particular one of four memory banks to be accessed for a given access interval.

15. A method for use in a processor comprising controller circuitry, the method comprising the steps of:

storing in memory circuitry associated with the processor a plurality of separate linked list data structures for protocol data units received by the processor, wherein the memory circuitry is arranged in a plurality of banks, the plurality of banks being configured to store respective ones of the plurality of separate linked list data structures, such that each of the plurality of banks stores a corresponding one of the plurality of separate linked list data structures; and

accessing the linked list data structures in an alternating manner that avoids access conflicts between the banks;

wherein a given one of the linked list data structures comprises a plurality of entries each having a block descriptor and at least one block address associated therewith.

16. An article of manufacture comprising a machine-readable storage medium having program code stored thereon for use in a processor comprising controller circuitry, the program code when executed in the processor implementing the steps of:

storing in memory circuitry associated with the processor a plurality of separate linked list data structures for protocol data units received by the processor, wherein the memory circuitry is arranged in a plurality of banks, the plurality of banks being configured to store respective ones of the plurality of separate linked list data structures, such that each of the plurality of banks stores a corresponding one of the plurality of separate linked list data structures; and

accessing the linked list data structures in an alternating manner that avoids access conflicts between the banks;

wherein a given one of the linked list data structures comprises a plurality of entries each having a block descriptor and at least one block address associated therewith.

Assignments (8)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 8, 2016
From: INTEL CORPORATION
To: BEIJING XIAOMI MOBILE SOFTWARE CO., LTD.
Reel/Frame 037733/0440 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032856-0031) Recorded Feb 2, 2016
From: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
To: LSI CORPORATION; AGERE SYSTEMS LLC
Reel/Frame 037684/0039 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 24, 2015
From: LSI CORPORATION
To: INTEL CORPORATION
Reel/Frame 035090/0477 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS AT REEL/FRAME NO. 32856/0031 Recorded Nov 18, 2014
From: DEUTSCHE BANK AG NEW YORK BRANCH
To: LSI CORPORATION; AGERE SYSTEMS LLC
Reel/Frame 034286/0872 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 14, 2014
From: AGERE SYSTEMS LLC
To: LSI CORPORATION
Reel/Frame 034245/0655 →
CERTIFICATE OF CONVERSION Recorded Oct 19, 2014
From: AGERE SYSTEMS INC.
To: AGERE SYSTEMS LLC
Reel/Frame 034014/0846 →
PATENT SECURITY AGREEMENT Recorded May 8, 2014
From: LSI CORPORATION; AGERE SYSTEMS LLC
To: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
Reel/Frame 032856/0031 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2003
From: UTLEY, ROBERT H.
To: AGERE SYSTEMS INC.
Reel/Frame 014565/0310 →