Buffer Management Using Segmented Block Pointers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing buffer management systems in multiprocessor and multitask environments face inefficiencies in data exchange between processing entities, particularly in allowing simultaneous access and ensuring data integrity without locking the buffer, which can lead to reduced processing efficiency.

Innovation Solution

A method for managing a buffer divided into blocks, using leading and following pointers that move in the same direction without crossing each other, along with block state information indicating busy, write-completed, or read-completed states, to enable secure multiaccess and efficient data transfer between producers and consumers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If locking mechanism is used to ensure data integrity during buffer access, then data reliability is improved, but processing speed deteriorates due to exclusive access requirements

Engineering Contradiction:
Improvedata integrityVSAvoidprocessing speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The buffer is divided into multiple blocks that can be independently accessed. Multiple producers and consumers can simultaneously access different blocks without requiring global locking, thus maintaining data integrity while improving processing speed through parallel access.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Pointer information serves as an intermediary mechanism to coordinate access between producers and consumers. The leading pointer and following pointer track the state of each block, enabling multiple processing entities to access the buffer concurrently without direct conflicts, eliminating the need for traditional locking while ensuring data integrity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If multiple processing entities access the buffer simultaneously, then processing efficiency is improved, but data integrity deteriorates without proper synchronization

Engineering Contradiction:
Improveprocessing efficiencyVSAvoiddata integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The buffer is segmented into multiple independent blocks, allowing simultaneous access by multiple processing entities. Each block can be accessed by different producers and consumers at the same time, improving processing efficiency while maintaining data integrity through independent block management.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system uses pointer feedback mechanisms (leading pointer and following pointer) to track the state of each block. This feedback allows processing entities to determine whether a block is available for writing or reading, ensuring that simultaneous access does not compromise data integrity while maximizing processing efficiency.

Inventive Principle:
Principle #23Feedback

3Device complexity

If traditional circular queue with single markers is used, then implementation simplicity is improved, but processing parallelism deteriorates

Engineering Contradiction:
Improveimplementation simplicityVSAvoidprocessing parallelism
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The buffer is divided into multiple blocks with independent pointer management for each block. This segmentation enables multiple producers and consumers to operate in parallel on different blocks simultaneously, improving processing parallelism while maintaining manageable complexity through systematic pointer tracking.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system transitions from a single-marker circular queue to a multi-pointer block-based structure. By adding the dimension of block segmentation and independent pointer management, the system achieves higher processing parallelism while keeping the implementation systematic and manageable through clear pointer update rules.

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

Data Source

PatentEP1936501B1Buffer management method and buffer management device
Publication Date: 2018.08.08 SONY INTERACTIVE ENTERTAINMENT LLC
  • EP1936501B1 patent drawingFigure 1
  • EP1936501B1 patent drawingFigure 2~4
  • EP1936501B1 patent drawingFigure 5~7

AI summary

In Fig. 2, a buffer 20 is provided with a leading pointer 44 and a following pointer 48. A bitmap in which two bits are assigned to each block is updated to retain which states blocks are in, busy, write-completed, or read-completed. Under the constraint that the two pointers move in the same direction and do not pass each other: after the block designated by the leading pointer 44 starts to be written, the leading pointer 44 is moved to a next block only if the next block is in the read-completed state; and after the block designated by the following pointer 48 starts to be read, the following pointer 48 is moved to a next block only if the next block is in the write-completed state.