Patent ID: 9645922
Date: 2017-05-09
CPC Classifications: G06F

Claim:
1. A method comprising: executing, by a memory device controller, a plurality of read operations a plurality of blocks of memory, each block of the plurality of blocks of memory storing one or more data objects, each read operation referencing one of the data objects in one of the blocks of the plurality of memory; invalidating, by the memory device controller, a portion of the one or more data objects in the one or more blocks of memory in response to detecting the portion of the one or more data objects meeting an invalidation criteria; calculating, by the memory device controller, for each block of the plurality of blocks of memory, a recency metric that increases with a recency with which the one or more objects of the each block have been read; calculating, by the memory device controller, for each block of the plurality of blocks of memory, a validity metric that increases with a proportion of valid to invalid objects of the one or more objects of the each block; identifying, by the memory device controller, one or more lowest metric blocks from the plurality of blocks of memory, the one or more lowest metric blocks each having a combined recency metric and validity metric that is lower than a remainder of the plurality of blocks of memory not included in the lowest metric blocks; and performing, by the memory device controller, garbage collection on the one or more lowest metric blocks prior to performing garbage collection on the remainder of the plurality of blocks of memory.