Universal serial bus control device and control method thereof

By setting up multiple host interfaces in the USB controller and using an index lookup table, the problem of classifying and managing USB devices is solved, enabling flexible use of USB ports and resource sharing.

CN115693316BActive Publication Date: 2026-04-17VIA TECH INC
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
VIA TECH INC
Filing Date
2022-10-28
Publication Date
2026-04-17

AI Technical Summary

Technical Problem

Existing technologies make it difficult to effectively classify and manage different types of USB devices, resulting in USB ports losing their flexible usage functionality.

Method used

It employs a combination of multiple host interfaces and an index lookup table. The index lookup table records the USB port relationships that each host interface is responsible for, enabling the classification and management of USB devices, and sharing hardware components through various judgment mechanisms.

Benefits of technology

It enables flexible management of various types of USB devices, maintains the flexible use of USB ports, and avoids functional limitations caused by the single allocation of physical resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115693316B_ABST
    Figure CN115693316B_ABST
Patent Text Reader

Abstract

A universal serial bus control device and its control method are disclosed. The USB control device includes multiple host interfaces, multiple USB ports, bus physical layer circuitry, a microprocessor, and a bus scheduling controller. The bus scheduling controller controls the bus physical layer circuitry according to USB tasks. The microprocessor obtains USB task instructions through the host interfaces, and these USB task instructions include the USB port number of a specific host interface. The microprocessor uses an index lookup table to look up the USB port number of the specific host interface to find the corresponding specific USB port, generates a USB task based on this specific USB port, and transmits this USB task to the bus scheduling controller. The index lookup table records the relationship between a portion of the USB ports managed by each host interface and their USB port numbers.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to computer technology using a Universal Serial Bus (USB), and particularly to a Universal Serial Bus control device and control method thereof. Background Technology

[0002] Currently, the most common connection interface used in computer peripherals is the USB interface, which continues to be used in everything from small mobile devices to large workstations. Devices using USB interfaces (hereinafter referred to as USB devices) have various types and application characteristics. For example, displays, high-definition cameras, and speakers have high bandwidth transmission requirements; some devices (such as facial recognition cameras, fingerprint scanners, and USB flash drives) have information security requirements; while general-purpose human-computer input devices (such as keyboards, mice, etc.), fans, power banks, etc., have no special types or application characteristics. Due to the large number of types of USB devices, it is difficult to classify them, and therefore difficult to manage them.

[0003] Therefore, how to classify and manage these USB devices while maintaining the flexible usage of USB itself is the research trend of USB device management technology in practical applications. Summary of the Invention

[0004] This invention provides a universal serial bus control device and its control method, which enables the USB control device to classify and manage various types of USB devices through multiple host interfaces, and allows all USB ports in the USB control device to still have flexible usage functionality.

[0005] The Universal Serial Bus (USB) control device of this invention includes multiple host interfaces, multiple USB ports, a bus physical layer circuit, a microprocessor, and a bus scheduling controller. The bus physical layer circuit is coupled to the multiple USB ports. The microprocessor is coupled to the multiple host interfaces. The bus scheduling controller is coupled to the multiple host interfaces, the microprocessor, and the bus physical layer circuit. The bus scheduling controller controls the bus physical layer circuit based on at least one USB task. The microprocessor obtains a USB task instruction through the multiple host interfaces. The USB task instruction includes a USB port number of a specific host interface, wherein the specific host interface is one of the multiple host interfaces. The microprocessor queries an index lookup table to find the USB port number of the specific host interface corresponding to a specific USB port, generates the at least one USB task based on the specific USB port, and transmits the at least one USB task to the bus scheduling controller. The specific USB port is one of the multiple USB ports, and the index lookup table records the relationship between a portion of the multiple USB ports managed by each host interface and the USB port number.

[0006] An embodiment of the present invention provides a control method for a Universal Serial Bus (USB) control device, comprising the following steps: obtaining a USB task instruction through multiple host interfaces, the USB task instruction including a USB port number of a specific host interface, wherein the specific host interface is one of the multiple host interfaces; querying an index lookup table to find the USB port number of the specific host interface corresponding to a specific USB port; generating at least one USB task based on the specific USB port, wherein the specific USB port is one of the multiple USB ports of the USB control device, the index lookup table being used to record the relationship between a portion of the multiple USB ports managed by each host interface and the USB port number; and completing the at least one USB task by means of a bus scheduling controller and a bus physical layer circuit.

