IP Library Granted Patent US 11,237,989
Granted Patent B2
US 11,237,989 · App. 16/919,348 · Granted Feb 1, 2022

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/00
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 11,237,989
App. No.
16/919,348
Filed
Jul 2, 2020
Granted
Feb 1, 2022
Kind
B2
Examiner
HUYNH, KIM T
Art Unit
2184
USPC
710/12
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. The instructions may further configure the processor to classify the USB element as only a producer of power, evaluate whether an enumeration process is initiated within a timeout period, and if so, assign the USB element as a USB host.

Claims (114)

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 first USB element has attached to a USB hub at a first port;

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

assign an upstream or downstream setting of the first port based upon the classification of the first USB element based on power operations of the first USB element;

classify the first USB element as only a producer of power;

based on the classification of the first 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, assign the first USB element as a USB host.

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

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

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

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

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

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

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

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

4. 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 first USB element has attached to a USB hub at a first port;

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

assign an upstream or downstream setting of the first port based upon the classification of the first USB element based on power operations of the first USB element;

classify the first USB element as only a producer of power;

based on the classification of the first 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 first USB element as a USB device.

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

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

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

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

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

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

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

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

7. 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 first USB element has attached to a USB hub at a first port;

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

assign an upstream or downstream setting of the first port based upon the classification of the first USB element based on power operations of the first USB element;

classify the first USB element as only a producer of power;

based on the classification of the first 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 attachment of the first USB element as a power adapter.

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

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

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

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

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

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

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

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

10. A method, comprising:

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

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

assigning an upstream or downstream setting of the first port based upon the classification of the first USB element based on power operations of the first USB element;

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

based on the classification of the first USB element as only a producer of power, evaluating 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, assigning the first USB element as a USB host.

11. The method of claim 10 , further comprising:

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

classifying the second USB element as capable of both producing and receiving power; and

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

12. The method of claim 10 , further comprising:

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

classifying the second USB element as capable of both producing and receiving power; and

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

13. A method, comprising:

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

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

assigning an upstream or downstream setting of the first port based upon the classification of the first USB element based on power operations of the first USB element;

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

based on the classification of the first USB element as only a producer of power, evaluating 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, assigning the first USB element as a USB device.

14. The method of claim 13 , further comprising:

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

classifying the second USB element as capable of both producing and receiving power;

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

15. The method of claim 13 , further comprising:

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

classifying the second USB element as capable of both producing and receiving power;

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

16. A method, comprising:

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

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

assigning an upstream or downstream setting of the first port based upon the classification of the first USB element based on power operations of the first USB element;

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

based on the classification of the first USB element as only a producer of power, evaluating 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, handling attachment of the first USB element as a power adapter.

17. The method of claim 16 , further comprising:

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

classifying the second USB element as capable of both producing and receiving power;

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

18. The method of claim 16 , further comprising:

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

classifying the second USB element as capable of both producing and receiving power;

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

19. A method, comprising:

identifying that a USB element has attached to a USB 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;

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;

based on the classification of the USB element as only a producer of power, evaluating 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, setting the port as an upstream port.

20. A method, comprising:

identifying that a USB element has attached to a USB 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;

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;

based on the classification of the USB element as only a producer of power, evaluating 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 (11)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 2, 2020
From: GHOSH, ATISH; GORDON, MARK; NAGAI, KEN; TROYEGUBOVA, LARISA
To: MICROCHIP TECHNOLOGY INCORPORATED
Reel/Frame 053107/0200 →