Dynamic Cache Allocation for Storage Capacity Extension

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Over-provisioned storage devices face challenges in efficiently managing storage capacity between main and cache regions, leading to performance degradation when the cache region is fully utilized, as existing methods do not effectively predict when to allocate space from the cache to extend main storage capacity.

Innovation Solution

A method that compresses incoming data, generates compression parameters, and stores chunks in the main storage region while predicting when to allocate cache space based on these parameters and historical data, allowing dynamic allocation between the main and cache regions to maintain performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If the cache region is used to extend main storage capacity, then storage capacity is improved, but performance degrades when the cache region is fully utilized

Engineering Contradiction:
Improvestorage capacityVSAvoidperformance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent implements dynamic allocation of cache space for storage based on workload conditions. The system monitors cache utilization and dynamically adjusts the portion of cache used for storage versus caching operations, ensuring that performance is maintained while extending storage capacity when cache is available but not overutilized.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of cache allocation by using compression parameters to predict when cache space should be allocated for storage. By monitoring compression ratios and predicting future cache needs, the system optimizes the balance between storage capacity extension and performance maintenance.

Inventive Principle:
Principle #35Parameter changes

2Quantity of substance

If compression is used to extend storage capacity, then storage capacity is improved, but device complexity increases

Engineering Contradiction:
Improvestorage capacityVSAvoiddevice complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The system employs self-service through automated compression parameter analysis and prediction algorithms that autonomously determine when to allocate cache space for storage. This eliminates the need for manual configuration or complex external control systems, as the storage device itself monitors and manages its own cache allocation based on compression performance.

Inventive Principle:
Principle #25Self-service

3Quantity of substance

If cache space is allocated for storage based on compression parameters, then storage capacity is extended, but measurement precision requirements increase

Engineering Contradiction:
Improvestorage capacityVSAvoidprediction accuracy
Core Design Contradiction:
Quantity of substanceVSMeasurement precision

Solution Approach 1:

The system implements feedback mechanisms by continuously monitoring compression parameters and using this information to predict future cache allocation needs. The prediction accuracy is improved through iterative analysis of compression ratios and cache utilization patterns, allowing the system to refine its predictions and optimize cache allocation over time.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10983911B2Capacity swapping based on compression
Publication Date: 2021.04.20 SEAGATE TECH LLC
  • US10983911B2 patent drawing
  • US10983911B2 patent drawing
  • US10983911B2 patent drawing

AI summary

In one embodiment, a method is operable in an over-provisioned storage device comprising a cache region and a main storage region. The method includes compressing incoming data, generating a compression parameter for the compressed data, and storing at least a portion of the compressed data in chunks in the main storage region of the storage device. The method also includes predicting when to store other chunks of the compressed data in the cache region based on the compression parameter.