Patent ID: 7818389

Claim:
A method of managing and buffering packet data for transmission out of a host comprising: caching descriptor ring data pushed in from a host memory into a descriptor ring cache, wherein the descriptor ring data comprises one or more data packet descriptors each corresponding to a requested data packet to be transmitted; processing the descriptor ring data cached in the descriptor ring cache to read a data packet descriptor from the descriptor ring data; initiating a direct memory access transfer from the host to write the requested data packet corresponding to the data packet descriptor to a data transmission buffer; caching the requested data packet from the host memory into the data transmission buffer, wherein the requested data packet is written by the direct memory access into the data transmission buffer in response to the direct memory access transfer from the host; transmitting the cached data packet out of the data transmission buffer; and writing a return pointer to the host memory indicating that the data packet descriptor has been read and the corresponding data packet has been transmitted.