Universal serial bus (USB) communication systems and methods

US9524260B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9524260-B2
Application numberUS-201414308053-A
CountryUS
Kind codeB2
Filing dateJun 18, 2014
Priority dateJun 18, 2014
Publication dateDec 20, 2016
Grant dateDec 20, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

What is claimed is: 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. 2. The method of claim 1 , wherein the negative indication comprises one of a negative acknowledgement (NAK), not ready (NRDY), or no response yet (NYET) signal. 3. The method of claim 1 , wherein prioritizing the bulk data transfers comprises prioritizing the bulk data transfers for at least a frame in which the negative indication was received. 4. The method of claim 1 , wherein prioritizing the bulk data transfers comprises prioritizing the bulk data transfers for a predefined time after the negative indication was received. 5. The method of claim 1 , further comprising sending a query to each of the plurality of bulk endpoints requesting available data. 6. The method of claim 5 , wherein sending the query comprises issuing an IN token. 7. The method of claim 5 , further comprising receiving data from a second one of the plurality of bulk endpoints. 8. The method of claim 7 , wherein prioritizing the bulk data transfers comprises preferentially receiving the data from the second one of the plurality of bulk endpoints. 9. The method of claim 1 , wherein prioritizing the bulk data transfers over the USB connection to the other endpoints comprises using an adaptive learning algorithm to prioritize the bulk data transfers to endpoints having data to transfer. 10. The method of claim 1 , wherein receiving the negative indication from the at least one of the plurality of bulk endpoints, indicating that the at least one of the plurality of bulk endpoints does not have data ready to transfer, comprises initially receiving the negative indication at an external controller and passing the negative indication to the control system. 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. 12. The computing device of claim 11 , wherein the negative indication comprises a negative acknowledgement (NAK) signal. 13. The computing device of claim 11 , wherein the control system is further configured to send a query to each of the plurality of bulk endpoints requesting available data. 14. The computing device of claim 11 , wherein the control system is external to the host. 15. The computing device of claim 11 , wherein the control system is incorporated into the host. 16. The computing device of claim 11 , wherein the control system is configured to enter a low power mode if none of the plurality of bulk endpoints have data to transfer. 17. The computing device of claim 11 , wherein the host and the control system are integrated into an integrated circuit (IC). 18. The computing device of claim 11 integrated into a device selected from the group consisting of a set top box, an entertainment unit, a navigation device, a communications device, a fixed location data unit, a mobile location data unit, a mobile phone, a cellular phone, a computer, a portable computer, a desktop computer, a personal digital assistant (PDA), a monitor, a computer monitor, a television, a tuner, a radio, a satellite radio, a music player, a digital music player, a portable music player, a digital video player, a video player, a digital video disc (DVD) player, and a portable digital video player. 19. The computing device of claim 11 further comprising an external scheduler associated with the control system, wherein the external controller is configured to receive the negative indication and pass information to the control system. 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. 21. The method of claim 20 , further comprising starting the pending frame without any interrupt queries. 22. The method of claim 20 , further comprising entering a low power mode if no interrupt data is received in response to the interrupt query. 23. The method of claim 20 , further comprising prioritizing bulk data transfers if any of the plurality of bulk endpoints have data to transfer to the host. 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.

Assignees

Inventors

Classifications

  • being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus · CPC title

  • G06F13/28Primary

    using burst mode transfer, e.g. direct memory access {DMA}, cycle steal (G06F13/32 takes precedence) · CPC title

  • Cross-Sectional Technologies · mapped topic

  • Cross-Sectional Technologies · mapped topic

  • using an embedded synchronisation · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9524260B2 cover?
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 al…
Who is the assignee on this patent?
Qualcomm Inc
What technology area does this patent fall under?
Primary CPC classification G06F13/28. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 20 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).