Methods and apparatus for forming linked list queue using chunk-based structure
First Claim
1. A processing system comprising:
- processing circuitry; and
memory circuitry, coupled to the processing circuitry, the memory circuitry configurable to maintain at least one queue structure representing a list of data units, the queue structure being partitioned into two or more blocks, at least some of the blocks of the queue structure including two or more data units, the at least one queue structure having a head pointer and a tail pointer associated therewith, the head pointer and the tail pointer being configurable to point to a data unit within a block.
7 Assignments
0 Petitions
Accused Products
Abstract
A processing system comprises processing circuitry and memory circuitry coupled to the processing circuitry. The memory circuitry is configurable to maintain at least one queue structure representing a list of data units (e.g., pointers to packets stored in a packet memory). The queue structure is partitioned into two or more blocks (e.g., chunks) wherein at least some of the blocks of the queue structure include two or more data units. Further, at least some of the blocks of the queue structure may include a pointer to a next block of the queue structure (e.g., a next chunk pointer). Given such a queue structure, the processing circuitry is configurable to address a first block of the queue structure, and then address a next block of the queue structure by setting the next block pointer of the first block to point to the next block.
43 Citations
18 Claims
-
1. A processing system comprising:
-
processing circuitry; and
memory circuitry, coupled to the processing circuitry, the memory circuitry configurable to maintain at least one queue structure representing a list of data units, the queue structure being partitioned into two or more blocks, at least some of the blocks of the queue structure including two or more data units, the at least one queue structure having a head pointer and a tail pointer associated therewith, the head pointer and the tail pointer being configurable to point to a data unit within a block. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for use in a data processing system, the method comprising the step of:
-
maintaining, in memory circuitry, at least one queue structure representing a list of data units, the queue structure being partitioned into two or more blocks, at least some of the blocks of the queue structure including two or more data units, the at least one queue structure having a head pointer and a tail pointer associated therewith, the head pointer and the tail pointer being configurable to point to a data unit within a block. - View Dependent Claims (12, 13, 14, 15, 16)
addressing a first block of the queue structure, in accordance with processing circuitry coupled to the memory circuitry; and
addressing a next block of the queue structure by setting the next block pointer of the first block to point to the next block, in accordance with the processing circuitry.
-
-
15. The method of claim 11 wherein the data units in a given block are contiguously located in the memory circuitry.
-
16. The method of claim 11 further comprising the step of maintaining, in association with the queue structure, at least one list of pointers representing available blocks of the queue structure.
-
17. A data structure comprising:
-
a first data block element representing two or more data units; and
at least a second data block element, partitioned from the first data block element, also representing two or more data units;
wherein the first data block element and the at least a second data block element cumulatively form a queue structure representing a list of data units, the queue structure having a head pointer and a tail pointer associated therewith, the head pointer and the tail pointer being configurable to point to a data unit within a data block element. - View Dependent Claims (18)
-
Specification