Patent attributes
A first cache stores descriptors of very hot (i.e., recently-written) segments, while an overflow second cache stores descriptors of less-hot segments (i.e., those updated somewhat recently but not updated again in some time). When this second cache becomes full, the information contained within the second cache may be converted into a set of index structures that identifies the LESS-hot segments. These index structures may either be stored in a space-efficient manner or they may be stored in persistent storage rather than in memory. These index structures may build up over time. The oldest of these index structures represent the segments which have been updated the least recently, and are therefore the coldest. In some examples, a garbage collection process may be run first on the segments that are identified by the coldest index structures. The index structures can be further arranged into utilization ranges, so that low utilization segments may be further prioritized for garbage collection.