Asynchronous Data Transfer Control via Dual Alternating Paths
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Asynchronous communication over long wires results in significant underutilization of data paths due to idle periods during acknowledge signal transmission, leading to a 50% bandwidth penalty, as data paths are busy only half the time.
Innovation Solution
Implementing a system with two control paths that alternately control data transmission on a data path, using request and acknowledge lines to send consecutive data items within a single round-trip delay time, and optionally merging these lines onto a single physical wire or using delay-matched alternation wires to ensure equal control times.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If asynchronous communication with single control path is used, then simplicity of control is maintained, but data path utilization drops to 50% due to idle periods during acknowledge signal transmission
Solution Approach 1:
The single control path is segmented into two separate control paths: a first control path for controlling first data items and a second control path for controlling second data items. This segmentation allows independent control of multiple data transmissions, eliminating idle periods and improving data path utilization from 50% to 100% while maintaining asynchronous operation.
Solution Approach 2:
The control mechanism transitions from one-dimensional (single control path) to two-dimensional control by introducing a second control path that operates in parallel with the first control path. This dimensional expansion enables simultaneous control of multiple data items without interfering with each other, resolving the bandwidth penalty issue.
2Speed
If repeaters are inserted along long wires to reduce delay, then transmission speed improves, but bandwidth does not improve since each repeater only amplifies and does not hold information
Solution Approach 1:
The wire is divided into multiple segments with repeaters positioned at intervals. Each repeater is paired with a data latch to form a functional unit that can both amplify signals and store data. This segmentation transforms the simple amplification function into a dual function of amplification and storage, enabling improved bandwidth.
Solution Approach 2:
Data latches are nested within or alongside the repeaters, creating a composite structure where the repeater-amplifier and latch存储器 work together as an integrated unit. This nested configuration allows the system to achieve both speed improvement through amplification and bandwidth improvement through data holding capability.
3Productivity
If latched repeaters are used to improve both delay and bandwidth, then transmission performance improves, but the requirement for fast clock becomes difficult and expensive
Solution Approach 1:
The data latches are configured to automatically latch data when control signals from the control paths indicate readiness, without requiring an external fast clock. The latches self-regulate their operation based on the asynchronous control signals, eliminating the need for complex clock generation circuitry while maintaining improved bandwidth and delay performance.
Solution Approach 2:
The synchronous clock mechanism is replaced with an asynchronous control system using control paths that generate control signals based on data availability and transmission status. This substitution eliminates the mechanical clock system and its associated complexity while achieving the same functional goals of coordinated data transmission.
Data Source
AI summary
One embodiment of the present invention provides a system that asynchronously controls the sending of data items from a sender to a receiver. The system includes a data path between the sender and the receiver, a first control path between the sender and the receiver, and a second control path between the sender and the receiver. The first control path and the second control path alternately control the asynchronous transmission of consecutive data items on the data path between the sender and the receiver.


