Cache Block Sub-States and Activation Counters

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current caching systems face limitations in managing cache operations efficiently, particularly due to their limited useful lifespan and lack of fine-grained control over caching parameters, leading to suboptimal use of cache space and inefficient data management.

Innovation Solution

The introduction of new caching states and sub-states, along with an active cache counter for tracking activation counts, allows for fine-grained control of caching and defines policies for cache clean-up and metadata management, enabling efficient management of cache blocks and extending the cache's useful lifespan.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional caching systems are used, then cache operations are simple, but cache management efficiency is poor and lifespan is limited

Engineering Contradiction:
Improvecache management efficiencyVSAvoidcache structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The cache is divided into multiple cache blocks, each independently managed with its own activation count and sub-state. This segmentation allows fine-grained control over individual cache blocks while maintaining overall system efficiency. Each cache block can be independently activated, deactivated, or invalidated based on its specific usage patterns, resolving the contradiction between improved management efficiency and increased structural complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The cache introduces dynamic sub-states (passive, active, invalid) for each cache block that can transition based on access patterns and activation counts. This dynamic state management allows the cache to adapt to changing workloads and optimize performance automatically, improving cache management efficiency without requiring complex external control mechanisms.

Inventive Principle:
Principle #15Dynamics

2Quantity of substance

If cache capacity is increased, then more data can be cached, but cache lifespan decreases due to limited capacity

Engineering Contradiction:
Improvecache capacityVSAvoidcache lifespan
Core Design Contradiction:
Quantity of substanceVSDuration of action of stationary object

Solution Approach 1:

The system implements feedback through active cache counters that track activation counts for each cache block. This feedback mechanism allows the cache to learn from access patterns and make informed decisions about which blocks to retain or invalidate, thereby extending the effective lifespan of cached data while maintaining optimal capacity utilization.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The cache management system dynamically changes parameters such as activation counts and sub-states based on observed access patterns. By adjusting these parameters, the system can prioritize retention of frequently accessed data blocks, effectively extending cache lifespan for valuable data while maintaining high capacity utilization for diverse workloads.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If fine-grained control is implemented, then caching parameters can be optimized, but system complexity increases

Engineering Contradiction:
Improvecaching parameter controlVSAvoidcache management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The cache management system operates autonomously using self-service mechanisms. Each cache block maintains its own activation count and sub-state, and the cache controller automatically makes decisions about activation, deactivation, and invalidation based on predefined policies and observed patterns. This self-service approach provides fine-grained control without requiring complex external management infrastructure.

Inventive Principle:
Principle #25Self-service

4Productivity

If activation counting is implemented, then cache space usage is optimized, but processing overhead increases

Engineering Contradiction:
Improvecache space usage efficiencyVSAvoidprocessing time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by pre-initializing cache blocks with default sub-states and maintaining ready-to-use activation counters. When cache blocks are allocated or accessed, the system can quickly increment counters and transition states without performing complex calculations, thereby optimizing cache space usage while minimizing processing time overhead.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10657069B2Fine-grained cache operations on data volumes
Publication Date: 2020.05.19 SEAGATE TECH LLC
  • US10657069B2 patent drawing
  • US10657069B2 patent drawing
  • US10657069B2 patent drawing

AI summary

A method includes accessing a cache including a first cache block and setting the first cache block to a passive sub-state, where the first cache block in the passive sub-state is configured to be accessed or modified. The method also includes receiving at least one access or modification request of the first cache block and transitioning the first cache block from the passive sub-state to an active sub-state. The method also includes incrementing an ordinal cache activation count at an active cache counter in response to the transitioning, where the active cache counter is configured to track the activation counts such that oldest cache use counts are designated to be overwritten in the cache in an oldest-first fashion.