Persistent USB Device Enumeration via Pre-stored Descriptors

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing USB enumeration process is time-consuming when multiple devices are connected, particularly in applications like automotive systems where high-bandwidth devices such as cameras and displays are persistently coupled with the host controller, leading to significant initialization time before they become operational.

Innovation Solution

Implementing a persistent enumeration process that reduces the number of enumeration commands through either software-based storage of hashed USB device descriptors or hardware-based pre-stored device details, allowing the host controller to quickly move USB devices from an 'address' state to a 'configured' state without extensive software intervention.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If traditional USB enumeration process is used for multiple persistently connected devices, then complete device identification and configuration is achieved, but initialization time becomes excessively long

Engineering Contradiction:
ImproveUSB enumeration timeVSAvoiddevice initialization speed
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The patent applies preliminary action by pre-storing USB device descriptor information (such as vendor ID, product ID, and configuration parameters) in a lookup table or database within the host controller before actual device connection. When a device is connected, the host controller performs a quick match against stored descriptors rather than executing the full enumeration sequence, thereby dramatically reducing initialization time while maintaining complete device identification and configuration capabilities.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If full USB enumeration commands are executed for each device, then accurate device parameters are obtained, but the number of enumeration commands increases significantly

Engineering Contradiction:
Improvedevice parameter accuracyVSAvoidenumeration command execution time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent extracts only the essential identification parameters (vendor ID, product ID, device class) from the complete USB descriptor set and stores them in a condensed lookup format. During device connection, the host controller retrieves only these extracted key parameters to identify the device, obtaining accurate device information without executing the full sequence of enumeration commands that would transfer the complete descriptor set, thus reducing command execution time while maintaining parameter accuracy.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If persistent connections are used for high-bandwidth devices, then device availability is improved, but boot-time requirements are not met in time-critical systems

Engineering Contradiction:
Improvedevice availabilityVSAvoidboot-time initialization speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent applies preliminary action by pre-configuring and storing all necessary device parameters, endpoint configurations, and driver information for persistently connected high-bandwidth devices during system boot or device registration. This allows the host controller to bypass the time-consuming enumeration process during actual device operation, maintaining high device availability while meeting strict boot-time requirements in time-critical embedded systems through rapid device activation.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10963406B2Persistent universal serial bus (USB) device enumeration
Publication Date: 2021.03.30 TAHOE RES LTD
  • US10963406B2 patent drawing
  • US10963406B2 patent drawing
  • US10963406B2 patent drawing

AI summary

Embodiments may relate to a universal serial bus (USB)-enabled apparatus that includes one or more USB devices that are coupled with a USB host controller by a persistent connection. The USB host controller may identify that the USB device is persistently coupled and then identify USB device information related to the USB device, wherein the USB device information is stored prior to the identification of the USB device. The USB host controller may then use that identified information to perform USB enumeration. Other embodiments may be described or claimed.