System and method for persistent and robust storage allocation
First Claim
1. A method for managing a block of contiguous persistent memory comprising the steps of:
- maintaining a first pointer in main memory for determining a first free byte in a first block of memory;
maintaining headers in the persistent memory for a plurality of blocks wherein the headers include at least one code byte corresponding to at least one of the blocks; and
allocating a second block from the first block by setting the at least one code byte corresponding to the second block to indicate that the second block is no longer part of the first block and updating the first pointer in the main memory.
1 Assignment
0 Petitions
Accused Products
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.
-
Citations
12 Claims
-
1. A method for managing a block of contiguous persistent memory comprising the steps of:
-
maintaining a first pointer in main memory for determining a first free byte in a first block of memory;
maintaining headers in the persistent memory for a plurality of blocks wherein the headers include at least one code byte corresponding to at least one of the blocks; and
allocating a second block from the first block by setting the at least one code byte corresponding to the second block to indicate that the second block is no longer part of the first block and updating the first pointer in the main memory. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform method steps for managing a block of contiguous persistent memory comprising a main memory and at least one disk memory device, the method steps comprising:
-
maintaining a first pointer in main memory for determining a first free byte in a first block of memory;
maintaining headers in the persistent memory for a plurality of blocks wherein the headers include at least one code byte corresponding to at least one of the blocks; and
allocating a second block from the first block by setting the at least one code byte corresponding to the second block to indicate that the second block is no longer part of the first block and updating the first pointer in the main memory. - View Dependent Claims (8, 9, 10, 11, 12)
-
Specification