# US 10,372,652 B2 · USB hub

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,372,652 B2
- Document ID: US10372652B2
- Status: Granted
- Kind: B2
- Application number: 16/002,625
- Filed: 2018-06-07
- Published: 2019-03-21
- Granted: 2019-08-06
- Earliest claimed: 2017-09-20
- Assignees: Prolific Technology Inc.
- Applicants: Prolific Technology Inc.
- Inventors: Tien-Wei Yu; Cheng-Sheng Chan; Chun-Hsu Chen; Ren-Jie Duan
- Web page: https://patentgrep.com/patent/US10372652B2

## CPC

- G06F 13/4027: {using bus bridges (G06F13/4022 takes precedence)}
- G06F 13/4282: {on a serial bus, e.g. I2C bus, SPI bus (on daisy chain buses G06F13/4247)}
- G06F 13/4295: {using an embedded synchronisation}
- G06F 2213/0042: Universal serial bus [USB]
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A USB hub includes an upstream port; a first USB device control unit for performing packet format conversion; an FIFO circuit for storing data outputted from the first host; a second USB device control unit for performing packet format conversion; and a plurality of downstream ports. When any one of the downstream ports is coupled to the mobile device, if the first host commands the mobile device to switch to a host role from a device role, the mobile device temporarily disconnects from the USB hub, and the first host commands the USB hub to change an internal routing path. After the mobile device switches to the host role, the first host still performs the host role, and the first USB device control unit performs the device role; the mobile device performs the host role, and the second USB device control unit performs the device role.

## Claims

### Claim 1

A universal serial bus (USB) hub, comprising:
an upstream port coupled to a first host;
a first USB device control unit coupled to the upstream port for performing packet format conversion;
a first in first out (FIFO) circuit coupled to the first USB device control unit for storing data from the first host;
a second USB device control unit coupled to the FIFO circuit for performing packet format conversion; and
a plurality of downstream ports coupled to the second USB device control unit,
wherein when any one of the downstream ports is coupled to a mobile device,
if the first host requests the mobile device to switch to a master device from a slave device, the mobile device temporarily disconnects from the USB hub, and the first host requests the USB hub to change an internal routing path,
after the mobile device switches to the master device, the first host still acts as the master device, and the first USB device control unit acts as the slave device; the mobile device acts as the master device, and the second USB device control unit acts as the slave device, wherein the first host and the first USB device control unit are paired, and the mobile device and the second USB device control unit are paired.

### Claim 2 (depends on 1)

The USB hub according to claim 1, wherein the first host outputs a vendor command to request the mobile device to switch to the master device from the slave device without affecting current data transmission at other downstream ports.

### Claim 3 (depends on 1)

The USB hub according to claim 1, wherein the second USB device control unit automatically judges a USB device descriptor of the mobile device connected to the any one downstream port to determine whether to switch to a host-to-host transmission mode from a host-to-device transmission mode and to change the internal routing path of the USB hub without affecting current data transmission at other downstream ports.

### Claim 4 (depends on 1)

The USB hub according to claim 1, wherein the FIFO circuit comprises:
a first FIFO circuit coupled between the first and the second USB device control unit;
a second FIFO circuit,
a first multiplexer, a second multiplexer and a third multiplexer, wherein the second FIFO circuit is coupled to the first USB device control unit through the first multiplexer, the second FIFO circuit is coupled to the second USB device control unit through the second multiplexer and the third multiplexer, and
a direct memory access (DMA) circuit coupled to the first and the second multiplexer.

### Claim 5 (depends on 4)

The USB hub according to claim 4, wherein data from the first host is transmitted to the mobile device or a USB device connected to one of the downstream ports through the first USB device control unit, the first FIFO circuit and the second USB device control unit.

### Claim 6 (depends on 4)

The USB hub according to claim 4, wherein
data from the first host flows through the first USB device control unit and the first multiplexer to the second FIFO circuit and is buffered to a buffer of the first host through the second multiplexer,
after a central processing unit of the first host processes or changes data buffered in the buffer, the central processing unit informs the DMA circuit to read the changed or processed data from the buffer and then writes the changed or processed data to the second FIFO circuit through the first multiplexer; the changed or processed data is transmitted to the second USB device control unit through the second multiplexer and the third multiplexer to the mobile device or to a USB device connected to one of the downstream ports.

### Claim 7 (depends on 4)

The USB hub according to claim 4, wherein
data from the first host flows through the first USB device control unit and the first multiplexer to the second FIFO circuit and is buffered to a buffer of the first host through the second multiplexer,
after a central processing unit of the first host processes or changes data buffered in the buffer, the central processing unit informs the DMA circuit to read the changed or processed data from the buffer and then writes the changed or processed data to the second FIFO circuit through the first multiplexer.

### Claim 8

A universal serial bus (USB) hub, comprising:
an upstream port coupled to a first host;
a hub function module coupled to the upstream port for performing a hub function;
a host-to-host function module coupled to the upstream port, wherein when the mobile device connected to the USB hub acts as a slave device, under control of the hub function module, signals are transmitted between the first host and the mobile device flows via a bypass path or the host-to-host function module, which realizes a “host-to-host mode”;
at least one control module coupled to the upstream port for controlling at least one device connected to the at least one control module;
a virtual hub function unit coupled to the hub function module, the host-to-host function module and the at least one control module, wherein the virtual hub function unit supports a virtual hub function and stores a plurality of USB addresses, and has a function of storing a relationship between the USB address and relevant devices; and
a plurality of downstream ports coupled to a second USB device control unit,
the virtual hub function unit assigns respective virtual USB address of the hub function module, the host-to-host function module and the at least one control module according to a USB address assigned by the first host.

### Claim 9 (depends on 8)

The USB hub according to claim 8, wherein
the USB hub determines a transfer destination of a command according to an interface column of the command outputted from the first host.