[0007] Based on the above, the Universal Serial Bus control device and its control method described in this embodiment of the invention set up multiple host interfaces in the USB control device and used an index lookup table to configure and share some hardware components, thereby using multiple judgment mechanisms to classify and manage multiple types of USB devices, and ensuring that all USB ports in the USB control device still have flexible usage functionality. Attached Figure Description

[0008] Figure 1 This is a block diagram of a Universal Serial Bus (USB) control device 100 according to an embodiment of the present invention.

[0009] Figure 2 This is a schematic diagram of the index lookup table 140 in this embodiment.

[0010] Figure 3 This is a flowchart of a control method for a Universal Serial Bus (USB) control device 100 according to an embodiment of the present invention.

[0011] [Symbol Explanation]

[0012] 11: Host Controller Driver

[0013] 100: Universal Serial Bus (USB) control device

[0014] 110-1, 110-2: Host Interface

[0015] 120: Microprocessor

[0016] 125: Firmware

[0017] 130: Bus Scheduling Controller

[0018] 140: Indexed lookup table

[0019] 145: Bus Physical Layer Circuit

[0020] 150-1: Low-speed (LS) / Full-speed (FS) bus device

[0021] 150-2: High-speed (HS) bus device

[0022] 150-3: Ultra-high-speed (SS) bus device

[0023] 160: Port Routing Hub

[0024] 170-1~170-N: USB ports

[0025] 210: Dashed frame

[0026] S310~S350: Steps

[0027] PPN: First field

[0028] HID: Second field

[0029] HPN: Third field Detailed Implementation

[0030] Given the widespread use and diverse applications of USB devices, classifying and managing them based on their category or application characteristics has become a practical trend. However, if a USB controller wishes to manage USB devices by detecting specific categories, it needs to utilize the corresponding judgment mechanism and hardware. This judgment mechanism often needs to be developed separately; currently, there is no unified mechanism for classifying and managing USB devices.

[0031] For example, based on bandwidth requirements, USB display devices or USB audio devices with high bandwidth requirements can be categorized and managed differently from USB keyboards or mice with low bandwidth requirements. Similarly, based on information security control levels, USB facial recognition cameras, fingerprint scanners, or flash drives with high information security control levels can be categorized and managed differently from general USB devices (such as USB fans, power banks, etc.) with ordinary information security control levels. USB control devices can use the host interface identifier (ID) of the USB device as a specific category determination mechanism to facilitate the management of USB devices and the allocation of physical resources. Each determination mechanism requires corresponding hardware execution.

[0032] If a USB controller is intended to manage USB devices according to various categories or application characteristics, in addition to multiple decision-making mechanisms and hardware, it is also necessary to classify these USB ports for different purposes. For example, if a computer device has ten USB ports, and the USB controller 100 wants to detect two special purposes (high-speed transmission and high information security), the computer device design might need to allocate four of the ten USB ports to USB devices used for high-speed transmission, and the other six to USB devices used for high information security. This would negate the original flexible usage capability of USB ports.

[0033] Therefore, in this embodiment of the invention, multiple host controller interfaces are used in the USB control device, and an index lookup table is used to enable these host interfaces to configure and share the remaining hardware components. This allows for the classification and management of these USB devices using various judgment mechanisms, while ensuring that all USB ports in the USB control device still have flexible usage functionality.

[0034] Figure 1This is a block diagram of a Universal Serial Bus (USB) control device 100 according to an embodiment of the present invention. The USB control device 100 of this embodiment uses a USB-compliant eXtensible Host Controller Interface (xHCI) as its control interface. The USB control device 100 can also be referred to as a USB xHCI control device. The USB control device 100 of this embodiment is controlled by an eXtensible Host Controller driver (xHCD) 11.

