Patent ID: 7380091

Claim:
A method for managing memory comprising: (a) maintaining, in a heap tree, a tri-linked list of deallocated memory units available for use by the heap tree, wherein: (i) the heap tree represents a file system; (ii) a file is broken up into two or more memory units that are managed as nodes in the heap tree; (iii) a first link points to available deallocated memory units smaller than a current block size; (iv) a second link points to available deallocated memory units equal to the current block size; and (v) a third link points to available deallocated memory units larger than the current block size; (b) the heap tree receiving a request for memory, wherein the request is from an application for an object of a desired size; (c) traversing the heap tree to find a deallocated memory unit that satisfies the request for memory; (d) the heap tree allocating the deallocated memory unit that satisfies the request in a form of the object; and (e) the heap tree providing the object to the application, wherein the heap tree acts as an application programming interface to the application.