IP Library Granted Patent US 7,627,708
Granted Patent B2
US 7,627,708 · App. 12/340,957 · Granted Dec 1, 2009

Multi-host USB device

Assignee: Standard Microsystems Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,627,708
App. No.
12/340,957
Granted
Dec 1, 2009
Kind
B2
Abstract

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.

Claims (50)

1. A USB multi-host device comprising:

first and second upstream ports configured to couple to corresponding first and second hosts;

a USB function block; and

a multi-host device controller coupling the USB function block to the first and second upstream ports, wherein the multi-host device controller is configured to establish concurrent respective USB connections between the USB function block and the first and second upstream ports, to allow the corresponding first and second hosts to:

simultaneously enumerate and configure the USB multi-host device;

simultaneously access the USB multi-host device; and

alternately access the USB function block without reconfiguring and/or re-enumerating the USB multi-host device before each access.

2. The USB multi-host device of claim 1 , further comprising a first endpoint buffer coupled between the first upstream port and the multi-host device controller, and a second endpoint buffer coupled between the second upstream port and the multi-host device controller.

3. A USB multi-host device comprising:

a USB function block; and

a multi-host device controller coupling the USB function block to a first host and a second host, wherein the multi-host device controller is configured to establish a first USB connection between the first host and the USB function block and a second USB connection between the second host and the USB function block, wherein the first USB connection and the second USB connection are concurrent, to allow the first host and the second host to:

simultaneously access the USB multi-host device; and

alternately access the USB function block, without either one of the first and second hosts reconfiguring the USB multi-host device each time a different one of the first host and the second host is given access to the USB function block.

4. The USB multi-host device of claim 3 , wherein the multi-host USB device is not re-enumerated by either the first host or the second host each time the first host and the second host alternate accessing the USB function block.

5. The USB multi-host device of claim 3 , further comprising a first upstream port coupled between the first host and the multi-host device controller, and a second upstream port coupled between the second host and the multi-host device controller.

6. The USB multi-host device of claim 5 , further comprising a first endpoint buffer coupled between first upstream port and the multi-host device controller, and a second endpoint buffer coupled between the second upstream port and the multi-host device controller.

7. A USB device comprising:

a USB function block; and

a multi-host device controller configured to couple the USB function block to a plurality of hosts, wherein the multi-host device controller is operable to establish concurrent respective USB connections between the USB function block and the plurality of hosts, to allow the plurality of hosts to:

simultaneously enumerate and configure the USB device;

simultaneously access the USB device; and

alternately access the USB function block, without any of the plurality of hosts reconfiguring the USB device each time a different one of the plurality of hosts is given access to the USB function block.

8. The USB device of claim 7 , wherein the multi-host device controller is operable to simultaneously receive respective host requests from the plurality of hosts, wherein the multi-host device controller is operable to internally determine which of the respective host requests to service immediately.

9. The USB device of claim 8 , wherein the multi-host device controller is operable to interleave the respective host requests.

10. The USB device of claim 8 , wherein the multi-host device controller is operable to send not-ready packets in a USB specific manner to hosts whose request was not immediately serviced.

11. The USB device of claim 7 , wherein the multi-host device controller comprises an internal arbitration mechanism configured to permit the plurality of hosts to simultaneously request access to the USB function block by interleaving host access requests and/or by using a common request/grant structure;

wherein the common request/grant structure comprises one of the plurality of hosts being granted access to the USB function block while remaining ones of the plurality of hosts are not considered for access to the USB function block until the one of the plurality of hosts has completed accessing the USB function block.

12. The USB device of claim 11 , wherein the arbitration mechanism is configured according to a specific USB device type comprised in the USB function block.

13. The USB device of claim 7 , wherein a bandwidth from the USB function block to each respective one of the plurality of hosts is reduced to allow each respective one of the plurality of hosts equal access to the USB function block.

14. The USB device of claim 13 , wherein the bandwidth is not reduced if it exceeds a bandwidth of the respective one of the plurality of hosts.

15. The USB device of claim 7 , further comprising a respective upstream port coupled between the multi-host device controller and each of the plurality of hosts.

16. The USB device of claim 15 , further comprising a respective buffer coupled between each respective upstream port and the multi-host device controller.

17. The USB device of claim 7 , wherein the multi-host device controller is configured to maintain respective dedicated address, configuration, and response information for each of the plurality of hosts.