[0035] The USB control device 100 can support the PCI interface bus / device / function (BDF) as the host interface identifier (ID) of the USB devices to classify these USB devices. That is, embodiments conforming to the present invention can use the PCI interface bus / device / function (BDF) as the host interface identifier (ID) of the USB devices. The USB control device 100 can detect the host interface identifier corresponding to each USB device to determine whether the USB device is for a special purpose (e.g., high-speed transmission, high information security, etc.) or a general purpose.

[0036] The USB control device 100 of this embodiment includes multiple host interfaces, a microprocessor 120, a bus scheduling controller 130, a bus physical layer circuit 145, and multiple USB ports 170-1 to 170-N (N is a positive integer greater than 1). The bus physical layer circuit 145 of this embodiment may include bus devices based on different transmission speeds and a port routing hub 160. Firmware 125 may be stored in the microprocessor 120.

[0037] This embodiment uses two host interfaces 110-1 to 110-2 as an example. Users of this embodiment can adjust the number of host interfaces according to their needs. Host interfaces 110-1 to 110-2 can be hardware interface control circuits that include xHCI definitions and operate according to these xHCIs, to communicate with the expandable host controller driver (xHCD) 11. xHCD 11 is controlled by the operating system in the memory device, therefore xHCD 11 can also be referred to as the operating system host driver.

[0038] For example, when a computer device equipped with USB controller 100 needs to access a USB device connected to a certain USB port, xHCD 11 transmits a USB task command to host interfaces 110-1 to 110-2. Host interfaces 110-1 to 110-2 can each obtain their respective USB task commands from xHCD 11. These USB task commands mainly consist of one of the USB ports 170-1 to 170-N and the USB task corresponding to that individual USB port. The USB task can be a data access or operation command for the USB device connected to the corresponding USB port.

[0039] The microprocessor 120 can implement the embodiments of the present invention by running the firmware stored therein. In the embodiments of the present invention, the microprocessor 120 obtains the USB tasks corresponding to the aforementioned USB ports through the host interfaces 110-1 to 110-2, and assigns and transmits the USB tasks to the bus scheduling controller 130 according to the characteristics of the USB task instructions and the definition of the USB specification.

[0040] In this embodiment, the bus devices based on different transmission speeds may include a LowSpeed ​​(LS) / Full Speed ​​(FS) bus device 150-1 for USB 1.1 (which may be referred to as a first-rate bus device), a High Speed ​​(HS) bus device 150-2 for USB 2.0 (which may be referred to as a second-rate bus device), and a Super High Speed ​​(SS) bus device 150-3 for USB 3.0 (which may be referred to as a third-rate bus device). In other words, bus devices 150-1 to 150-3 are physical layer hardware devices or circuits used to process the respective transmission rates defined in the USB protocol.

[0041] The bus scheduling controller 130 controls the bus physical layer circuitry 145 according to the requirements of the USB task instructions to process the corresponding USB bus packets. Specifically, the bus scheduling controller 130 controls the port routing hub 160 and bus devices 150-1 to 150-3 based on the USB tasks scheduled by the microprocessor 120, connecting one of the corresponding USB ports 170-1 to 170-N to one of the bus devices 150-1 to 150-3, and controlling one of the connected bus devices 150-1 to 150-3 to access data with the USB device connected to one of the aforementioned USB ports 170-1 to 170-N, thereby completing the USB task. For example, if the USB device connected to USB port 170-1 only supports USB 1.1 transfer rates, when xHCD 11 needs to access data with this USB device, the bus scheduling controller 130 will control the port routing hub 160 to connect USB port 170-1 to bus device 150-1 that supports USB 1.1 transfer rates, thereby completing the USB task of xHCD 11 accessing data with this USB device. If the USB device connected to USB port 170-2 supports USB 3.0 transfer rates, when xHCD 11 needs to access data with this USB device, the bus scheduling controller 130 will control the port routing hub 160 to connect USB port 170-3 to bus device 150-3 that supports USB 3.0 transfer rates, thereby completing the USB task of xHCD 11 accessing data with this USB device.

