Cascaded Virtual Cache Memory for Dynamic Access Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing cache management systems struggle to optimize cache memory size and algorithms dynamically for peak performance, leading to inefficiencies in storing and retrieving data, as they often rely on static analysis and do not account for real-time usage patterns.

Innovation Solution

Implementing a virtual cache memory system that uses tags to represent data blocks evicted from the buffer cache, allowing for dynamic analysis and updating of cache memory usage, which creates a cascaded cache structure to optimize cache size and algorithms based on real-time access patterns.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If a victim cache is used to store evicted data blocks, then quick read/write access to evicted data is improved, but cache memory size and complexity increase

Engineering Contradiction:
Improveaccess speed to evicted dataVSAvoidcache memory size
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent implements a nested cache structure where a victim cache is embedded within the main buffer cache hierarchy. When data is evicted from the buffer cache, it is transferred to the victim cache rather than being immediately discarded to storage. This nested arrangement allows the system to maintain fast access paths for recently evicted data while using a smaller portion of main memory for the victim cache compared to a full duplicate cache structure.

Inventive Principle:
Principle #7Nested doll (Nesting)

Solution Approach 2:

The system performs preliminary actions by proactively transferring evicted data blocks to the victim cache before they are needed again. The victim cache pre-positiones这些数据 in main memory, so when a read request occurs for evicted data, the system can quickly retrieve it from the victim cache rather than accessing slower storage subsystems. This preliminary positioning resolves the contradiction by preparing data in advance in a space-efficient manner.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If cache memory size is increased to improve performance, then data access speed is improved, but cost increases due to expensive cache memory

Engineering Contradiction:
Improvedata access efficiencyVSAvoidcache memory capacity
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent applies local quality by creating different cache regions with different retention policies and access characteristics. The buffer cache uses one eviction policy while the victim cache uses another, allowing optimized performance for different data access patterns. This localized differentiation improves overall productivity without requiring a uniform increase in total cache capacity, as each region serves its specific purpose efficiently.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system dynamically changes parameters such as cache replacement policies and data retention time between the buffer cache and victim cache. By adjusting these parameters based on access patterns and system state, the system optimizes data access efficiency without requiring maximum cache capacity. The victim cache specifically uses different retention parameters to hold evicted data temporarily, improving productivity while controlling the quantity of cache memory used.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If a victim cache is implemented to store evicted blocks, then access to evicted data is improved, but device complexity increases

Engineering Contradiction:
Improvedata access reliabilityVSAvoidcache management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the cache management system into distinct functional modules: a buffer cache for actively used data, a victim cache for recently evicted data, and a storage subsystem for permanent storage. Each segment has its own management policies and data structures. This segmentation improves reliability by ensuring that evicted data has a designated home (the victim cache) rather than being lost, while managing complexity through clear separation of concerns and well-defined interfaces between segments.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8255630B1Optimization of cascaded virtual cache memory
Publication Date: 2012.08.28 NETAPP INC
  • US8255630B1 patent drawing
  • US8255630B1 patent drawing
  • US8255630B1 patent drawing

AI summary

The present invention includes storing in a main memory data block tags corresponding to blocks of data previously inserted into a buffer cache memory and then evicted from the buffer cache memory or written over in the buffer cache memory. Counters associated with the tags are updated when look-up requests to look up data block tags are received from a cache look-up algorithm.