Patent ID: 7694041

Claim:
A multi processor data processing system, comprising: a first processor functionally coupled to a general memory having allocation ring and de-allocation ring portions for allocating and de-allocating buffer(s) pointer(s), respectively; and a second processor to perform internal accounting of pointer(s) buffer(s), wherein the second processor has an internal storage array logically divided into: a first storage space for holding accumulating a plurality of buffer(s) pointer(s), which are either allocated for or released by, said second processor, and second storage space for accumulating two or more buffer(s) pointer(s) de-allocated by said second processor, wherein the second processor is adapted to release temporarily un-required buffer(s) pointer(s) to the first storage space, as long as the first storage space is not full, and to release temporarily un-required buffer(s) pointer(s) to the second storage space if the first storage space is full, wherein the second processor utilizes allocated buffer(s) pointer(s) accumulated in the first storage space, wherein said second processor is adapted to cause a direct memory access engine to move a bulk of two or more buffer(s) pointer(s) from said allocation ring to said first storage space, if the number of the buffer(s) pointer(s) accumulated by the first storage space is lesser than a first threshold and wherein said second processor is adapted to cause the direct memory access engine to move a bulk of two or mote buffer(s) pointer(s) from said second storage space to said de-allocation ring, if the number of the buffer(s) pointer(s) accumulated by the second storage space is greater than a second threshold.