# US 10,482,032 B2 · Selective space reclamation of data storage memory employing heat and relocation metrics

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,482,032 B2
- Document ID: US10482032B2
- Status: Granted
- Kind: B2
- Application number: 15/951,316
- Filed: 2018-04-12
- Published: 2018-08-16
- Granted: 2019-11-19
- Earliest claimed: 2011-10-31
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Michael T. Benhase; Evangelos S. Eleftheriou; Lokesh M. Gupta; Robert Haas; Xiao Y. Hu; Matthew J. Kalos; Ioannis Koltsidas; Roman A. Pletka
- Web page: https://patentgrep.com/patent/US10482032B2

## CPC

- G06F 12/122: of the least frequently used [LFU] type, e.g. with individual count value
- G06F 3/0608: {Saving storage space on storage systems}
- G06F 3/0652: {Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket}
- G06F 3/0683: {Plurality of storage devices}
- G06F 12/0253: {Garbage collection, i.e. reclamation of unreferenced memory}
- G06F 12/121: using replacement algorithms
- G06F 12/126: with special data handling, e.g. priority of data or instructions, handling errors or pinning
- G06F 12/128: adapted to multidimensional cache systems, e.g. set-associative, multicache, multiset or multilevel
- G06F 12/0871: Allocation or management of cache space
- G06F 2212/222: Non-volatile memory
- G06F 2212/7205: Cleaning, compaction, garbage collection, erase control
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Space of a data storage memory of a data storage memory system is reclaimed by determining heat metrics of data stored in the data storage memory; determining relocation metrics related to relocation of the data within the data storage memory; determining utility metrics of the data relating the heat metrics to the relocation metrics for the data; and making the data whose utility metric fails a utility metric threshold, available for space reclamation.

## Claims

### Claim 1

A computer-implemented method for reclaiming space of an at least one data storage cache memory of a data storage memory system, the method comprising:
determining at least one relocation metric related to relocation of data within the at least one data storage cache memory of the data storage memory system, the at least one relocation metric including a count of a number of times the data has been relocated, during reclamation process iterations, within the at least one data storage cache memory; and
performing, based at least in part on the determined at least one relocation metric, at least one action selected from the group consisting of:
making the data available for space reclamation; and
making the data exempted from space reclamation.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, further comprising:
exempting from space reclamation eligibility, data recently added to the data storage cache memory.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, further comprising:
exempting from space reclamation eligibility, data designated as ineligible by space management policy.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, wherein the count of the number of times the data has been relocated within the at least one data storage cache memory during reclamation process iterations includes a count of a number of times the data has been relocated within the at least one data storage cache memory without the data having been invalidated.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, wherein the count of the number of times the data has been relocated within the at least one data storage cache memory during reclamation process iterations includes a count of a number of times the data has been relocated within the at least one data storage cache memory without the data having been invalidated or demoted out of the at least one data storage cache memory.

### Claim 6 (depends on 5)

The computer-implemented method of claim 5, wherein the at least one non-volatile storage includes storage selected from the group consisting of: a hard disk and a solid state drive.

### Claim 7

A computer program product for reclaiming space of an at least one data storage cache memory of a data storage memory system, the computer program product comprising a non-transitory computer-readable storage medium having program code embodied therein, the program code configured to cause a processor to perform a method comprising:
determining at least one relocation metric related to relocation of data within the at least one data storage cache memory of the data storage memory system, the at least one relocation metric including a count of a number of times the data has been relocated, during reclamation process iterations, within the at least one data storage cache memory; and
performing, based at least in part on the determined at least one relocation metric, at least one action selected from the group consisting of:
making the data available for space reclamation; and
making the data exempted from space reclamation.

### Claim 8 (depends on 7)

The computer program product of claim 7, wherein the method further comprises:
exempting from space reclamation eligibility, data recently added to the data storage cache memory.

### Claim 9 (depends on 7)

The computer program product of claim 7, wherein the method further comprises:
exempting from space reclamation eligibility, data designated as ineligible by space management policy.

### Claim 10 (depends on 7)

The computer program product of claim 7, wherein the count of the number of times the data has been relocated within the at least one data storage cache memory during reclamation process iterations includes a count of a number of times the data has been relocated within the at least one data storage cache memory without the data having been invalidated.

### Claim 11 (depends on 7)

The computer program product of claim 7, wherein the count of the number of times the data has been relocated within the at least one data storage cache memory during reclamation process iterations includes a count of a number of times the data has been relocated within the at least one data storage cache memory without the data having been invalidated or demoted out of the at least one data storage cache memory.

### Claim 12 (depends on 11)

The computer program product of claim 11, wherein the at least one non-volatile storage includes storage selected from the group consisting of: a hard disk and a solid state drive.

### Claim 13

A computer-implemented data storage memory system comprising:
at least one data storage cache memory;
at least one non-volatile storage; and
a processor configured to obtain instructions that cause the processor to perform a method for reclaiming space of said at least one data storage cache memory, said method comprising:
determining at least one relocation metric related to relocation of data within said at least one data storage cache memory, said at least one relocation metric comprising a count of the number of times said data has been relocated within said at least one data storage cache memory during reclamation process iterations; and
performing, based at least in part on the determined at least one relocation metric, at least one action selected from the group consisting of:
(i) making said data available for space reclamation and (ii) making said data exempted from space reclamation.

### Claim 14 (depends on 13)

The computer-implemented data storage memory system of claim 13, wherein said method further comprises:
exempting from space reclamation eligibility, data recently added to said data storage cache memory.

### Claim 15 (depends on 13)

The computer-implemented data storage memory system of claim 13, wherein said method further comprises:
exempting from space reclamation eligibility, data designated as ineligible by space management policy.

### Claim 16 (depends on 13)

The computer-implemented data storage memory system of claim 13, wherein the count of the number of times said data has been relocated within said at least one data storage cache memory during reclamation process iterations comprises a count of the number of times said data has been relocated within said at least one data storage cache memory without said data having been invalidated.

### Claim 17 (depends on 13)

The computer-implemented data storage memory system of claim 13, wherein the count of the number of times said data has been relocated within said at least one data storage cache memory during reclamation process iterations comprises a count of the number of times said data has been relocated within said at least one data storage cache memory without said data having been invalidated or demoted out of said at least one data storage cache memory.

### Claim 18 (depends on 17)

The computer-implemented data storage system of claim 17, wherein the at least one non-volatile storage comprises storage selected from the group consisting of hard disk and solid state drive.
