# US 12,223,196 B1 · Processing metadata changes using multiple aggregation policies

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

- Number: US 12,223,196 B1
- Document ID: US12223196B1
- Status: Granted
- Kind: B1
- Application number: 18/494,196
- Filed: 2023-10-25
- Granted: 2025-02-11
- Earliest claimed: 2023-10-25
- Assignees: Dell Products L.P.
- Applicants: Dell Products L.P.
- Inventors: Jenny Derzhavetz; Vladimir Shveidel; Nimrod Shani
- Web page: https://patentgrep.com/patent/US12223196B1

## CPC

- G06F 3/0647: {Migration mechanisms}
- G06F 3/061: {Improving I/O performance}
- G06F 3/0649: {Lifecycle management}
- G06F 3/0685: {Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A technique for managing metadata changes in a storage system provides different aggregation policies for use with different metadata. The technique includes assigning metadata changes to respective aggregation policies and storing the assigned metadata changes in a set of data structures. The technique further includes destaging the metadata changes from the set of data structures separately for the different aggregation policies in accordance with settings specific to those aggregation policies.

## Claims

### Claim 1

A method of managing metadata changes in a storage system, comprising:
assigning each of a plurality of metadata changes to a respective aggregation policy of a plurality of aggregation policies;
storing the assigned metadata changes in a set of in-memory buckets; and
for each of the plurality of aggregation policies, separately destaging the metadata changes assigned to the respective aggregation policy to backend storage in accordance with settings specific to the respective aggregation policy.

### Claim 2 (depends on 1)

The method of claim 1, wherein the storage system includes multiple storage tiers for storing user data, and wherein each of the plurality of aggregation policies is provided for metadata changes that relate to user data stored in a respective storage tier.

### Claim 3 (depends on 2)

The method of claim 2, wherein separately destaging the metadata changes, for at least a subset of the plurality of aggregation policies, proceeds in two phases:
a first phase that includes transferring a set of metadata changes assigned to the respective aggregation policy from the set of in-memory buckets to a set of persistent tablets; and
a second phase that includes (i) aggregating the set of metadata changes with additional sets of metadata changes and (ii) transferring the aggregated metadata changes to the backend storage.

### Claim 4 (depends on 3)

The method of claim 3, wherein each of the subset of aggregation policies has an associated set of persistent tablets dedicated to the respective aggregation policy.

### Claim 5 (depends on 4)

The method of claim 4, further comprising aggregating fewer sets of persistent tablets for a higher-performance storage tier than are aggregated for a lower-performance storage tier.

### Claim 6 (depends on 3)

The method of claim 3, wherein separately destaging the metadata changes for a particular aggregation policy of the plurality of aggregation policies proceeds in a single phase in which assigned metadata changes are placed in the backend storage without first placing them in any persistent tablets.

### Claim 7 (depends on 3)

The method of claim 3, wherein each of the plurality of aggregation policies is associated with multiple persistent settings, the persistent settings including a number of buckets of the set of buckets dedicated to the respective aggregation policy.

### Claim 8 (depends on 3)

The method of claim 3, wherein each of the subset of aggregation policies is associated with multiple persistent settings, the persistent settings including a size on disk of persistent tablets for the respective aggregation policy.

### Claim 9 (depends on 3)

The method of claim 3, wherein each of the plurality of aggregation policies is associated with multiple persistent settings, the persistent settings including a batch size that specifies a number of tablets to be aggregated when performing the second phase of destaging.

### Claim 10 (depends on 3)

The method of claim 3, wherein each of the plurality of aggregation policies is associated with multiple persistent settings, and wherein the method further comprises changing the persistent settings associated with at least one of the plurality of aggregation policies nondisruptively while the storage system continues to operate.

### Claim 11 (depends on 10)

The method of claim 10, wherein the persistent settings associated with at least one of the plurality of aggregation policies include:
a set of current settings;
a set of previous settings; and
an indicator of a transition point between the set of previous settings and the set of current settings.

### Claim 12 (depends on 1)

The method of claim 1, wherein each of the set of in-memory buckets is dedicated to a respective metadata page having a logical index, and wherein storing the assigned metadata changes in the set of in-memory buckets includes:
locating a target in-memory bucket for a particular assigned metadata change based on a logical index associated with the metadata page to which the particular assigned metadata change belongs; and
placing the particular assigned metadata change into a region of the target in-memory bucket designated for the aggregation policy assigned to the particular assigned metadata change.

### Claim 13 (depends on 1)

The method of claim 1, wherein each of the set of in-memory buckets is dedicated to a respective metadata page having a logical index, and wherein storing the assigned metadata changes in the set of in-memory buckets includes:
locating a target in-memory bucket for a particular assigned metadata change based on both (i) a logical index associated with the metadata page to which the particular assigned metadata change belongs and (ii) an aggregation policy to which the particular assigned metadata change is assigned; and
placing the particular assigned metadata change into the target in-memory bucket.

### Claim 14

A computerized apparatus, comprising control circuitry that includes a set of processors coupled to memory, the control circuitry constructed and arranged to:
assign each of a plurality of metadata changes to a respective aggregation policy of a plurality of aggregation policies;
store the assigned metadata changes in a set of in-memory buckets; and
for each of the plurality of aggregation policies, separately destage the metadata changes assigned to the respective aggregation policy to backend storage in accordance with settings specific to the respective aggregation policy.

### Claim 15 (depends on 14)

The computer program product of claim 14, wherein the storage system includes multiple storage tiers for storing user data, and wherein each of the plurality of aggregation policies is provided for metadata changes that relate to user data stored in a respective storage tier.

### Claim 16

A computer program product including a set of non-transitory, computer-readable media having instructions which, when executed by control circuitry of a computerized apparatus, cause the computerized apparatus to perform a method of managing metadata changes in a storage system, the method comprising:
assigning each of a plurality of metadata changes to a respective aggregation policy of a plurality of aggregation policies;
storing the assigned metadata changes in a set of in-memory buckets; and
for each of the plurality of aggregation policies, separately destaging the metadata changes assigned to the respective aggregation policy to backend storage in accordance with settings specific to the respective aggregation policy.

### Claim 17 (depends on 16)

The computer program product of claim 16, wherein the storage system includes multiple storage tiers for storing user data, and wherein each of the plurality of aggregation policies is provided for metadata changes that relate to user data stored in a respective storage tier.

### Claim 18 (depends on 17)

The computer program product of claim 17, wherein separately destaging the metadata changes, for at least a subset of the plurality of aggregation policies, proceeds in two phases:
a first phase that includes transferring a set of metadata changes assigned to the respective aggregation policy from the set of in-memory buckets to a set of persistent tablets; and
a second phase that includes (i) aggregating the set of metadata changes with additional sets of metadata changes and (ii) transferring the aggregated metadata changes to the backend storage.

### Claim 19 (depends on 18)

The computer program product of claim 18, wherein each of the subset of aggregation policies has an associated set of persistent tablets dedicated to the respective aggregation policy.

### Claim 20 (depends on 19)

The m computer program product of claim 19, wherein the method further comprises aggregating fewer sets of persistent tablets for a higher-performance storage tier than are aggregated for a lower-performance storage tier.
