Asynchronous Data Exchange Using Four-Buffer Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data exchange mechanisms between producers and consumers in I/O scanning require complex handshake mechanisms, often involving semaphores and timeouts, leading to delays and inefficiencies, and may require costly hardware solutions.

Innovation Solution

A system and method that uses a 4-buffer producer/consumer data set with a computer program algorithm allowing asynchronous data exchange without blocking, using only a producer status byte, a consumer status byte, and distinct data buffer bins, minimizing shared memory accesses and eliminating the need for special purpose hardware.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a handshake mechanism with semaphores is used to ensure coherent access to shared memory, then data access reliability is improved, but data exchange speed deteriorates due to repeated access attempts and wait times

Engineering Contradiction:
Improvedata access coherenceVSAvoiddata exchange speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The shared memory is segmented into multiple buffer regions (first buffer, second buffer, third buffer, fourth buffer) that can be accessed independently. The producer and consumer operate on different buffers simultaneously, eliminating the need for repeated handshake attempts and improving data exchange speed while maintaining access coherence.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Status bytes are introduced as intermediary indicators to communicate buffer availability and access states between producer and consumer. Instead of using complex semaphore handshakes, the status bytes provide simple, direct information about buffer states, enabling faster and more reliable data exchange.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If critical regions and timeouts are implemented to handle data access timing, then data access safety is improved, but system complexity and error potential increase

Engineering Contradiction:
Improvedata access safetyVSAvoidaccess control complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system uses self-service mechanisms where the producer and consumer independently monitor status bytes to determine when buffers are available for access. This eliminates the need for complex critical region management and timeout calculations, reducing system complexity while maintaining access safety through independent, coordinated operations.

Inventive Principle:
Principle #25Self-service

3Reliability

If hardware mechanisms are used to assist with access control, then access reliability is improved, but installation and maintenance cost increase

Engineering Contradiction:
Improveaccess control reliabilityVSAvoidinstallation and maintenance cost
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The patent replaces hardware-based access control mechanisms with a software-based solution using status bytes and buffer management algorithms. This substitution eliminates the need for specialized hardware components, reducing installation and maintenance costs while maintaining access control reliability through software-coordinated operations.

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

4Reliability

If a command mechanism is used to prepare for controller access, then access coordination is improved, but processing delays increase due to reading commands

Engineering Contradiction:
Improveaccess coordinationVSAvoidprocessing delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system enables continuous data exchange operations by allowing the producer to continuously write to available buffers and the consumer to continuously read from filled buffers. Status bytes provide ongoing coordination without requiring periodic command reading, eliminating processing delays while maintaining access coordination.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS7945745B2Methods and systems for exchanging data
Publication Date: 2011.05.17 INTELLIGENT PLATFORMS LLC
  • US7945745B2 patent drawing
  • US7945745B2 patent drawing
  • US7945745B2 patent drawing

AI summary

A method for exchanging data between a producer and a consumer is provided. The method includes writing the data with the producer without blocking the consumer and without waiting for access to the consumer. The method also includes reading the data with the consumer without blocking the producer and without waiting for access to the producer. The data is exchanged from the producer to the consumer upon reading the data.