Universal serial bus (USB) communication systems and methods
First Claim
Patent Images
1. A method of controlling data transfer through a universal serial bus (USB) connection, comprising:
- receiving, at a control system residing within the host coupled to the USB connection, a negative indication from at least one of a plurality of bulk endpoints indicating that the at least one of the plurality of bulk endpoints does not have data ready to transfer; and
prioritizing, at the control system, bulk data transfers through the USB connection to other endpoints of the plurality of bulk endpoints based on the negative indication by skipping at least one polling of the at least one of the plurality of bulk endpoints associated with the negative indication.
1 Assignment
0 Petitions
Accused Products
Abstract
Universal serial bus (USB) communication systems and methods are disclosed. In particular, aspects of the present disclosure optimize polling and scheduling of bulk data transfers from bulk endpoints connected through a USB connection. By reducing the amount of polling, and by favoring endpoints that are known to have data to transfer, unnecessary signaling is avoided. Reduction in signaling allows more data to be transferred in a shorter amount of time. Reducing the time required for a data transfer may allow for low power modes to be used, which in turn further saves power.
17 Citations
24 Claims
-
1. A method of controlling data transfer through a universal serial bus (USB) connection, comprising:
-
receiving, at a control system residing within the host coupled to the USB connection, a negative indication from at least one of a plurality of bulk endpoints indicating that the at least one of the plurality of bulk endpoints does not have data ready to transfer; and prioritizing, at the control system, bulk data transfers through the USB connection to other endpoints of the plurality of bulk endpoints based on the negative indication by skipping at least one polling of the at least one of the plurality of bulk endpoints associated with the negative indication. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computing device comprising:
- a host configured to be coupled to a universal serial bus (USB) connection;
wherein the host comprises a control system coupled with the USB connection, the control system configured to;
receive a negative indication from at least one of a plurality of bulk endpoints indicating that the at least one of the plurality of bulk endpoints does not have data ready to transfer; and
prioritize bulk data transfers through the USB connection to other endpoints of the plurality of bulk endpoints based on the negative indication by skipping polling of the at least one of the plurality of bulk endpoints associated with the negative indication. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
- a host configured to be coupled to a universal serial bus (USB) connection;
-
20. A method of controlling data transfer through a universal serial bus (USB) connection, comprising:
-
determining that each of a plurality of bulk endpoints does not have data to transfer to a host, and skipping at least one polling of the at least one of the plurality of bulk end points that does not have data to transfer; determining that a pending frame includes one or more interrupt transfers; and
sending an interrupt query to an interrupt endpoint before the pending frame begins. - View Dependent Claims (21, 22, 23)
-
-
24. A computing device comprising:
-
a host configured to be coupled to a universal serial bus (USB) connection; said host further comprising a control system coupled to the USB connection, wherein the control system configured to; determine that each of a plurality of bulk endpoints does not have data to transfer to the host;
determine that a pending frame includes one or more interrupt transfers, and skipping at least one polling of the at least one of the plurality of bulk end points that does not have data to transfer; and
send an interrupt query to an interrupt endpoint through the USB connection before the pending frame begins.
-
Specification