[0042] The bus scheduling controller 130 processes the corresponding USB bus packets according to the requirements of the USB task instructions. When there is a need to use or access system memory (e.g., Double Data Rate (DDR) Synchronous Dynamic Random Access Memory (SDRAM) in a memory device), the bus scheduling controller 130 includes the host interface identifier of the USB device associated with this access operation in the memory access transaction, and according to the basic control port routing hub 160 of the aforementioned process, connects one of the corresponding USB ports 170-1 to 170-N to one of the bus devices 150-1 to 150-3, and controls one of the connected bus devices 150-1 to 150-3 to access data with the USB device connected to one of the aforementioned USB ports 170-1 to 170-N to complete the USB task.

[0043] When host interfaces 110-1 to 110-2 all use the same determination mechanism, the purpose of the USB device (e.g., high-speed transmission or high information security requirements) can only be unique. However, if host interfaces 110-1 and 110-2 use different determination mechanisms, each mechanism will correspond to a different purpose with its own host interface identifier. These determination mechanisms may produce inconsistencies for USB devices controlled by the same host interface identifier, leading to confusion. For example, when host interface identifiers defined for different purposes are all the same value, host interfaces 110-1 and 110-2 will be confused due to the identical host interface identifier values, making it impossible to determine which purpose the host interface identifier represents.

[0044] To avoid the aforementioned problems, this embodiment of the invention establishes an index lookup table 140. This index lookup table 140 records the relationship between each host interface 110-1~110-2 and the USB ports they are responsible for. This allows the microprocessor 120 to determine which USB port each host interface 110-1~110-2 is responsible for based on the contents of the index lookup table 140, and to execute the USB task through the corresponding host interface. In other words, the index lookup table in this embodiment records the USB ports responsible for each host interface, and xHCD 11 can modify the data in the index lookup table through instructions. This eliminates the need for physically and inflexibly assigning specific USB ports to specific host interfaces. Instead, it allows for flexible modification of the data in the index lookup table to change the responsibility of a USB device connected to a certain USB port from one host interface to another. Furthermore, in the aforementioned modification, the user does not need to switch the USB device from one USB port to another.

[0045] In this embodiment, the index lookup table 140 is set in the bus scheduling controller 130. Users of this embodiment can adjust the setting position of the index lookup table 140 according to their needs. For example, the index lookup table 140 can be set in the microprocessor 120 or another memory element (not shown) so that the elements that need to use it (such as the microprocessor 120, host interface 110-1~110-2, bus scheduling controller 130, etc.) can access it.

[0046] Figure 2This is a schematic diagram of the index lookup table 140 in this embodiment. The PPN field (also known as the first field) of the index lookup table 140 is used to represent the USB port number, the HID field (also known as the second field) is used to represent the host interface identifier corresponding to the host interface responsible for the aforementioned USB port, and the HPN field (also known as the third field) is used to represent the USB port number responsible for by the host interface.

[0047] Under this assumption Figure 1 The number of USB ports is 6 (i.e., N=6), and they are presented as USB ports 170-1 to 170-6 in index lookup table 140. Therefore, USB ports 170-1 to 170-6 are listed in the PPN field. Figure 1 The host interface identifier of host interface 110-1 is “Bus0 Dev3 Func0” and is presented as “000300” in the HID field of index lookup table 140; Figure 1 The host interface identifier of host interface 110-2 is "Bus0 Dev4 Func0" and is presented as "000400" in the HID field of index lookup table 140. Host interface 110-1 is used to handle USB tasks of USB ports 170-1, 170-3, and 170-5. Therefore, the HID field corresponding to the PPN fields "170-1", "170-3", and "170-5" is "000300", and the HPN fields corresponding to the PPN fields "170-1", "170-3", and "170-5" are "01", "02", and "03" respectively. This indicates that in host interface 110-1, USB port number "01" is USB port 170-1, USB port number "02" is USB port 170-3, and USB port number "03" is USB port 170-5. Similarly, the HID field corresponding to the PPN fields “170-2”, “170-4”, and “170-6” is “000400”, which represents host interface 110-2. In host interface 110-2, the USB port number “01” is USB port 170-2, the USB port number “02” is USB port 170-4, and the USB port number “03” is USB port 170-6.

