a method and apparatus for managing multiple pointers is provided . each pointer may be associated with a partition in a partitioned memory , such as ddr sdram used in a high speed networking environment . the system and method include a free pointer pool fifo , wherein a predetermined quantity of pointers is allocated to the free pointer pool fifo . the system selects one pointer from the free pointer pool fifo when writing data to one partition in the partitioned memory , and provides one pointer to the free pointer pool fifo when reading data from one partition in the partitioned memory . the system and method enable self balancing using the free pointer pool fifo and decreases the number of memory accesses required . the system can be located on chip .