1. A memory system for a network device comprising: a main memory configured to store one or more data elements; link memory configured to maintain one or more pointers to interconnect said one or more data elements stored in said main memory; a free-entry manager configured to generate an available bank set including one or more locations in said link memory; and a context manager configured to maintain metadata for at least one list of said one or more data elements.