Associative Circular Buffer With CAM for Fixed-Latency Shared Memory
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory structures allocate contiguous memory for each channel based on the maximum rate, leading to inefficiency as only the equivalent of one memory portion is ever used, resulting in wasteful allocation.
Innovation Solution
An associatively indexed circular buffer (ACB) with a data store, contiguous pointer generator, content addressable memory (CAM), and free pool, allowing for dynamic allocation and fixed latency access through contiguous pointers and zero read latency using a zero read latency FIFO.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If contiguous memory is allocated for each channel based on maximum rate, then each channel can handle the maximum rate independently, but memory allocation becomes wasteful as only one memory portion is ever used
Solution Approach 1:
The patent merges the memory allocation strategy by creating a single shared circular buffer that is common to all channels instead of having separate contiguous memory for each channel. The content-addressable memory (CAM) maps logical channel addresses to physical memory locations within this shared buffer, allowing multiple channels to access the same physical memory space efficiently.
Solution Approach 2:
The patent introduces dynamic memory allocation where the circular buffer can be dynamically assigned to different channels based on actual usage patterns. The CAM enables flexible mapping between logical channel identifiers and physical memory locations, allowing the system to adapt memory allocation dynamically rather than statically allocating fixed portions for each channel.
2Loss of substance
If a single shared memory is used across all channels, then memory allocation efficiency improves, but data access latency increases due to arbitration and mapping overhead
Solution Approach 1:
The content-addressable memory (CAM) serves as an intermediary between the shared physical memory and the multiple channels. It provides fast lookup of physical addresses based on logical channel identifiers, enabling efficient memory access without requiring complex arbitration protocols or sequential scanning of memory locations.
Solution Approach 2:
The system performs preliminary address mapping and preparation in the CAM before actual data access occurs. By pre-establishing the mapping between logical and physical addresses and maintaining the circular buffer structure in advance, the system reduces the time needed for actual data retrieval operations.
3Loss of time
If contiguous pointers are used to manage memory allocation, then fixed latency random access is enabled, but memory structure complexity increases
Solution Approach 1:
The circular buffer structure serves multiple functions simultaneously: it acts as the actual data storage, provides the memory allocation mechanism through its dynamic assignment, and enables both FIFO and random access patterns. This multi-functionality reduces the need for separate specialized structures for each function.
Solution Approach 2:
The patent uses a simplified pointer-based representation (contiguous pointers) that copies or references the actual memory locations in the circular buffer. These pointers maintain the necessary mapping information without requiring complex data structures, allowing fast access while keeping the overall structure relatively simple.
Data Source
AI summary
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.


