Variable Granularity Counters for Storage Memory Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional storage systems use fixed granularity counters, leading to excessive memory usage and limited performance improvements due to their inflexibility in data movement techniques between storage tiers.

Innovation Solution

Implementing variable granularity counters using a tree structure that dynamically adjusts counter granularity based on monitored access patterns, allowing for split and merge operations to optimize counter assignments for data blocks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If fixed granularity counters are used for a predetermined block size, then counter implementation is simple, but memory usage is excessive and performance improvement is limited

Engineering Contradiction:
Improvecounter implementation complexityVSAvoidmemory usage for counter storage
Core Design Contradiction:
Device complexityVSQuantity of substance

Solution Approach 1:

The patent segments the counter storage structure by organizing counters in a hierarchical tree format where the root node represents the entire address space and child nodes represent progressively finer granularity blocks. This segmentation allows the system to only allocate counter storage for blocks that are actually being tracked, rather than pre-allocating storage for all possible block sizes. The segmentation principle directly resolves the contradiction by enabling simple implementation at the top level while providing fine-grained tracking only where needed, thus reducing overall memory usage.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic counter granularity where the system can automatically split or merge counter nodes based on monitored access patterns. When a block shows high access frequency, the system dynamically splits it into smaller sub-blocks with their own counters, providing fine-grained tracking only when necessary. This dynamic adaptation allows the system to maintain simple structures for most data while providing detailed tracking for hot spots, resolving the contradiction between implementation simplicity and memory-efficient performance optimization.

Inventive Principle:
Principle #15Dynamics

2Stability of the object's composition

If fixed granularity counters are used for a predetermined block size, then counter structure is stable, but adaptability to different access patterns is poor

Engineering Contradiction:
Improvecounter structure stabilityVSAvoidadaptability to access patterns
Core Design Contradiction:
Stability of the object's compositionVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic counter granularity where the system can automatically split or merge counter nodes based on monitored access patterns. When a block shows high access frequency, the system dynamically splits it into smaller sub-blocks with their own counters, providing fine-grained tracking only when necessary. This dynamic adaptation allows the system to maintain simple structures for most data while providing detailed tracking for hot spots, resolving the contradiction between implementation simplicity and memory-efficient performance optimization.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the granularity parameter of counters dynamically based on monitored access patterns. The system starts with coarse-grained counters at the root level and automatically refines the granularity by splitting nodes into child nodes with smaller block sizes when access patterns indicate the need for finer tracking. This parameter change approach maintains structural stability at higher levels while adapting granularity at lower levels, resolving the contradiction between stability and adaptability.

Inventive Principle:
Principle #35Parameter changes

3Measurement precision

If fine-grained counters are provided for all data blocks, then access pattern tracking precision is high, but memory usage becomes excessive

Engineering Contradiction:
Improveaccess pattern tracking precisionVSAvoidmemory usage for counter storage
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent applies local quality by providing fine-grained counter tracking only for specific blocks that exhibit high access patterns, while using coarser-grained tracking for the majority of data blocks. The hierarchical tree structure allows the system to have root-level counters that aggregate statistics for large blocks, and only create child nodes with finer granularity when local access patterns warrant it. This local differentiation of tracking precision resolves the contradiction by achieving high measurement precision where needed while maintaining memory efficiency elsewhere.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent segments the counter storage structure by organizing counters in a hierarchical tree format where the root node represents the entire address space and child nodes represent progressively finer granularity blocks. This segmentation allows the system to only allocate counter storage for blocks that are actually being tracked, rather than pre-allocating storage for all possible block sizes. The segmentation principle directly resolves the contradiction by enabling simple implementation at the top level while providing fine-grained tracking only where needed, thus reducing overall memory usage.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10866735B2Storage system with variable granularity counters
Publication Date: 2020.12.15 EMC IP HLDG CO LLC
  • US10866735B2 patent drawing
  • US10866735B2 patent drawing
  • US10866735B2 patent drawing

AI summary

An apparatus in one embodiment comprises at least one processing device comprising a processor coupled to a memory. The processing device is configured to establish an initial assignment of a plurality of counters to leaf nodes of a tree structure where each such leaf node represents a particular block size, to monitor count values of respective ones of the counters associated with the leaf nodes, to split at least a given one of the leaf nodes into multiple leaf nodes, each representing a block size smaller than the particular block size, responsive to the monitored count for its corresponding counter exceeding a split threshold, the given leaf node thereby being transformed into a non-leaf parent node of the multiple leaf nodes, and to modify the assignment of the plurality of counters to the leaf nodes responsive to the splitting. The multiple leaf nodes may be subsequently merged to recreate the given leaf node.