Method and system for memory management
AssigneeQLOGIC, Corporation
InventorsBiswajit Khandai, Oscar L. Grijalva
Life of this patent
Estimating the term…
Abstract
A device, comprising a single-ported first memory slice accessible only to a plurality of clients and including a plurality of blocks configured for storing information on behalf of the plurality of clients. The device further comprises a dual-ported 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. In response to a client request, the list manager allocates a block of the first memory slice and a block of the second memory slice to the client, and stores a link for a next available memory block at the second memory slice.
Claims20
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.
A machine implemented method, comprising:
- receiving a request from a client from among a plurality of clients for access to memory storage at a first memory slice and a second memory slice;
- wherein the first memory slice is a single-ported memory that is accessible only to the plurality of clients and includes a plurality of blocks configured for storing information on behalf of the plurality of clients;
- wherein the second memory slice includes a plurality of blocks for storing links, and is 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;
- and wherein the second memory slice is a dual-ported memory that is accessible to both the plurality of clients and the list manager;
- and
- allocating a block of the first memory slice 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.
A device, comprising:
- a single-ported first memory slice accessible only to a plurality of clients and includes a plurality of blocks configured for storing information on behalf of the plurality of clients;
- and
- a dual-ported 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 in response to a client request, the list manager allocates a block of the first memory slice and a block of the second memory slice to the client;
- and stores a link for a next available memory block at the second memory slice.
Dependencies are inferred from the claim text.