Patent ID: 9223690
Filing Date: 2015-12-29
Classification: G06F

Abstract:
1. A computer-implemented method for memory management, comprising: creating a reference count for each sub block in a global memory block, wherein the global memory block includes a plurality of sub blocks aged based on respective allocation time; incrementing a reference count for a first sub block when a thread operates on a collection of data items and accesses the first sub block for a first time; maintaining a reference count for a second sub block, wherein the reference count for the second sub block is not updated when the thread operates on the collection of data items when accessing, the second sub block, and wherein the second sub block has an allocation time after that of the first sub block; lazily updating reference counts for the first sub block and a third sub block when the thread returns with a new collection of data items and accesses the third sub block, different from the first sub block, wherein the reference count for the first sub block is decremented and the reference count for the third sub block is incremented; and freeing one or more sub blocks in the order of their age, wherein reference counts of the sub blocks to be freed are equal to zero.