USB Extension Ping Intervention for Latency Compensation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
USB SuperSpeed connections are limited to short distances due to timing and signaling requirements, necessitating a method to extend USB communication beyond the standard cable length without compromising performance.
Innovation Solution
A system comprising upstream and downstream USB extension devices that use a non-USB extension medium, such as a network, to communicate USB information, handling ping packets and request packets to maintain stability and performance across extended distances, while hiding the extension medium from the host and USB devices, and compensating for latency introduced by the extension medium.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Length of stationary object
If USB SuperSpeed connection cable length is extended beyond 3 meters, then communication distance is improved, but timing mandates and signaling integrity deteriorate
Solution Approach 1:
The USB extension system divides the communication path into multiple segments: host device to UFP device via USB-compliant connection, UFP device to DFP device via non-USB extension medium, and DFP device to USB device via USB-compliant connection. This segmentation allows each segment to operate within its optimal parameters while achieving extended total distance.
Solution Approach 2:
The extension medium (network connection) acts as an intermediary between the UFP device and DFP device, carrying USB information packets over a non-USB medium that does not suffer from the same timing and signaling limitations as direct USB cables.
2Length of stationary object
If USB connection is extended using non-USB medium, then communication distance is improved, but communication stability deteriorates due to latency
Solution Approach 1:
The system performs preliminary actions by sending ping packets before actual USB communication to detect endpoint availability. The DFP device holds transmission of outgoing request packets based on incoming request packets until ping response is confirmed, preventing communication attempts to unavailable endpoints.
Solution Approach 2:
The system implements feedback mechanisms through ping packets and ping response packets that continuously monitor endpoint availability. The DFP device uses this feedback to dynamically control transmission timing, holding transmissions when endpoints are unavailable and resuming when they become available.
3Measurement precision
If ping packets are transmitted over extension medium, then endpoint availability detection is improved, but communication time increases due to round-trip latency
Solution Approach 1:
The system sends only essential ping packets for endpoint detection rather than attempting full USB communication protocols. This partial action approach achieves the necessary availability detection with minimal time investment, avoiding excessive communication overhead.
Solution Approach 2:
The system changes the communication parameter from full USB protocols to simplified ping packets for detection purposes. This parameter change allows rapid availability checking with reduced time requirements compared to complete USB handshaking sequences.
Data Source
AI summary
In some embodiments, a system for communicating USB information via an extension medium is provided. The system comprises an upstream facing port device (UFP device) and a downstream facing port device (DFP device). The UFP device is communicatively coupled to a host device via a USB-compliant connection. The DFP device is communicatively coupled to at least one USB device via a USB-compliant connection and communicatively coupled to the UFP device via a non-USB extension medium. The DFP device is configured to receive, from the UFP device, an incoming request packet addressed to a first USB endpoint provided by a USB device; and hold transmission of an outgoing request packet based on the incoming request packet to the USB device in response to determining that a ping response packet has not yet been received from the first USB endpoint.


