USB Transaction Translator Pre-fetching for Bandwidth Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing USB 3.0 transaction translator and isochronous-IN transaction method result in idle periods and inefficient bandwidth usage when a USB 2.0 device is connected to a USB 3.0 host, as the host and device remain idle until data is ready for transfer, and the isochronous-IN transaction may be canceled if the idle period exceeds a predefined value.

Innovation Solution

A USB 3.0 transaction translator with a device interface, host interface, buffers, and a controller that pre-fetches data from the device and stores it in buffers before the host sends an IN packet, allowing the translator to respond with pre-fetched data when the host acknowledges, thereby reducing idle time and improving bandwidth usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the host and device wait until data is ready before transferring, then data accuracy is maintained, but idle period increases and bandwidth usage decreases

Engineering Contradiction:
Improvedata accuracyVSAvoididle period
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The transaction translator pre-fetches data from the USB 2.0 device and stores it in buffers before the host sends the IN packet. This preliminary action ensures that data is already prepared and available when needed, eliminating the idle waiting period while maintaining data accuracy through proper buffering and timing control.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The transaction translator acts as an intermediary between the USB 3.0 host and USB 2.0 device. It receives data from the device, stores it in buffers, and forwards it to the host when appropriate, mediating the timing differences between device data readiness and host data requests to reduce idle periods while ensuring data integrity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the host waits for device data readiness, then data transfer accuracy is ensured, but USB 2.0 bandwidth usage is reduced

Engineering Contradiction:
Improvedata transfer accuracyVSAvoidbandwidth usage
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

Data is pre-fetched from the device and stored in buffers before the host initiates the data request. This preliminary data preparation maximizes USB 2.0 bandwidth utilization by keeping the device interface busy with data preparation rather than idle waiting, while maintaining transfer accuracy through controlled buffering.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The buffering mechanism enables continuous data preparation from the device while the host processes previous data, eliminating idle periods on the USB 2.0 interface. This continuous useful action maximizes bandwidth usage while ensuring data accuracy through proper buffer management and timing control.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS8473665B2Universal serial bus (USB) transaction translator and a universal serial bus (USB) isochronous-in transaction method
Publication Date: 2013.06.25 EVERPRO TECH COMPANY
  • US8473665B2 patent drawing
  • US8473665B2 patent drawing
  • US8473665B2 patent drawing

AI summary

The present invention is directed to a universal serial bus (USB) transaction translator and an associated IN isochronous transaction method. A device interface is coupled to a device via a device bus, and a host interface is coupled to a host via a host bus, wherein the host USB version is higher than the device USB version. At least two buffers configured to store data are disposed between the device interface and the host interface. A controller stores the data in the buffers alternately. A register is used to record device bus information. Before the host sends an IN packet, the controller pre-fetches data from the device according to the device bus information and then stores the data in the buffers; the controller responds with the pre-fetched data to the host after the host sends the IN packet.