A better understanding of the present invention may be obtained when the following detailed description is considered in conjunction with the following drawings, in which:
While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the drawings and detailed description thereto are not intended to limit the invention to the particular form disclosed, but on the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the present invention as defined by the appended claims. Note, the headings are for organizational purposes only and are not meant to be used to limit or interpret the description or claims. Furthermore, note that the word “may” is used throughout this application in a permissive sense (e.g., having the potential to or being able to in some embodiments), not a mandatory sense (i.e., must). The term “include”, and derivations thereof, mean “including, but not limited to”. The term “coupled” means “directly or indirectly connected”.
In one set of embodiments, a multi-host USB device may provide maximum flexibility and a simple means by which to cheaply share devices with multiple hosts, by providing a separate configuration and access interface for each upstream host.
In one embodiment of multi-host (or USB sharing) device 106, shown in
Multi-host device 106 may also be configured with Endpoint and status buffers 306 and 308, coupling USB multi-host device controller 108 to PHY 302 and PHY 304, respectively. Endpoint buffers 306 and 308 may be used by upstream ports 302 and 304, and USB multi-host device controller 108 to buffer data and control reads and writes to/from each respective host corresponding to PHY 302 and PHY 304, and/or peripheral device/function 312 coupled to USB multi-host device controller 108.
In one set of embodiments, USB multi-host device controller 108 may be configured with an internal arbitration mechanism that may permit each host—first host 102 and second host 104, for example—to access shared peripheral function 312 by either interleaving host accesses, or by using a common request/grant structure that may hold-off one host while another host completes a data transfer to/from shared device/function 312. The selection of the specific mechanism used may be configured according to the specific USB device type that is being shared. In one set of embodiments, the bandwidth from shared peripheral device/function 312 to each host may be reduced in order to allow each host equal access. In other embodiments, the bandwidth may not be reduced if the bandwidth of the peripheral function exceeds the bandwidth of the host.
It should be noted that while
Although the embodiments above have been described in considerable detail, other versions are possible. Numerous variations and modifications will become apparent to those skilled in the art once the above disclosure is fully appreciated. It is intended that the following claims be interpreted to embrace all such variations and modifications. Note the section headings used herein are for organizational purposes only and are not meant to limit the description provided herein or the claims attached hereto.
This application claims benefit of priority of provisional application Ser. No. 60/792,178 titled “Multi-Host USB Device Controller”, filed on Apr. 14, 2006, whose inventors are Mark. R Bohm and Atish Ghosh, and which is hereby incorporated by reference as though fully and completely set forth herein.
Number | Date | Country | |
---|---|---|---|
60792178 | Apr 2006 | US |