Patent ID: 8572328

Claim:
A machine implemented method, comprising: providing a first memory slice having a plurality of blocks configured for storing information on behalf of a plurality of clients; wherein the first memory slice is a single-ported memory that is only accessible to the plurality of clients; configuring a second memory slice having a plurality of blocks for storing links and accessible to the plurality of clients and to a list manager that maintains a data structure for allocating memory blocks from the first memory slice and the second memory slice to the plurality of clients; wherein the second memory slice is a dual-ported memory that is accessible to both the plurality of clients and the list manager; receiving a request from a client for access to memory storage at the first memory slice and the second memory slice; and allocating a block of the first memory slice to the client and a block of the second memory slice to the client; and storing a link for a next available memory block at the second memory slice; wherein the list manager allocates the block of the first memory slice and stores the link at the second memory slice.