Heterogeneous Cache Demotion Using Access Counts

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current cache systems face limitations with flash memory-based storage class memory (SCM) due to write-cycle limits and data fragmentation, which hinder effective utilization in cache applications despite its higher access speeds and lower costs compared to DRAM.

Innovation Solution

Implementing a cache system with heterogeneous memory types, specifically using a higher performance DRAM cache and a lower performance SCM cache, where data elements are demoted from the higher performance cache to the lower performance cache based on access counts, ensuring efficient resource allocation and minimizing wear on SCM.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

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

Engineering Contradiction:
Improvestorage capacityVSAvoidwrite-cycle limits
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The cache is segmented into two distinct portions: a first cache portion using DRAM technology and a second cache portion using SCM technology. This segmentation allows each portion to operate within its optimal performance characteristics, with the DRAM portion handling frequently written data and the SCM portion handling read-intensive data, thereby resolving the write-cycle limit issue while maintaining large storage capacity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different regions of the cache system are assigned different memory technologies based on their specific requirements. The first cache portion uses DRAM for locations requiring high write endurance, while the second cache portion uses SCM for locations prioritizing storage capacity and cost-effectiveness. This local quality approach ensures that each portion's characteristics match its functional requirements.

Inventive Principle:
Principle #3Local quality

2Quantity of substance

If SCM is used to create a cache with larger storage capacity, then storage capacity is improved, but data fragmentation occurs

Engineering Contradiction:
Improvestorage capacityVSAvoiddata fragmentation
Core Design Contradiction:
Quantity of substanceVSStability of the object's composition

Solution Approach 1:

By segmenting the cache into two portions with different memory technologies, the system prevents data fragmentation issues that would occur in a uniform SCM-based cache. The DRAM portion maintains data integrity for frequently accessed items, while the SCM portion provides stable storage for less frequently accessed data, collectively eliminating fragmentation problems.

Inventive Principle:
Principle #1Segmentation

3Quantity of substance

If data is moved from higher performance cache to lower performance cache, then cache capacity utilization is improved, but access time increases

Engineering Contradiction:
Improvecache capacity utilizationVSAvoidaccess time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The cache system dynamically manages data placement between the two portions based on access patterns. A cache demotion algorithm monitors data usage and automatically transfers data from the first cache portion to the second cache portion when appropriate, optimizing the balance between capacity utilization and access time based on real-time conditions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The cache demotion algorithm uses feedback from data access patterns to determine when to move data between cache portions. By monitoring access frequency and timing, the system makes informed decisions about data placement, ensuring that frequently accessed data remains in the faster DRAM portion while less frequently accessed data is moved to the SCM portion, thus optimizing overall performance.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11372764B2Single-copy cache using heterogeneous memory types
Publication Date: 2022.06.28 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11372764B2 patent drawing
  • US11372764B2 patent drawing
  • US11372764B2 patent drawing

AI summary

A method for demoting data from a cache comprising heterogeneous memory types is disclosed. The method maintains for a data element in the cache, a write access count that is incremented each time the data element is updated in the cache. The cache includes a higher performance portion and a lower performance portion. The method also maintains, for the data element, a read access count that is incremented each time a data element is read in the cache. The method removes the data element from the higher performance portion of the cache in accordance with a cache demotion algorithm. If the write access count is below a first threshold and the read access count is above a second threshold, the method places the data element in the lower performance portion. A corresponding system and computer program product are also disclosed.