[0048] The index lookup table 140 can be fixedly created when the computer device is powered on and the microprocessor 120 runs its firmware 125. On the other hand, since USB technology supports hot-plugging and the connection relationships of USB devices may change when the computer device is powered off, the index lookup table 140 can also be dynamically created by the microprocessor 120 running its firmware with preset attributes, or the xHCD 11 can create the index lookup table 140 according to the classification required for management.

[0049] For example, the attributes used for classification management can be categorized by performance attributes or security attributes. In other words, the aforementioned judgment mechanism used for classification can be flexibly planned, configured, or implemented by the system vendor or manufacturer. Users of this example are not limited in how the aforementioned judgment mechanism used for classification management is applied. For instance, the host interface identifier "Bus0 Dev3 Func0" can be set to high performance, while the host interface identifier "Bus0 Dev4 Func0" can be set to general performance; or the host interface identifier "Bus0 Dev3 Func0" can be set to high security, while the host interface identifier "Bus0 Dev4 Func0" can be set to low security or general security. For example, a computer device implementing an Input / Output Memory Management Unit (IOMMU) or a System Memory Management Unit (SMMU) can achieve the functional characteristics of the attribute based on different host interface identifiers (or, the bus / device / function (BDF) of the PCI interface). For example, IOMMU or SMMU can determine the access permissions of system security based on different host interface identifiers; for example, a low-security host interface identifier will not allow access to the area where high-security data is stored. Therefore, issuing access transactions with different host interface identifiers is a basic requirement for achieving classification attribute characteristics.

[0050] Please see Figure 2 Here, it is assumed that host interface 110-1 is used to handle high-security tasks, and host interface 110-2 is used to handle low-security or general-security tasks. When a high-security USB device (e.g., a fingerprint scanner) is connected to USB port 170-2, xHCD 11 recognizes that the fingerprint scanner's settings are connected to host interface 110-2, which is used to handle low-security or general-security tasks. Therefore, xHCD 11 initiates the modification instruction of index lookup table 140, and as follows... Figure 2 As shown in dashed box 210, the HID and HPN fields with PPN "170-2" are modified from "000400" and "01" to "000300" and "04". This is equivalent to removing the fingerprint scanner from USB port number "01" on host interface 110-2 and inserting it into USB port number "04" on host interface 110-1, thereby allowing the fingerprint scanner to be controlled by host interface 110-1. Therefore, xHCD 11 can restart USB control device 100 to recognize the fingerprint scanner and successfully complete the relevant functions of actual operation because the security requirements have been met.

[0051] On the other hand, when the computer device is about to shut down, the USB processing device 110 can store the currently configured index lookup table 140 into the non-volatile memory device of the computer device (e.g., the Basic Input / Output System (BIOS), a specific hard disk partition, etc.). When the computer device is powered on again, if a valid index lookup table 140 is found in the Basic Input / Output System (BIOS) or the specific hard disk partition, the USB processing device 110 of this embodiment can directly load the contents of the aforementioned non-volatile memory device into the index lookup table 140 for use by the USB processing device 110. Therefore, this embodiment of the invention provides a method for modifying the index lookup table 140 through software modification, maintaining the flexibility of the USB port in use.

[0052] Figure 3 This is a flowchart of a control method for a Universal Serial Bus (USB) control device 100 according to an embodiment of the present invention. Figure 3 The method described can be derived from Figure 1 The microprocessor 120 in the USB controller 100 implements, or, Figure 3 The method described can be implemented by firmware executed in the microprocessor 120. In step S310, the index lookup table can be initialized by the microprocessor 120 or the xHCD 11 via the microprocessor 120. As mentioned above, when the computer device equipped with the USB controller 100 is powered on or the USB device is connected to the USB controller 100 through USB ports 170-1 to 170-N, the microprocessor 120 can set the required index lookup table 140 according to the required classification management judgment mechanism or initialize the index lookup table 140 by loading the content pre-stored in the BIOS.

