Associative Circular Buffer for Shared Memory With Fixed-Latency Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory structures allocate contiguous memory for each channel based on the maximum data 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 non-contiguous storage and dynamic allocation, enabling in-order or random data access with fixed latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If contiguous memory is allocated for each channel based on maximum data rate, then each channel can handle the maximum rate independently, but memory allocation becomes wasteful as only one memory portion is ever used

Engineering Contradiction:
Improvechannel data handling capabilityVSAvoidmemory allocation efficiency
Core Design Contradiction:
ReliabilityVSLoss of substance

Solution Approach 1:

The memory is segmented into a single shared circular buffer instead of separate contiguous memory regions for each channel. The circular buffer is divided into multiple blocks that can be dynamically allocated to different channels based on actual needs, allowing efficient sharing while maintaining per-channel data handling capabilities.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The memory allocation becomes dynamic rather than static. Channels can dynamically claim and release blocks from the circular buffer based on their actual data handling requirements. The system tracks which blocks are in use by which channels and allows flexible reallocation, transforming the rigid contiguous allocation into a dynamic shared resource model.

Inventive Principle:
Principle #15Dynamics

2Loss of substance

If a single shared memory structure is used for multiple channels, then memory allocation efficiency improves, but data access latency increases due to arbitration and pointer management

Engineering Contradiction:
Improvememory allocation efficiencyVSAvoiddata access latency
Core Design Contradiction:
Loss of substanceVSLoss of time

Solution Approach 1:

The system performs preliminary actions by pre-allocating blocks to channels and maintaining a linked list of available blocks. When a channel needs data, it can quickly retrieve a pre-prepared block without waiting for complex arbitration, reducing latency while maintaining efficient shared memory usage.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

A block manager acts as an intermediary between channels and the circular buffer. It manages the allocation and deallocation of blocks, tracks which channels have claimed which blocks, and coordinates access. This intermediary layer abstracts the complexity of shared memory access and reduces direct arbitration overhead.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If contiguous pointers are managed separately for each channel, then channel-specific data access is simplified, but system complexity increases due to multiple pointer management structures

Engineering Contradiction:
Improvechannel data access simplicityVSAvoidpointer management structure
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The system merges the pointer management functions into a single unified structure. Instead of having separate pointer management for each channel, a single linked list of available blocks is maintained, and a single block manager handles allocation decisions for all channels. This reduces the number of separate data structures while maintaining simple per-channel access through the unified management layer.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS12468530B2Associatively indexed circular buffer
Publication Date: 2025.11.11 MARVELL ASIA PTE LTD
  • US12468530B2 patent drawing
  • US12468530B2 patent drawing
  • US12468530B2 patent drawing

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.