7555578

Device for Controlling Endpoints of USB Device and Method of Controlling Endpoints of USB Device

PublishedJune 30, 2009
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
18 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A device for controlling a plurality of endpoints of a USB device, the device comprising: a plurality of buffers allocated to the plurality of endpoints, respectively; and an endpoint buffer controller for managing an exchange of packets between a host and the USB device, obtaining buffer-utilization information for each of the endpoints and adaptively adjusting: a number of the buffers allocated to each of the endpoints and respective maximum buffer size allocated to each of the endpoints based upon a respective NAK count corresponding to a respective buffer.

2

2. The device of claim 1 , wherein each of the plurality of buffers has a plurality of units and a maximum size of unit size ×Z, where Z is a positive integer representing the total number of units per buffer, respectively.

3

3. The device of claim 1 , wherein the endpoint buffer controller includes: a buffer status detecting section for determining whether an OUT packet from the host may be accommodated based on status information maintained for the FIFO buffers, and for generating a NAK when the OUT packet cannot be accommodated; a timer for generating a NAK count reset signal for every T period; a NAK counter for counting how many NAKs are generated for each of the endpoints within a period; and a pointer control section for generating an interrupt signal when the respective NAK count for one or more of the endpoints exceeds a threshold value.

4

4. The device of claim 3 , further including a threshold control section for setting the threshold value.

5

5. The device of claim 4 , wherein the endpoint buffer controller further includes a peripheral processor MCU, the MCU adaptively changing numbers of buffers allocated to the endpoints depending on the buffer-utilization information and storing the reallocated numbers in a register set.

6

6. The device of claim 3 , further comprising: a timer to determine the period T by doing one of taking the inverse of a frequency determined by counting SOF (Start Of Frame) signals from the host during an interval and adopting a frame period of a full-speed mode of a USB protocol.

7

7. The device of claim 3 , wherein the pointer control section includes: a NAK counter register set for storing the NAK counts for the endpoints; a comparator for comparing the NAK counts stored in the NAK counter register with the threshold value, respectively; a maximum packet size register set for defining a maximum packet size for each of endpoints; and a buffer size register set for defining a size for each of the endpoints.

8

8. The device of claim 1 , wherein the buffers are first-in, first-out (FIFO) buffers.

9

9. A method of controlling a plurality of endpoints of a USB device, the method comprising: initializing buffers of each of the endpoints; counting, when data are received at each of the endpoints, numbers of NAKs generated during a period T, respectively; comparing the NAK counts with a threshold value; and adaptively adjusting a number of the buffers allocated to each of the endpoints based on the NAK counts when one or more of the NAK counts exceeds the threshold value, and a respective maximum buffer size allocated to each of the endpoints based on the NAK counts when one or more of the NAK counts exceeds the threshold value.

10

10. The method of claim 9 , wherein the period T is obtained by doing one of taking the inverse of a frequency determined by counting SOF (Start Of Frame) signals from the host during an interval and adopting a frame period of a full-speed mode of a USB protocol.

11

11. The method of claim 9 , further comprising: generating an interrupt when one or more NAK counts exceeds the threshold value; and changing numbers of the buffers allocated to the endpoints based on the NAK counts, respectively, when the interrupt is generated.

12

12. The method of claim 9 , further comprising: operating the buffers of the endpoints of a first-in, first-out (FIFO) basis.

13

13. A configuration of a USB device comprising: a serial interface engine (SIE) operable as an interface to a USB host; a controller interface operable as an interface to a controller of the USB device; and a buffer section to buffer at least one of information transferred from the SIE to the controller interface, the buffer section including a plurality of buffers corresponding to a plurality of endpoints, respectively, a number of the buffers being allocated to each of the plurality of endpoints based upon a respective maximum buffer size of the plurality of buffers allocated to each of the plurality of endpoints being adjusted based upon respective NAK count corresponding to a respective buffer.

14

14. The USB device configuration of claim 13 , further comprising: an endpoint buffer controller to adaptively allocate the respective buffering capacities of the plurality of buffers based upon buffer-utilization information.

15

15. The USB device configuration of claim 13 , wherein: each of the buffers is organized as a plurality of buffering units, respectively; and each of the buffering units of a buffer includes a plurality of blocks of storage space, respectively.

16

16. The USB device configuration of claim 13 , wherein each of the plurality of buffers is arranged to operate as a first-in, first-out (FIFO) buffer.

17

17. A device for controlling a plurality of endpoints of a USB device, the device comprising: a plurality of buffers allocated to the plurality of endpoints, respectively; and an endpoint buffer controller for managing an exchange of packets between a host and the USB device, obtaining buffer-utilization information for each of the endpoints and adaptively adjusting: a number of the buffers allocated to each of the endpoints based upon respective NAK count corresponding to a respective buffer.

18

18. The device of claim 17 , wherein the endpoint buffer controller adaptively adjusts respective maximum buffer size of the buffers allocated to each of the endpoints based upon the buffer utilization, respectively.

Patent Metadata

Filing Date

Unknown

Publication Date

June 30, 2009

Inventors

Choong-Bin Lim
Se-Hoon Jeon

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “DEVICE FOR CONTROLLING ENDPOINTS OF USB DEVICE AND METHOD OF CONTROLLING ENDPOINTS OF USB DEVICE” (7555578). https://patentable.app/patents/7555578

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.