Circular Buffer Dynamic Permanent Memory Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional data buffers are inefficient in handling transient data, as they often require dedicated memory for long-term storage, which is wasteful due to the rarity and unpredictability of such needs, and struggle to dynamically allocate permanent storage within their existing capacity.

Innovation Solution

A circular buffer with an active cache window dynamically allocates permanent memory by identifying and freezing persistent data locations, using a write mask to prevent overwriting, allowing the buffer to operate efficiently for both transient and long-term data storage without dedicated permanent storage allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Duration of action of stationary object

If dedicated memory is allocated for permanent storage of buffer contents, then long-term storage capability is improved, but resource utilization efficiency deteriorates

Engineering Contradiction:
Improvestorage durationVSAvoidresource waste
Core Design Contradiction:
Duration of action of stationary objectVSLoss of energy

Solution Approach 1:

The patent implements dynamic memory allocation where buffer locations are not permanently dedicated but temporarily frozen as permanent storage locations based on runtime needs. The cache window position is dynamically adjusted, and locations are frozen/thawed as needed, transforming static dedicated memory into dynamic on-demand memory allocation.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The same buffer memory serves dual purposes: it functions as transient storage for circular buffer operations and as permanent storage when locations are frozen. This multi-functionality eliminates the need for separate dedicated permanent storage, allowing one memory resource to fulfill multiple storage requirements.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Reliability

If dedicated memory is allocated for permanent storage, then storage reliability is improved, but device complexity increases

Engineering Contradiction:
Improvestorage reliabilityVSAvoidmemory allocation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system continuously monitors buffer operations and automatically identifies when data needs permanent storage. The core interface detects persistent data patterns and triggers the freezing mechanism, creating a feedback loop that automatically manages memory allocation based on actual usage patterns without manual intervention.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The buffer system self-manages its own memory allocation by automatically detecting when transient storage is insufficient and freezing appropriate locations. The system serves its own memory management needs without external control, reducing overall system complexity.

Inventive Principle:
Principle #25Self-service

3Duration of action of stationary object

If the cache window position is frozen for permanent storage, then data persistence is improved, but buffer flexibility deteriorates

Engineering Contradiction:
Improvedata persistenceVSAvoidbuffer flexibility
Core Design Contradiction:
Duration of action of stationary objectVSAdaptability or versatility

Solution Approach 1:

The buffer is segmented into frozen locations (for persistent data) and unfrozen locations (for transient data). This segmentation allows simultaneous operation of both permanent and transient storage functions within the same buffer, maintaining flexibility while providing persistence where needed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The freezing state is dynamic and changeable. Locations can be frozen when persistence is needed and thawed when flexibility is required. The cache window position can be adjusted, and the system adapts its memory allocation pattern based on runtime requirements, maintaining both persistence and flexibility.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS7366842B1Creating permanent storage on the fly within existing buffers
Publication Date: 2008.04.29 NVIDIA CORP
  • US7366842B1 patent drawing
  • US7366842B1 patent drawing
  • US7366842B1 patent drawing

AI summary

A circular buffer having an active cache window can be configured to temporarily allocate one or more locations in the active cache as permanent memory locations to eliminate the possibility of overwriting the contents of the permanent memory locations. The cache window can be a subset of the entire circular buffer. If contents within the cache window are identified as persistent data, the locations corresponding to the persistent data can be identified as permanent memory locations. The position of the cache within the circular buffer can be frozen based on the permanent memory locations. A write mask can be used to maintain the contents of the permanent memory locations, while the remainder of the cache is configured as a temporary circular buffer. Operation of the cache returns to the entire circular buffer once the contents of the permanent memory locations no longer need to be maintained.