Unified Cache Management for Storage Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional storage systems face challenges in managing different types of caches effectively, leading to resource waste and performance limitations due to the lack of optimized balance between cache types and increased waiting times for data operations.

Innovation Solution

A method and device for managing a storage system by adding a group of cached data of different types corresponding to a data operation on a persistent storage device as a record in an associated data set, allowing for associative management and improving cache utilization and data processing performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional storage systems manage different types of caches separately, then cache management is simple, but resource waste increases and performance is limited

Engineering Contradiction:
Improvecache utilizationVSAvoidcache management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges multiple cache types (read cache, write cache, metadata cache) into a unified cache management system. The cache management unit uniformly manages all cache types through a single interface, treating them as one integrated resource pool rather than separate entities, thereby improving overall cache utilization while avoiding the complexity of managing each cache type independently

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The cache management unit serves multiple functions simultaneously - it manages read caches, write caches, and metadata caches through a universal management interface. This multi-functional approach allows the system to optimize cache resources across different types without requiring separate management mechanisms for each cache type

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Loss of time

If no optimized balance between cache types is implemented, then cache management is straightforward, but waiting time for data operations increases

Engineering Contradiction:
Improvewaiting timeVSAvoidcache balance management
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The system implements feedback mechanisms where the cache management unit monitors cache hit rates and data operation patterns to dynamically adjust cache allocation. By receiving feedback on cache performance and operation frequencies, the system can optimize the balance between different cache types in real-time, reducing waiting times without requiring complex manual configuration

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The cache management system dynamically adjusts cache allocation and priorities based on real-time operation patterns and data access frequencies. Rather than using fixed, static cache management rules, the system adapts its behavior to optimize performance under varying workloads, thereby reducing waiting times while maintaining manageable complexity through automated adjustment

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11907128B2Managing data of different cache types within a storage system
Publication Date: 2024.02.20 EMC IP HLDG CO LLC
  • US11907128B2 patent drawing
  • US11907128B2 patent drawing
  • US11907128B2 patent drawing

AI summary

A technique for managing a storage system involves determining, in response to a first write operation on a first data block on a persistent storage device, whether a first group of data corresponding to the first data block is included in a cache; updating the first group of data in the cache if it is determined that the first group of data is included in the cache; and adding the first group of data to an associated data set of the cache to serve as a first record. Accordingly, such a technique can associatively manage different types of cached data corresponding to a data block, thereby optimizing the system performance.