Method of managing memory allocation by association of memory blocks with a tree structure
First Claim
Patent Images
1. A method of associating free and allocated memory blocks within an at least three dimensional computer memory, the method comprising:
- allocating a first memory block of said computer memory and partitioning the remaining portion of said computer memory into a plurality of free memory blocks; and
associating said first memory block and said plurality of free memory blocks with a tree structure where a root element represents said first memory block and leaf element descendants of said root element represent said plurality of free memory blocks, and where said root element is marked as representing an allocated memory block and each leaf element descendant is marked as representing a free memory block.
2 Assignments
0 Petitions
Accused Products
Abstract
A memory resource is managed by allocation of memory blocks within a larger free memory block to reduce fragmentation and provide efficient methods for consolidation of previously allocated memory blocks into larger free memory blocks.
-
Citations
22 Claims
-
1. A method of associating free and allocated memory blocks within an at least three dimensional computer memory, the method comprising:
-
allocating a first memory block of said computer memory and partitioning the remaining portion of said computer memory into a plurality of free memory blocks; and associating said first memory block and said plurality of free memory blocks with a tree structure where a root element represents said first memory block and leaf element descendants of said root element represent said plurality of free memory blocks, and where said root element is marked as representing an allocated memory block and each leaf element descendant is marked as representing a free memory block. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method of associating free and allocated memory blocks within an at least three dimensional computer memory, the method comprising:
-
allocating a first memory block of said computer memory and partitioning the remaining portion of said computer memory into a plurality of free memory blocks; and associating said first memory block and said plurality of free memory blocks with a tree structure wherein said computer memory is represented by a root element of said tree structure, and wherein said allocated memory blocks and said plurality of free memory blocks are represented by leaf element descendants of said root element, the leaf element descendant corresponding to said allocated memory block being marked as representing allocated memory, the leaf element descendants corresponding to said plurality of free memory blocks being marked as representing free memory. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A method of allocation within a three dimensional block of free memory space having dimensions Xs, Ys and Zs, the method comprising:
-
receiving an allocation request for a block of memory having dimensions Xa, Ya and Za, each of the dimensions Xa, Ya, and Za being less than or equal to the corresponding one of the dimensions Xs, Ys, and Zs; partitioning said computer memory into three contiguous major blocks each having a first two of its X, Y and Z dimensions equal to corresponding dimensions of said computer memory, a first major block having a remaining one of its X, Y and Z dimensions equal to the corresponding one of dimensions Xa, Ya and Za; partitioning the first major block into five minor blocks, the first minor block having X, Y and Z dimensions equal to Xa, Ya and Za, respectively, the second and third minor blocks having one of said first two dimensions equal to the corresponding one of dimensions Xs, Ys and Zs, the fourth and fifth minor blocks occupying the remainder of said computer memory of dimensions Xs, Ys and Zs; and allocating the first minor block in response to said allocation request. - View Dependent Claims (17, 18, 19, 20, 21, 22)
-
Specification