IP Library Granted Patent US 10,725,939
Granted Patent B2
US 10,725,939 · App. 15/894,007 · Granted Jul 28, 2020

Host-detecting USB hub

Inventors: Atish Ghosh (Austin, TX); Mark Gordon (Tempe, AZ); Ken Nagai (Phoenix, AZ); Larisa Troyegubova (Nesconset, NY)
Assignee: MICROCHIP TECHNOLOGY INCORPORATED
G06F13/122G06F13/385G06F13/4068G06F13/4291G06F2213/0042Y02D10/14Y02D10/151
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 10,725,939
App. No.
15/894,007
Granted
Jul 28, 2020
Kind
B2
Abstract

An apparatus includes a processor and a machine-readable medium coupled to the processor and comprising instructions. The instructions, when loaded into the processor and executed, configure the processor to identify that a USB element has attached to a USB hub at a port, classify the USB element according to power operations of the USB element, and assign an upstream or downstream setting of the port based upon the classification of the USB element based on power operations of the USB element.

Claims (105)

1. An apparatus, comprising:

a processor;

a non-transitory machine-readable medium coupled to the processor and comprising instructions, the instructions, when loaded into the processor and executed, configure the processor to:

identify that a USB element has attached to a USB hub at a port;

determine power operations of the USB element;

classify the USB element according to power operations of the USB element;

determine whether to operate the port in either upstream operation or downstream operation based on the determination of the power operations of the USB element;

assign a setting defining whether the port uses either upstream or downstream operation based upon the classification of the USB element based on the determination of power operations of the USB element;

classify the USB element as only a producer of power;

based on the classification of the USB element as only a producer of power, evaluate whether an enumeration process is initiated within a timeout period; and

based on a determination that the enumeration process is initiated within the timeout period, set the port as an upstream port.

2. The apparatus of claim 1 , further comprising instructions for configuring the processor to:

identify that another USB element has attached to the USB hub at another port;

determine power operations of the other USB element;

classify the other USB element as only a consumer of power; and

based on the classification of the other USB element as only a consumer of power, set the other port as a downstream port.

3. The apparatus of claim 1 , further comprising instructions for configuring the processor to:

identify that another USB element has attached to the USB hub at another port;

determine power operations of the other USB element;

classify the other USB element as only a consumer of power; and

based on the classification of the other USB element as only a consumer of power, designate the other USB element as a USB device with respect to the hub.

4. The apparatus of claim 1 , further comprising instructions for configuring the processor to:

identify that another USB element has attached to the USB hub at another port;

determine power operations of the other USB element;

classify the other USB element as only a consumer of power; and

based on the classification of the other USB element as only a consumer of power, set the other port as a downstream port until the other USB element detaches.

5. The apparatus of claim 1 , further comprising instructions for configuring the processor to:

based on the classification of the USB element as only a producer of power, set a timeout period to evaluate whether to handle the USB element as a USB host or a USB device.

6. The apparatus of claim 1 , further comprising instructions for configuring the processor to:

based on the classification of the USB element as only a producer of power, evaluate whether an enumeration process is initiated to determine whether to handle the USB element as a USB host or a USB device.

7. The apparatus of claim 1 , further comprising instructions for configuring the processor to:

based on the classification of the USB element as only a producer of power, evaluate whether the enumeration process is initiated to determine whether to set the port as a downstream port or an upstream port.

8. An apparatus, comprising:

a processor;

a non-transitory machine-readable medium coupled to the processor and comprising instructions, the instructions, when loaded into the processor and executed, configure the processor to:

identify that a USB element has attached to a USB hub at a port;

determine power operations of the USB element;

classify the USB element according to power operations of the USB element;

determine whether to operate the port in either upstream operation or downstream operation based on the determination of the power operations of the USB element;

assign a setting defining whether the port uses either upstream or downstream operation based upon the classification of the USB element based on the determination of power operations of the USB element;

classify the USB element as only a producer of power;

based on the classification of the USB element as only a producer of power, evaluate whether an enumeration process is initiated within a timeout period; and

based on a determination that the enumeration process is not initiated within the timeout period, setting the port as a downstream port.

9. The apparatus of claim 1 , further comprising instructions for configuring the processor to:

based on a determination that the enumeration process is initiated within the timeout period, assign the USB element as a USB host.

10. The apparatus of claim 8 , further comprising instructions for configuring the processor to:

the USB element as only a producer of power;

based on the classification of the USB element as only a producer of power, evaluate whether an enumeration process is initiated within a timeout period; and

based on a determination that the enumeration process is not initiated within the timeout period, assign the USB element as a USB device.

11. The apparatus of claim 1 , further comprising instructions for configuring the processor to:

classify the USB element as only a producer of power;

based on the classification of the USB element as only a producer of power, evaluate whether an enumeration process is initiated within a timeout period; and

based on a determination that the enumeration process is not initiated within the timeout period, handle the attachment as a power adapter.

12. The apparatus of claim 1 , further comprising instructions for configuring the processor to:

identify that another USB element has attached to the USB hub at another port;

determine power operations of the other USB element;

classify the other USB element as capable of both producing and receiving power;

based on the classification of the other USB element as capable of both producing and receiving power, treat the other USB element as a laptop.

13. The apparatus of claim 1 , further comprising instructions for configuring the processor to:

identify that another USB element has attached to the USB hub at another port;

determine power operations of the other USB element;

classify the other USB element as capable of both producing and receiving power;

based on the classification of the other USB element as capable of both producing and receiving power, negotiate with the other USB element to provide power from the hub while allowing the other USB element to request USB host properties.

14. A USB hub, comprising:

a processor;

a USB port;

a non-transitory machine-readable medium coupled to the processor and comprising instructions, the instructions, when loaded into the processor and executed, configure the processor to:

identify that a USB element has attached to the USB hub at the USB port;

determine power operations of the USB element;

classify the USB element according to power operations of the USB element;

determine whether to operate the port in either upstream operation or downstream operation based on the determination of the power operations of the USB element;

assign a setting defining whether the port uses either upstream or downstream operation an upstream or downstream setting of the port based upon the classification of the USB element based on the determination of power operations of the USB element;

classify the USB element as only a producer of power;

based on the classification of the USB element as only a producer of power, evaluate whether an enumeration process is initiated within a timeout period; and

based on a determination that the enumeration process is initiated within the timeout period, set the port as an upstream port.

15. A method of operating a universal serial bus (USB) hub, comprising:

identifying that a USB element has attached to the hub at a port;

determining power operations of the USB element;

classifying the USB element according to power operations of the USB element;

determining whether to operate the port in either upstream operation or downstream operation based on the determination of the power operations of the USB element; and

assigning a setting defining whether the port uses either upstream or downstream operation based upon the classification of the USB element based on the determination of power operations of the USB element;

classifying the USB element as only a producer of power; and

based on the classification of the USB element as only a producer of power, setting a timeout period;

evaluating whether an enumeration process is initiated during the timeout period to determine whether to handle the USB element as a USB host or a USB device or to set the port as a downstream port or an upstream port.

16. The method of claim 15 , further comprising:

classifying another USB element connected to another port of the hub as only a consumer of power;

based on the classification of the other USB element as only a consumer of power, setting the other port as a downstream port until the other USB element detaches; and

based on the classification of the other USB element as only a consumer of power, designating the other USB element as a USB device with respect to the hub until the other USB element detaches.

17. The method of claim 15 , further comprising:

based on a determination that the enumeration process is not initiated within the timeout period, handling the attachment as a power adapter.

18. The method of claim 15 , further comprising:

classifying another USB element connected to the hub as capable of both producing and receiving power;

based on the classification of the other USB element as capable of both producing and receiving power, negotiating with the other USB element to provide power from the hub while allowing the other USB element to request USB host properties.

19. A USB hub, comprising:

a processor;

a USB port;

a non-transitory machine-readable medium coupled to the processor and comprising instructions, the instructions, when loaded into the processor and executed, configure the processor to:

identify that a USB element has attached to the USB hub at the USB port;

determine power operations of the USB element;

classify the USB element according to power operations of the USB element;

determine whether to operate the port in either upstream operation or downstream operation based on the determination of the power operations of the USB element;

assign a setting defining whether the port uses either upstream or downstream operation an upstream or downstream setting of the port based upon the classification of the USB element based on the determination of power operations of the USB element

classify the USB element as only a producer of power;

based on the classification of the USB element as only a producer of power, evaluate whether an enumeration process is initiated within a timeout period; and

based on a determination that the enumeration process is not initiated within the timeout period, setting the port as a downstream port.

Assignments (15)
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/0335 →
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 059357/0823 →
RELEASE OF SECURITY INTEREST Recorded Feb 28, 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 059264/0384 →
GRANT OF SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 19, 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 058214/0625 →
GRANT OF SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 19, 2021
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 058214/0380 →
GRANT OF SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 19, 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 058214/0238 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 13, 2018
From: GHOSH, ATISH; GORDON, MARK; NAGAI, KEN; TROYEGUBOVA, LARISA
To: MICROCHIP TECHNOLOGY INCORPORATED
Reel/Frame 044907/0337 →
Continuity (2)
Provisional Application 62458281 · Feb 13, 2017
Related Publication 20180232323A1 · Aug 16, 2018