Dynamic SCM Cache Partitioning for Hit Ratio Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data storage systems face inefficiencies in cache memory management, particularly with the integration of larger cache memories comprising multiple heterogeneous memory types, where write-cycle limits and data fragmentation in flash memory-based storage class memory (SCM) hinder optimal performance.

Innovation Solution

A method for dynamically adjusting the size of cache partitions based on cache hit ratios, ensuring that specific data types or purposes are stored in designated areas within a cache memory system, which includes both higher and lower performance portions made of different heterogeneous memory types, while adhering to minimum and maximum size limitations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If flash memory is used to create larger cache memory, then storage capacity is improved, but write-cycle limits and data fragmentation occur

Engineering Contradiction:
Improvecache storage capacityVSAvoidwrite-cycle limits and data fragmentation
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The cache memory is divided into multiple partitions, each dedicated to specific data types or access patterns. This segmentation allows the system to manage different data independently, preventing data fragmentation issues while utilizing the large capacity of flash memory. Each partition can be optimized for its specific purpose without affecting other data.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different partitions within the cache memory are assigned different characteristics and management strategies based on their specific data types. High-frequency accessed data gets prioritized in certain partitions, while other partitions handle less frequent data. This local optimization allows the system to maximize performance for each data type while utilizing the overall large capacity.

Inventive Principle:
Principle #3Local quality

2Quantity of substance

If cache memory is increased in size, then more data can be stored in faster access memory, but cache management complexity increases

Engineering Contradiction:
Improvecache storage capacityVSAvoidcache management complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

By dividing the large cache into smaller, dedicated partitions, the management complexity is reduced. Each partition can be managed independently with simpler algorithms tailored to its specific data type, rather than managing one large complex cache with diverse data requirements.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically adjusts partition sizes and data placement strategies based on access patterns and cache hit ratios. This adaptive parameter adjustment allows the cache to optimize performance automatically without requiring complex manual management, simplifying operation while handling large capacities.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If cache partitions are dynamically adjusted, then cache performance is optimized, but additional monitoring and adjustment mechanisms are required

Engineering Contradiction:
Improvecache performanceVSAvoidmonitoring and adjustment mechanisms
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system continuously monitors cache hit ratios for each partition and uses this feedback to dynamically adjust partition sizes and data placement. This automated feedback loop optimizes cache performance based on actual usage patterns without requiring complex external management, as the system self-adjusts based on its own performance metrics.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The cache management system performs its own optimization by monitoring its performance and automatically adjusting partition configurations. This self-service capability eliminates the need for external complex management mechanisms, as the cache system manages itself based on observed access patterns and performance metrics.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11372761B1Dynamically adjusting partitioned SCM cache memory to maximize performance
Publication Date: 2022.06.28 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11372761B1 patent drawing
  • US11372761B1 patent drawing
  • US11372761B1 patent drawing

AI summary

A method for dynamically adjusting cache memory partition sizes within a storage system includes computing a read hit ratio for data accessed in each cache partition and an average read hit ratio for all the cache partitions over a time interval. The cache memory includes a higher performance portion (DRAM) and lower performance portion (SCM). The method increases or decreases the partition size for each cache partition by comparing the read hit ratio for the partition to the average read hit ratio for all the partitions. Each cache partition includes maximum and minimum partition sizes, and read hit and read access counters. The SCM portion of the cache memory includes cache partitions reserved for storing data of a specific type, or data used for a specific purpose or with a specific software application. A corresponding storage controller and computer program product are also disclosed.