Patent ID: 8499105
Filing Date: 2013-07-30
Classification: G06F

Abstract:
1. A buffer manager based on an address pointer linked list, comprising: an idle pointer unit, configured to record an idle address pointer of an idle buffer block in a buffer; an address request unit, configured to request for an address pointer from the idle address pointer for an input data packet; a linked list information unit, configured to record a next address pointer of the address pointer requested; a linked list lookup unit, configured to look up the next address pointer of the address pointer requested; a first First In First Out memory (FIFO), configured to record address information of an incorrectly-parsed input data packet; a second FIFO, configured to record address information of an output data packet; an address release unit, configured to release the address pointer indicated by the address information into the idle pointer unit; wherein the address pointers of all the buffer blocks in the buffer are divided into groups of a predetermined number; the address pointer of each buffer block in each group is sum of a preset ingroup number of each buffer block and a product of total number of buffer blocks in each group and a group number; in a group, address pointers have a same higher bit and different lower bits, one predetermined address pointer in the group is configured to point to a different group and the other address pointers in the group except the predetermined address pointer respectively is configured to point to the address pointers in the group; wherein the linked list information unit is configured to record, for each group, lower bits of the address pointer pointed by the address pointer requested, the address pointer pointed by the predetermined address pointer requested, and a flag bit indicating whether the predetermined address pointer is occupied; and wherein the address request unit is configured to request for the address pointer for the input data packet from a group where the predetermined address pointer indicated by the flag bit as not occupied is located, and request for the address pointer in the same group in priority.