Multi-Level Metadata Cache Memory Allocation Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern storage systems that keep metadata on disk require additional flash device accesses, leading to reduced performance in read operations due to slower access times compared to in-memory metadata storage.

Innovation Solution

A multi-level cache system with a control module and a data module, featuring address, hash, and physical location values, and a filter mechanism, dynamically adjusts memory allocation based on performance parameters to optimize cache operations by repartitioning memory to improve performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If metadata is kept on disk (flash device), then memory resources are conserved, but read operation performance deteriorates due to additional flash device accesses

Engineering Contradiction:
Improvememory resourcesVSAvoidread operation performance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The metadata cache is divided into multiple segments or levels, allowing the system to store frequently accessed metadata in faster memory regions while less frequently accessed metadata can reside in slower storage. This segmentation enables the system to balance memory usage with performance requirements by strategically placing different metadata portions in appropriate storage locations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

An intermediary cache layer is introduced between the flash device and the metadata access operations. This intermediary structure (multi-level cache) acts as a buffer that reduces direct accesses to the flash device, thereby improving read performance while managing memory resources efficiently.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If metadata is kept in memory, then read operation performance improves by avoiding flash device accesses, but memory resources are consumed

Engineering Contradiction:
Improveread operation performanceVSAvoidmemory resources
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

Different portions of metadata are assigned different quality levels of storage based on their access patterns. Frequently accessed metadata receives higher quality storage (faster memory), while less frequently accessed metadata uses lower quality storage (slower flash device). This local quality differentiation optimizes both performance and resource utilization.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system dynamically changes parameters such as cache size allocation, memory assignment, and cache replacement policies based on workload characteristics. By adjusting these parameters, the system can adapt to different performance requirements and memory availability conditions, optimizing the balance between speed and resource consumption.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If cache size is increased to improve performance, then read operation efficiency improves, but memory allocation increases

Engineering Contradiction:
Improveread operation efficiencyVSAvoidmemory allocation
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The cache system is designed to be dynamic rather than static, with cache sizes and allocations that can change over time based on actual performance needs. The multi-level cache structure allows for dynamic adjustment of which metadata resides in which cache level, enabling the system to optimize performance while controlling memory usage patterns.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The cache system incorporates self-managing capabilities including automatic cache replacement policies, performance monitoring, and dynamic reallocation of cache resources. This self-service approach allows the cache to automatically optimize its own performance without requiring constant external intervention, efficiently managing the trade-off between cache size and performance.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10747667B2Memory management of multi-level metadata cache for content-based deduplicated storage
Publication Date: 2020.08.18 EMC IP HLDG CO LLC
  • US10747667B2 patent drawing
  • US10747667B2 patent drawing
  • US10747667B2 patent drawing

AI summary

An aspect of memory management is provided. An aspect includes evaluating performance parameters of caches of a control module. The caches of the control module have two types of entries: address, hash, and physical location values, and address-to-short-hash (A2SH) values. An aspect further includes evaluating performance parameters of caches of a data module of the multi-layer cache system. The caches of the data module cache include three types of entries: a short-hash-to-physical address, a full-hash-and-short-hash-to-physical address, and a filter mechanism. An aspect further includes predicting an effect that a modification to a size of one of the caches o is on performance of operations at the multi-level cache based on results of the calculating the performance parameters of the caches. Upon estimating an increase in performance, an aspect includes increasing allocation to the cache is determined to have increased performance responsive to the estimating, and decreasing allocation from another cache.