Multi-Host USB Device Controller for Simultaneous Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing USB systems restrict simultaneous access to a USB device by multiple hosts, requiring re-configuration and loss of internal state information when switching access between hosts.
Innovation Solution
A multi-host USB device controller allows a single USB device to be shared across multiple hosts without re-configuration, using separate buffers and an internal arbitration mechanism for each host to manage access, enabling simultaneous configuration and access by multiple hosts.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a USB device is shared between multiple hosts using switching devices or stand-alone USB switches, then device sharing capability is improved, but simultaneous access by multiple hosts is lost and internal state information is lost during re-configuration
Solution Approach 1:
The USB device is segmented into multiple independent host interfaces (first host interface and second host interface), each capable of simultaneous enumeration and communication with different hosts. This segmentation allows each host to maintain its own connection and access the device independently without requiring re-configuration when switching hosts.
Solution Approach 2:
The USB device controller is designed with multi-functionality to support multiple host connections simultaneously. It can enumerate and communicate with multiple hosts at the same time, making the device universally accessible to different hosts without losing its configured state or requiring re-initialization.
2Ease of operation
If switching devices are used to allow device sharing between multiple hosts, then ease of operation is improved, but device complexity increases due to re-configuration requirements
Solution Approach 1:
The controller includes separate host interface segments that can operate independently and simultaneously. This eliminates the need for complex switching logic and re-configuration procedures, simplifying the overall system while maintaining ease of operation.
Solution Approach 2:
An arbitration mechanism acts as an intermediary to manage access to shared resources when multiple hosts are connected. This mediator coordinates host access without requiring device re-configuration, maintaining simplicity while enabling multi-host operation.
3Device complexity
If a single host controller configures and accesses a USB device, then device configuration simplicity is improved, but flexibility to share with multiple hosts deteriorates
Solution Approach 1:
The USB device controller is designed with universal multi-functionality to support multiple host connections simultaneously. Each host interface can independently enumerate and configure the device, providing flexibility for multi-host sharing while maintaining configuration simplicity through standardized USB protocols.
Solution Approach 2:
The system transitions from a single-dimension (single host) architecture to a multi-dimension (multiple hosts) architecture by adding additional host interfaces. This dimensional expansion enables simultaneous multi-host access without complicating the fundamental configuration process.
Data Source
AI summary
A USB device may be simultaneously configured and accessed by two or more USB hosts. The USB device may include separate upstream ports and buffers for each host, and a multi-host capable device controller configured to respond to simultaneous USB requests received from more than one host. The USB device may maintain a dedicated address, configuration, and response information for each host. The USB device may include a shared USB function block, and a multi-host controller configured to establish concurrent respective USB connections between the shared USB function block and two or more USB hosts, to allow the two or more USB hosts to simultaneously configure the USB device for the shared USB function. The multi-host controller may be configured to receive and respond to simultaneous respective USB access requests for the shared USB function sent by the two or more USB hosts.


