Patent ID: 8271672

Claim:
A system for reading data in a network device, comprising: a memory configured to store data units from a plurality of data streams, the plurality of data streams including data received from network links coupled to the network device; a request queue configured to store read requests associated with the plurality of data streams; and output logic configured to: generate the read requests using a first programmable schedule, the first programmable schedule identifying an order in which the plurality of data streams are serviced and indicating that higher speed ones of the plurality of data streams are serviced more often than slower speed ones of the plurality of data streams, store the read requests in the request queue, process the read requests in the request queue based on a second programmable schedule, the second programmable schedule identifying an order in which the stored read requests associated with the plurality of data streams are processed and indicating that higher speed ones of the plurality of data streams are serviced more often than the slower speed ones of the plurality of data streams, and read data units from the memory based on the processed read requests.