18. A method for sharing a USB device between multiple hosts, the method comprising:

establishing concurrent respective USB connections between a plurality of hosts and a shared USB function comprised in the USB device;

two or more of the multiple hosts simultaneously enumerating and configuring the USB device;

receiving respective access requests to the shared USB function from the two or more of the plurality of hosts; and

processing the respective access requests, to allow the two or more of the plurality of hosts to alternately access the shared USB function without any of the two or more of the plurality of hosts reconfiguring the USB device each time the USB function is accessed in response to a respective access request from a different one of the two or more of the plurality of hosts.

19. The method of claim 18 , wherein said processing comprises determining which of the respective access requests to service immediately, and servicing that respective access request.

20. The method of claim 19 , wherein said processing comprises holding off access to the shared USB function by those respective access requests that are not immediately serviced, until the shared USB function is no longer accessed by a given one of the two or more of the plurality of hosts from which the serviced respective access request was received.

21. The method of claim 18 , wherein said processing comprises interleaving accesses requested by the respective access requests to the shared USB function.

22. The method of claim 18 , further comprising maintaining respective dedicated address, configuration, and response information for each of the plurality of hosts.

23. A USB device comprising:

a shared USB function block; and

a 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;

wherein the controller is configured to receive and respond to simultaneous respective USB access requests sent by the two or more USB hosts for accessing the shared USB function.

24. The USB device of claim 23 , wherein in establishing the concurrent respective USB connections between the shared USB function block and the two or more USB hosts, the controller is operable to maintain respective dedicated address, configuration and response information for each of the two or more USB hosts.

25. The USB device of claim 23 , wherein the controller comprises:

a respective USB interface circuit for each of the two or more USB hosts, wherein each respective USB interface circuit enables the USB device to transmit and/or receive data over a USB bus; and

a respective endpoint buffer for each of the two or more USB hosts for storing respective dedicated address, configuration and response information for each of the two or more USB hosts.

Assignments (17)
RELEASE OF SECURITY INTEREST Recorded Mar 14, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 060894/0437 →
RELEASE OF SECURITY INTEREST Recorded Mar 11, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059363/0001 →
RELEASE OF SECURITY INTEREST Recorded Mar 10, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059863/0400 →
RELEASE OF SECURITY INTEREST Recorded Mar 9, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059358/0001 →
RELEASE OF SECURITY INTEREST Recorded Feb 28, 2022
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED
Reel/Frame 059666/0545 →
RELEASE OF SECURITY INTEREST Recorded Feb 25, 2022
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059333/0222 →
SECURITY INTEREST Recorded Jun 4, 2021
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 057935/0474 →
SECURITY INTEREST Recorded Dec 24, 2020
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 055671/0612 →
SECURITY INTEREST Recorded Jun 5, 2020
From: MICROCHIP TECHNOLOGY INC.; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 053468/0705 →
RELEASE OF SECURITY INTEREST Recorded May 30, 2020
From: JPMORGAN CHASE BANK, N.A, AS ADMINISTRATIVE AGENT
To: MICROCHIP TECHNOLOGY INC.; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 053466/0011 →
SECURITY INTEREST Recorded Apr 24, 2020
From: MICROCHIP TECHNOLOGY INC.; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 053311/0305 →
SECURITY INTEREST Recorded Sep 18, 2018
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 047103/0206 →
SECURITY INTEREST Recorded Jun 25, 2018
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 046426/0001 →
SECURITY INTEREST Recorded Feb 10, 2017
From: MICROCHIP TECHNOLOGY INCORPORATED
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 041675/0617 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 16, 2016
From: STANDARD MICROSYSTEMS LLC
To: MICROCHIP TECHNOLOGY INCORPORATED
Reel/Frame 039455/0072 →
CHANGE OF NAME Recorded Aug 5, 2016
From: STANDARD MICROSYSTEMS CORPORATION
To: STANDARD MICROSYSTEMS LLC
Reel/Frame 039599/0983 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 22, 2008
From: BOHM, MARK R.; GHOSH, ATISH
To: STANDARD MICROSYSTEMS CORPORATION
Reel/Frame 022014/0546 →
Continuity (3)
Continuation 1142561300 · Jun 21, 2006
Provisional Application 6079217800 · Apr 14, 2006
Related Publication 20090106474A1 · Apr 23, 2009