System and method for dynamically allocating computer memory
AssigneeInternational Business Machines Corporation
InventorsJames R. H. Challenger, Arun K. Iyengar
Life of this patent
Estimating the term…
Abstract
A method for managing computer memory includes maintaining multiple sets of free blocks of memory wherein a free block is added to a set based on its size. In response to a request for a block of a request size, a set of blocks is searched for a free block which is at least as large as the request size but smaller than the request size plus a threshold. If such a block is found, the block is allocated in its entirety. If such a free block is not found, a block at least as large as the request size maybe split and the request satisfied with the resulting split block. Methods for managing a block of contiguous persistent memory or storage and for coalescing adjacent free blocks using header information are also described.
Claims22
A method for managing computer memory comprising the steps of:
- maintaining multiple sets of free blocks of memory wherein free blocks are added to sets based on size of the free blocks;
- in response to a request for a free block of a request size exceeding a first threshold, searching a set for a free block which is at least as large as the request size but smaller than the request size plus a second threshold;
- and
- if the free block is found, allocating the free block in its entirety.
A program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform method steps for managing computer memory, the method steps comprising:
- maintaining multiple sets of free blocks of memory wherein free blocks are added to sets based on size;
- in response to a request for a free block of a request size exceeding a first threshold, searching a set for a free block which is at least as large as the request size but smaller than the request size plus a second threshold;
- and
- if the free block is found, allocating the free block in its entirety.
Dependencies are inferred from the claim text.