Hierarchical Cache Partitioning for Hit Rate Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing hierarchical data cache systems face inefficiencies in optimizing cache partition sizes and access overhead, leading to suboptimal performance in servicing multiple address spaces and handling cache hierarchies of varying depths.

Innovation Solution

The implementation of a data storage system with a hierarchical cache structure featuring dedicated and undedicated partitions across multiple cache levels, where a processor configures and sizes these partitions based on address spaces and applies hash functions to optimize data placement and minimize access overhead, grouping cache levels into layer groups for independent optimization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If a hierarchical cache structure is used to service multiple address spaces, then cache capacity is increased, but cache partition management complexity increases

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

Solution Approach 1:

The cache is segmented into multiple levels (L1, L2, L3) with each level containing multiple partitions. Each partition is dedicated to serving specific address spaces, creating a hierarchical structure that scales capacity while maintaining manageable complexity through organized segmentation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different partitions within the cache hierarchy have specialized roles - some partitions are dedicated to specific address spaces while others serve multiple address spaces. This local specialization allows efficient servicing of multiple address spaces without requiring uniform management across the entire cache structure.

Inventive Principle:
Principle #3Local quality

2Productivity

If dedicated partitions are created for each address space, then data access efficiency is improved, but cache space utilization deteriorates

Engineering Contradiction:
Improvedata access efficiencyVSAvoidcache space utilization
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The cache hierarchy includes undedicated partitions that can serve multiple address spaces, providing universal access capability. These partitions complement dedicated partitions by handling shared data access patterns, thereby improving overall cache space utilization while maintaining efficient access through the multi-functional partition structure.

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

Solution Approach 2:

The cache system dynamically manages partition allocation and data placement based on access patterns. The processor can determine optimal partition sizes and data placement strategies, allowing the system to adapt between dedicated and shared partition usage to balance access efficiency and space utilization.

Inventive Principle:
Principle #15Dynamics

3Reliability

If cache partition sizes are optimized for specific address spaces, then aggregate read hit rate is improved, but access overhead for multiple address spaces increases

Engineering Contradiction:
Improveaggregate read hit rateVSAvoidaccess overhead
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The processor pre-determines optimal partition sizes and data placement strategies based on anticipated access patterns. By performing this optimization work in advance, the system establishes efficient cache configurations that improve read hit rates without incurring excessive overhead during actual data access operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The cache hierarchy is designed to self-optimize through the processor's ability to determine optimal partition configurations and data placement. The system automatically manages the trade-off between hit rate optimization and access overhead by intelligently allocating cache resources without requiring external intervention for each access operation.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10409729B1Controlling aggregate read hit rate across a hierarchy of cache levels by partitioning responsibility for caching among the cache levels
Publication Date: 2019.09.10 EMC IP HLDG CO LLC
  • US10409729B1 patent drawing
  • US10409729B1 patent drawing
  • US10409729B1 patent drawing

AI summary

Control over the overall data cache hit rate is obtained by managing partitioning caching responsibility by address space. Data caches determine whether to cache data by hashing the data address. Each data cache is assigned a range of hash values to serve. By choosing hash value ranges that do not overlap, data duplication can be eliminated if desired, or degrees of overlap can be allowed. Control over hit rate maximization of data caches having best hit response times is obtained by maintaining separate dedicated and undedicated partitions within each cache. The dedicated partition is only used for the assigned range of hash values.