[0053] In step S320, the microprocessor 120 receives a USB task instruction through host interfaces 110-1 to 110-2. This embodiment assumes that this USB task instruction includes a USB task originating from host interface 110-1 (referred to in this embodiment as the specific host interface) with USB port number "02". In other words, xHCD 11 sends a USB task instruction to host interface 110-1, and the microprocessor 120 receives the USB task originating from host interface 110-1 with a USB port number corresponding to the host interface. The specific host interface is one of host interfaces 110-1 to 110-2.

[0054] In step S330, the microprocessor 120 queries the index lookup table 140 to find the USB port number (“02”) corresponding to a specific host interface (host interface 110-1) and generates at least one USB task based on this specific USB port. Specifically, the microprocessor 120 queries the third column of the index lookup table 140 based on the host interface identifier “000300” corresponding to host interface 110-1 and the USB port number “02”, thereby finding the USB port 170-3 corresponding to the aforementioned information and located in the PPN field of the index lookup table 140 as the aforementioned specific USB port. Furthermore, the microprocessor 120 generates at least one USB task based on the requirements of the USB task instruction according to this specific USB port (USB port 170-3). In this embodiment, the specific USB port is one of USB ports 170-1 to 170-N. The index lookup table 140 is used to record the relationship between a portion of the USB ports managed by each host interface 110-1 to 110-2 and their USB port numbers. For example, from index lookup table 140, we can see that the PPN corresponding to the host interface identifier (field HID) is "000300" and the USB number (corresponding field HPN) is "02" is "170-3".

[0055] In step S340, the microprocessor 120 transmits the USB task of the USB port 170-3 to the bus scheduling controller 130 according to the characteristics of the USB task instruction and the definition of the USB specification, so that the bus scheduling controller 130 and the bus physical layer circuit 145 can complete the aforementioned USB task.

[0056] In step S350, the bus scheduling controller 130 completes the corresponding USB task and generates a USB packet according to the requirements of the USB task instruction. This USB packet is sent back to the xHCD 11 to enable data access with the USB device. When executing a USB task corresponding to a specific USB port (e.g., USB port 170-3), if it is necessary to issue a request to use or access system memory (e.g., Double Data Rate (DDR) Synchronous Dynamic Random Access Memory (SDRAM) in the memory device), the system interface identifier corresponding to which host interface 110-1~110-2 is used is determined according to the index lookup table 140 and carried into the transaction for accessing system memory, and the USB task is completed based on the aforementioned process.

