Patent ID: 7493408

Claim:
A method of transferring bulk and control data from a first device to a second device, comprising: forming data to be transferred into a plurality of transfer descriptors, each transfer descriptor comprising a transfer descriptor header and payload data, wherein each transfer descriptor header defines an endpoint to which the payload data is to be transmitted, and wherein the payload data comprises at least one packet; storing the formed transfer descriptors in a buffer memory in the first device; and reading data from the memory in packets for transfer to the second device, with packets being read from the transfer descriptors cyclically; further comprising, when first and second transfer descriptor headers, in first and second transfer descriptors respectively, define a common endpoint: setting respective flags in the first and second transfer descriptor headers to different values; setting a register value to an initial value, which is equal to the value of the flag in the first transfer descriptor header; determining when all data packets from the first transfer descriptor have been transmitted, and thereafter changing the register value to be equal to the value of the flag in the second transfer descriptor header; and reading data packets from the first and second transfer descriptor only when the value of the respective flag therein is equal to the register value.