Method to handle burst packets using Secondary Buffers
Original Publication Date: 2003-Mar-11
Included in the Prior Art Database: 2003-Mar-11
The use of a Buffer descriptor ring and buffers on a per channel basis are central to implementing finite queuing system applications. The system comprises on incoming packets into the system that are put into a receive queue and serviced in turn. Queues form because resources are limited and buffering is therefore essential. The queue depth is a function of the arrival process: · How customers arrive e.g. singly or in groups (batch or bulk arrivals) · How the arrivals are distributed in time (i.e. interarrival time distribution) · Whether there is a finite population of customers or (effectively) an infinite number. Bursty traffic can be defined as the scenario when packets are queued up to a point where the service rate cannot match up with the arrival rate. Hence in a finite queuing system incoming packets will be dropped whenever the queue is exhausted. To encounter this scenario the obvious approach will be to increase the Depth of the Buffer Descriptor Ring and buffers, which raises the bar of the queuing system in general. For speed constraints and low latency, Primary Buffer Descriptors are normally allocated on the most expensive memory part in a chip and the fastest bus available in general. Hence increasing Primary Buffer Descriptor Ring Depth may require heavy consumption of expensive memory (Internal Static RAM) and also may be impossible if numerous such channels are implemented in a system.