Circular Buffer Management for Consistent Subset Views

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems for controlling camera position in mobile devices face challenges in maintaining consistent subset views of an evolving data store, leading to inefficiencies in communication and potential outdated data readings.

Innovation Solution

Implementing a system with multiple memory buffers for each subset view, where a variable tracks the most-recently updated buffer, allowing for simultaneous updates across all views to ensure that read requests retrieve the latest data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a single buffer is used for each subset view, then the device complexity is reduced, but the productivity and data consistency across multiple views deteriorate due to blocking transfers and potential outdated readings

Engineering Contradiction:
Improvebuffer structure complexityVSAvoiddata transfer efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The data buffer is segmented into multiple circular buffers (at least three) for each subset view, allowing parallel data production and consumption operations. This segmentation enables non-blocking transfers by distributing data across multiple buffer regions, thereby improving productivity while maintaining manageable complexity through structured organization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a temporal dimension to buffer management by implementing circular buffering with wrap-around indices and version tracking. This adds a time-based layer to the buffer structure, enabling the system to track data freshness and maintain consistency across multiple subset views without proportionally increasing structural complexity.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Ease of operation

If multiple subset views share the same data store, then the ease of operation is improved, but the reliability of data consistency deteriorates due to potential outdated readings in different views

Engineering Contradiction:
Improvedata access simplicityVSAvoiddata consistency across views
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The system implements feedback mechanisms through version counters and buffer index tracking that monitor data updates across all subset views. When data is written to the evolving data store, the system tracks which buffers have been updated and ensures all subset views reference the most current data, maintaining reliability while preserving easy data access through unified viewing interfaces.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent introduces intermediary buffer management structures that mediate between the evolving data store and multiple subset views. These intermediary buffers act as consistency layers, ensuring that reads from any subset view return current data by coordinating updates across all views, thereby maintaining reliability without complicating the ease of operation.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If asynchronous data transfer is implemented, then the productivity is improved, but the difficulty of detecting and measuring data consistency worsens

Engineering Contradiction:
Improvedata transfer throughputVSAvoiddata consistency verification
Core Design Contradiction:
ProductivityVSDifficulty of detecting and measuring

Solution Approach 1:

The system performs preliminary actions by pre-initializing multiple circular buffers and establishing version tracking mechanisms before asynchronous operations begin. This preliminary setup includes configuring buffer indices, version counters, and consistency protocols, which simplifies the detection and measurement of data consistency during subsequent asynchronous transfers by having the measurement infrastructure already in place.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent replaces mechanical synchronization checks with software-based version tracking and buffer index comparison mechanisms. This substitution allows asynchronous data transfer to proceed without blocking while maintaining consistency through software protocols that track data versions and buffer states, making consistency verification easier despite the asynchronous nature of transfers.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS10963187B2Discrete exchange and update of multiple consistent subset views of an evolving data store
Publication Date: 2021.03.30 CIRRUS LOGIC INC
  • US10963187B2 patent drawing
  • US10963187B2 patent drawing
  • US10963187B2 patent drawing

AI summary

A system for reading a plurality of subset views of an evolving data store may include for each subset view, a plurality of memory buffers comprising at least three buffers. The system may also include control circuitry for controlling the plurality of memory buffers of the plurality of subset views, the control circuitry configured to maintain, for each subset view, a variable defining a most-recently updated buffer of the plurality of buffers such that a read request for such subset view will respond with data of the most-recently updated buffer of such subset view; and responsive to an update of data of the evolving data store: (i) determine, for each subset view, a selected data buffer of the plurality of buffers other than the most-recently updated buffer for such subset view to write updated subset view information; (ii) cause, for each subset view, the updated subset view information for such subset view to be written to the selected data buffer for such subset view; and (iii) substantially simultaneously across all of the plurality of subset views, update the variables defining the most-recently updated buffer of the plurality of subset views such that a subsequent read request for a subset view will respond with the updated subset view information for such subset view.