Cache Memory Space Management via B+ Tree Recency Counters

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data center servers face inefficiencies due to low storage capacity utilization to meet high I/O demands, as solid state drives (SSDs) used as caching layers cannot store all data due to limited capacity, necessitating a mechanism to identify and free up cache memory space efficiently.

Innovation Solution

A tree data structure, such as a B+ tree, is used to map storage volume data locations to cache data locations, with counters indicating recency of access, allowing for efficient identification and freeing up of less recently accessed cache memory regions to accommodate newly accessed data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If SSD cache capacity is increased to store more data, then cache memory space is improved, but device cost and complexity worsen

Engineering Contradiction:
Improvecache memory spaceVSAvoiddevice complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent implements a dynamic cache management system using a B+ tree data structure with access counters that automatically adjust cache content based on access patterns. The system dynamically identifies and evicts least recently used data blocks by traversing the B+ tree to find minimum counter values, eliminating the need for static cache sizing or manual intervention while maintaining optimal cache utilization with limited hardware resources.

Inventive Principle:
Principle #15Dynamics

2Measurement precision

If cache eviction policy complexity is increased to improve data retention accuracy, then data retention accuracy is improved, but processing overhead worsens

Engineering Contradiction:
Improvedata retention accuracyVSAvoidprocessing overhead
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent performs preliminary organization of cache data into a B+ tree structure with pre-configured access counters for each node. When eviction is needed, the system simply traverses the pre-built tree structure to locate minimum counter values rather than performing complex analysis of all cache entries. This preliminary structuring enables efficient O(log n) eviction decisions without requiring complex real-time processing overhead.

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If access pattern tracking is implemented to identify less recently accessed data, then data retention accuracy is improved, but memory overhead worsens

Engineering Contradiction:
Improvedata retention accuracyVSAvoidmemory overhead
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent merges the access pattern tracking functionality directly into the existing B+ tree cache structure by integrating access counters into the tree nodes themselves. Rather than maintaining separate data structures for tracking access patterns, the system combines metadata storage and access counting in a unified B+ tree implementation, eliminating redundant memory overhead while preserving accurate access pattern information for eviction decisions.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS8386717B1Method and apparatus to free up cache memory space with a pseudo least recently used scheme
Publication Date: 2013.02.26 ARCTERA US LLC
  • US8386717B1 patent drawing
  • US8386717B1 patent drawing
  • US8386717B1 patent drawing

AI summary

A mechanism is provided for identifying data that can be removed from a cache memory by determining a memory region of the cache that is less recently accessed than other memory regions in the cache. A tree data structure is used to store a mapping of storage volume data locations to cache data locations. A counter reflecting recency of access to the cache data location is associated with each entry. The counter is incremented, along with counters associated with keys leading to a node including the entry, with each access to the associated cache memory location, while other counters in each affected node are decremented. Advantages of the tree data structure are used to efficiently locate a cache memory location associated with a counter reflecting a less recently accessed state in order to make that cache memory location available for storage of recently accessed data from the storage volume.