[0057] Based on the foregoing steps and operations, embodiments of the present invention can use index lookup table 140 to retrieve the remaining hardware components (e.g., ...). Figure 1Microprocessor 120, bus scheduling controller 130, bus devices 150-1~150-3, port routing hub 160, and USB ports 170-1~170-N, etc., share multiple host interfaces (e.g., Figure 1 With host interfaces 110-1~110-2, these USB devices can be classified and managed using various judgment mechanisms. For example, different judgment mechanisms can be used for different host interfaces, and all USB ports in the USB control device can still have flexible usage functions.

[0058] Taking security as an example of a judgment mechanism, the operating system on a computer device can be configured in terms of the IOMMU settings. Figure 1 All transactions on host interface 110-2 (whose host interface identifier is "000400") can only access memory address blocks with lower or general security. Therefore, if a low-security USB device attempts to use a high-security address block, violating security principles, the IOMMU will deny access. Thus, after identifying the device type of a USB device connected to one of the USB ports 170-1 to 170-N on the USB controller 100, xHCD11 allocates a memory block conforming to its security principles to operate the USB device, thereby completing the security configuration.

[0059] In summary, the Universal Serial Bus control device and its control method described in this embodiment of the invention set up multiple host interfaces in the USB control device and used an index lookup table to configure and share some hardware components, thereby using multiple judgment mechanisms to classify and manage multiple types of USB devices, and ensuring that all USB ports in the USB control device still have flexible usage functionality.

Claims

1. A universal serial bus control device, comprising: Multiple host interfaces; Multiple USB ports; A microprocessor coupled to the plurality of host interfaces; as well as A bus scheduling controller, coupled to the plurality of host interfaces and the microprocessor. The microprocessor obtains USB task instructions through the plurality of host interfaces, and the USB task instructions include the USB port number of a specific host interface, wherein the specific host interface is one of the plurality of host interfaces. The microprocessor uses an index lookup table to query the USB port number of the specific host interface to correspond to a specific USB port, generates at least one USB task based on the specific USB port, and transmits the at least one USB task to the bus scheduling controller. The specific USB port is one of the plurality of USB ports, and the index lookup table is used to record the relationship between the portion of the plurality of USB ports that each host interface is responsible for and the USB port number; The universal serial bus control device further includes: A bus physical layer circuit is coupled to the plurality of USB ports, wherein the bus scheduling controller controls the bus physical layer circuit according to the at least one USB task. The bus physical layer circuitry includes: Multiple bus devices, each for communicating with a USB device at a corresponding USB transfer rate, wherein the USB device is coupled to the Universal Serial Bus controller via one of the multiple USB ports; and A port routing hub, coupled to the plurality of USB ports and the plurality of bus devices, is controlled by the bus scheduling controller to electrically connect one or more of the plurality of USB ports to one of the plurality of bus devices.

2. The universal serial bus control device as claimed in claim 1, wherein the bus scheduling controller stores the index lookup table.

3. The universal serial bus control device of claim 1, wherein the microprocessor receives modification instructions regarding the index lookup table to modify the data in the index lookup table.

4. The Universal Serial Bus (USB) control device of claim 1, wherein the USB control device is controlled by a host controller driver, coupled to the plurality of host interfaces, for providing the USB task instructions to the plurality of host interfaces, or for providing modification instructions relating to the index lookup table to the microprocessor.

5. The universal serial bus control device of claim 1, wherein the microprocessor is further configured to initialize the index lookup table.

6. The universal serial bus control device as claimed in claim 1, wherein the index lookup table includes multiple fields, the multiple fields including: The first field is used to indicate the local number of the USB port in the Universal Serial Bus control device; The second field is used to represent the host interface identifier corresponding to the host interface; as well as The third field is used to indicate the USB port number corresponding to the host interface.

7. The universal serial bus control device as claimed in claim 1, wherein the bus device comprises: A first-rate bus device is used to communicate with the USB device according to a first rate; A second-rate bus device is used to communicate with the USB device according to a second rate; as well as A third-rate bus device for communicating with the USB device according to a third rate; The first rate, the second rate, and the third rate are all different from each other.

8. A control method for a universal serial bus control device, comprising: USB task instructions are obtained through multiple host interfaces, wherein the USB task instructions include the USB port number of a specific host interface, and the specific host interface is one of the multiple host interfaces; The system queries the USB port number of the specific host interface based on the index lookup table to find the specific USB port, and generates at least one USB task based on the specific USB port. The specific USB port is one of the multiple USB ports of the Universal Serial Bus Control Device. The index lookup table is used to record the relationship between the portion of the multiple USB ports that each host interface is responsible for and the USB port number. as well as The at least one USB task is completed by the bus scheduling controller in the Universal Serial Bus control device; The Universal Serial Bus (USB) control device further includes a bus physical layer circuit coupled to the plurality of USB ports. The bus scheduling controller controls the bus physical layer circuit according to the at least one USB task. The bus physical layer circuit includes a plurality of bus devices, each bus device being used to communicate with a USB device at a corresponding USB transfer rate. The USB device is coupled to the USB control device through one of the plurality of USB ports. and a port routing hub, coupled to the plurality of USB ports and the plurality of bus devices, for controllable by the bus scheduling controller to electrically connect one or more of the plurality of USB ports to one of the plurality of bus devices.

9. The control method as described in claim 8, further comprising: Receive modification instructions regarding the index lookup table to modify the data in the index lookup table.

10. The control method of claim 8, wherein the index lookup table includes multiple fields, the multiple fields including: The first field is used to indicate the local number of the USB port in the Universal Serial Bus control device; The second field is used to represent the host interface identifier corresponding to the host interface; as well as The third field is used to indicate the USB port number corresponding to the host interface.

11. The control method as described in claim 8, further comprising: Initialize the index lookup table.

Citation Information

Patent Citations

  • Method for managing USB equipment based on virtualized system

    CN101620578A

  • KVM extender system and signal extending method

    TW201035762A

  • Connection device

    TWI741765B