×

Efficient memory allocator utilizing a dual free-list structure

  • US 6,505,283 B1
  • Filed: 09/30/1999
  • Issued: 01/07/2003
  • Est. Priority Date: 10/06/1998
  • Status: Expired due to Fees
First Claim
Patent Images

1. A method of dynamically allocating blocks of memory in a computer system, the method including the steps of:

  • generating a first memory allocation list in which free memory blocks of any size are recorded, said first memory allocation list being ordered on the basis of size information associated with each of said free memory blocks;

    generating a second memory allocation list in which said free memory blocks are recorded and ordered on the basis of memory block address information associated with each of said free memory blocks;

    when a memory block request is generated by the computer system, searching a first list to determine a suitably sized memory block, allocating at least a portion of the suitably sized memory block in accordance with the request, and updating the size and address information in said first and second lists to take at least the portion allocated into account; and

    when a first memory block of any size is freed by the computer system;

    determining whether one or more additional free memory blocks of any size exist adjacent said first memory block by searching the second list;

    in the event that one or more additional free memory blocks exist adjacent said first memory block, merging said first memory block and said additional free memory blocks together to form a unitary free memory block; and

    updating said size and address information of the first and second lists to take said first memory block and any additional free memory blocks merged therewith into account.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×