Associatively indexed circular buffer
AssigneeMarvell Asia Pte Ltd
InventorLawrence Said
Life of this patent
Estimating the term…
Abstract
Some embodiments of the present disclosure provide an associatively indexed circular buffer (ACB). The ACB may be viewed as a dynamically allocatable memory structure that offers in-order data access (say, first-in-first-out, or “FIFO”) or random order data access at a fixed, relatively low latency. The ACB includes a data store of non-contiguous storage. To manage the pushing of data to, and popping data from, the data store, the ACB includes a contiguous pointer generator, a content addressable memory (CAM) and a free pool.
Claims20
A method comprising:
- receiving a push operation instruction;
- obtaining a data-store address;
- obtaining, from a contiguous pointer generator, a contiguous pointer;
- writing the contiguous pointer to a content addressable memory (CAM) at a CAM address corresponding to the data-store address;
- and
- writing a data that is to be pushed to the data-store address.
An associatively indexed circular buffer (ACB), the ACB comprising:
- a data store;
- a contiguous pointer generator;
- a content addressable memory (CAM);
- a free pool;
- and
- a control element configured to:
- receive a push operation instruction;
- obtain a data-store address;
- obtain, from the contiguous pointer generator, a contiguous pointer;
- write the contiguous pointer to the CAM at a CAM address corresponding to the data-store address;
- and
- write a data that is to be pushed to the data-store.
A method comprising:
- receiving a pop operation instruction;
- providing a continuous pointer to a content addressable memory (CAM);
- receiving, from the CAM, a data-store address;
- reading data from the data-store address of a data-store;
- and
- providing the data in response to the pop operation instruction.
An associatively indexed circular buffer (ACB), the ACB comprising:
- a data store;
- a contiguous pointer generator;
- a content addressable memory (CAM);
- and
- a control element configured to:
- receive a pop operation instruction;
- provide a continuous pointer to the content addressable memory (CAM);
- receive, from the CAM, a data-store address;
- read data from the data store at the data-store address;
- and
- provide the data in response to the pop operation instruction.
A device comprising:
- a means for receiving a push operation instruction;
- a means for obtaining a data-store address;
- a means for obtaining, from a contiguous pointer generator, a contiguous pointer;
- a means for writing the contiguous pointer to a content addressable memory (CAM) at a CAM address corresponding to the data-store address;
- and
- a means for writing a data that is to be pushed to the data-store address.
A device comprising:
- a means for receiving a pop operation instruction;
- a means for providing a continuous pointer to a content addressable memory (CAM);
- a means for receiving, from the CAM, a data-store address;
- a means for reading data from the data-store address of a data-store;
- and
- a means for providing the data in response to the pop operation instruction.
Dependencies are inferred from the claim text.