Patent ID: 7409476

Claim:
A system, comprising: an interface to a host system with control logic used for transferring data between the host system and a Universal Bus System (USB) Host Controller; a memory storage space for storing a plurality of endpoint and transfer descriptors (ETDs) in an ETD table, where each ETD includes an endpoint descriptor with a field for identifying a type of transfer, and a transfer descriptor for an endpoint linked to the endpoint descriptor for each endpoint, the transfer descriptor identifying data that is moved to and from the endpoint, wherein a processing mode for processing each ETD either in a programmable input and output (“PIO”) mode or a direct memory access (DMA) mode is programmed when the ETD table is setup; and if an ETD is processed in the DMA mode, a DMA channel used for processing the ETD is released after the ETD is processed; a memory buffer for storing at least one USB data packet associated with a USB transfer; a link for determining a location in the memory buffer associated with the USB transfer specified by an ETD; and logic that executes the USB transfer using a USB protocol in a priority order, wherein order specifies an order in which the plurality of ETDs are processed.