USB Controller Device Enumeration Timing Adjustment
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing USB 3.0 peripheral devices often require nearly the full pre-defined time period to identify themselves, leading to potential mis-enumeration as USB 2.0 devices, which limits data transfer rates and user experience, as they cannot re-enumerate as USB 3.0 devices once incorrectly enumerated.
Innovation Solution
A method and apparatus for detecting device connections over multiple resource controllers, where the controller determines parameters associated with the connection to identify the appropriate communication protocol, waiting an additional duration before enumeration if the device is USB 3.0 capable, ensuring accurate enumeration and supporting both USB 2.0 and USB 3.0 protocols via a single connector.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the controller uses the pre-defined time period for device enumeration, then the enumeration process completes within the specified time limit, but USB 3.0 capable devices may be mis-enumerated as USB 2.0 devices, resulting in reduced data transfer rates
Solution Approach 1:
The controller performs preliminary detection of device capabilities before final enumeration. It checks whether the device is USB 3.0 capable during the detection phase, and based on this preliminary information, adjusts the enumeration timing accordingly. This preliminary action prevents mis-enumeration by ensuring the device is properly identified before the enumeration process begins.
Solution Approach 2:
The controller dynamically adjusts the enumeration timing based on device type. For USB 3.0 capable devices, it waits an additional duration beyond the default time period to allow the device to fully identify itself. For USB 2.0 devices, it uses the standard enumeration timing. This dynamic adjustment ensures optimal enumeration accuracy for different device types without unnecessarily extending the process for all devices.
2Reliability
If the controller waits for the full pre-defined time period before enumeration, then USB 3.0 capable devices can be correctly identified, but the enumeration process exceeds the pre-defined time limit, causing timing violations
Solution Approach 1:
The controller performs preliminary detection of device capabilities before final enumeration. It checks whether the device is USB 3.0 capable during the detection phase, and based on this preliminary information, adjusts the enumeration timing accordingly. This preliminary action prevents mis-enumeration by ensuring the device is properly identified before the enumeration process begins.
Solution Approach 2:
The controller changes the time parameter dynamically based on device capabilities. For USB 3.0 capable devices, it extends the waiting duration beyond the default time period to ensure proper identification. For USB 2.0 devices, it maintains the standard enumeration timing. This parameter change allows the system to accommodate different device types without consistently exceeding time limits.
3Productivity
If the controller enumerates devices quickly using the default time period, then the enumeration process is efficient and completes within the time limit, but USB 3.0 capable devices are mis-enumerated as USB 2.0 devices, limiting data transfer rates to approximately 40 MB/s instead of exceeding 400 MB/s
Solution Approach 1:
The controller performs preliminary detection of device capabilities before final enumeration. It checks whether the device is USB 3.0 capable during the detection phase, and based on this preliminary information, adjusts the enumeration timing accordingly. This preliminary action prevents mis-enumeration by ensuring the device is properly identified before the enumeration process begins.
Solution Approach 2:
The controller dynamically adjusts the enumeration timing based on device type. For USB 3.0 capable devices, it waits an additional duration beyond the default time period to allow the device to fully identify itself. For USB 2.0 devices, it uses the standard enumeration timing. This dynamic adjustment ensures optimal enumeration accuracy for different device types without unnecessarily extending the process for all devices.
Data Source
AI summary
Methods and apparatus for reliable detection and enumeration of devices. In one embodiment, the controller comprises serialized bus protocol (e.g., a Universal Serial Bus (USB)) controller capable of supporting different bus architectures (e.g., USB 2.0 and USB 3.0) of the USB protocol (e.g., eXtensible Host Controller Interface (xHCI) controller). In one variant, when a USB-compliant device is detected over multiple bus architectures of a controller, the controller waits an additional period to allow the device to properly identify which bus architecture to use. After the time period has elapsed, if the device has been determined to be connected over the USB 3.0 bus architecture, the controller waits an additional period of time before enumerating the device. If the device is still present on the USB 3.0 bus architecture, the device continues to enumerate as a USB 3.0 advice to be made available to a host system.


