1. A method of managing free memory, said method comprising: creating a free list having entries with addresses of free memory locations; and caching a portion of said free list in a cache having entries with addresses of free memory locations, wherein said cache includes a first threshold and a second threshold.