Asynchronous Data Exchange Using Four-Buffer Segmentation
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
3Reliability
If hardware mechanisms are used to assist with access control, then access reliability is improved, but installation and maintenance cost increase
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.
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
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.
Data Source
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.


