Cache Tiering Across DRAM, CMB, and PMR for Lower-Cost Capacity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing distributed storage systems face inefficiencies in data caching due to the lack of integration of different memory types, leading to suboptimal performance and increased costs without additional DRAM resources.

Innovation Solution

A method and apparatus for cache tiering that allocates cache slots based on memory type requirements, using a cache metadata table to identify and manage cache slots in DRAM, CMB, and PMR, enabling efficient data caching and synchronization through Peterson locks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If traditional caching using only DRAM is used, then data access speed is fast, but system cost increases and cache capacity is limited

Engineering Contradiction:
Improvedata access speedVSAvoidcache capacity
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The cache system is segmented into multiple memory tiers (DRAM, CMB, PMR) with different performance characteristics and cost levels. Each memory type is allocated to specific cache slots based on service levels, allowing the system to balance speed and capacity by distributing data across tiers rather than relying on a single expensive DRAM-based cache.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different cache slots are assigned different memory types based on local requirements. High-performance slots use DRAM for critical data, while lower-performance slots use CMB or PMR for less time-sensitive data. This local differentiation allows the system to optimize both speed for critical operations and capacity for general storage without uniform cost increases.

Inventive Principle:
Principle #3Local quality

2Quantity of substance

If multiple memory types are integrated into the cache, then cache capacity increases without additional DRAM, but cache coherency and data synchronization become more complex

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

Solution Approach 1:

The cache is segmented into distinct tiers (DRAM, CMB, PMR) with clear boundaries and dedicated allocation strategies. This segmentation simplifies management by allowing independent control of each tier's allocation and access patterns, reducing the complexity of coordinating multiple memory types compared to a unified approach.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system uses feedback mechanisms through service level requirements and data access patterns to dynamically manage cache tier allocation. By monitoring which memory tiers are most heavily used and adjusting allocation accordingly, the system maintains coherence without requiring complex manual synchronization protocols.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS20250307189A1Method and apparatus for cache tiering
Publication Date: 2025.10.02 DELL PROD LP
  • US20250307189A1 patent drawing
  • US20250307189A1 patent drawing
  • US20250307189A1 patent drawing

AI summary

A method for use in a storage processor, comprising: receiving an I/O request that is associated with a logical block address; allocating a cache slot that corresponds to the logical block address, wherein allocating the cache slot includes: identifying a type of memory that is required to host the cache slot by using one or more configuration settings that are associated with the cache slot, identifying a cache slot that is both available and hosted in the identified type of memory, and assigning the identified cache slot to the logical block address; and executing the I/O request by using the allocated cache slot, wherein using the allocated cache slot includes identifying a memory address that is associated with the cache slot and executing at least one direct memory access (DMA) command that is associated with the allocated cache slot.