Patent ID: 8266344

Claim:
A network device comprising: an off-chip memory to store a free-list of buffer pointers; and an on-chip controller that includes a prefetch buffer, the prefetch buffer being to store unallocated buffer pointers that point to available memory locations, the on-chip controller to: retrieve a first unallocated buffer pointer from the free-list, store the first unallocated buffer pointer in the prefetch buffer to obtain a quantity of unallocated buffer pointers in the prefetch buffer, determine, in response to storing the first unallocated buffer point in the prefetch buffer, whether the quantity of unallocated buffer pointers in the prefetch buffer exceeds a threshold, receive, when the quantity of unallocated buffer pointers in the prefetch buffer is determined to not exceed the threshold, a second unallocated buffer pointer from the off-chip memory, determine, in response to receiving the second unallocated buffer pointer, whether the prefetch buffer is full, store the second unallocated buffer pointer in the prefetch buffer when the prefetch buffer is determined not to be full, and store the second unallocated buffer pointer in the free-list, in the off-chip memory, when the prefetch buffer is determined to be full.