Cache Resource Allocation for Synthetic Backups

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Deduplication storage systems face performance issues and resource inefficiencies when generating synthetic full backups due to limited cache memory, leading to reduced access times and increased bandwidth consumption, especially when handling multiple concurrent requests.

Innovation Solution

Implementing a storage controller that manages cache resources through logical groups with assigned resource policies and a cache controller that promotes the most useful cache entries, ensuring efficient allocation and extended retention of critical data in the cache.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If cache memory is used to store metadata for multiple concurrent data streams, then synthetic full backup performance is improved, but cache memory is limited and cannot accommodate all required metadata

Engineering Contradiction:
Improvesynthetic full backup performanceVSAvoidcache memory capacity
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent segments the cache memory into multiple cache sets, each dedicated to storing metadata for a specific data stream. This segmentation allows the system to manage multiple concurrent data streams independently within the limited cache memory, preventing memory exhaustion while maintaining performance for all streams.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a logical grouping dimension by organizing data streams into logical groups and assigning cache sets to represent these groups. This dimensional organization allows efficient mapping between multiple data streams and limited cache resources, enabling the system to handle concurrent requests without requiring proportional cache memory for each stream.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Loss of time

If resource allocation is managed for multiple concurrent data streams, then access times are reduced, but system complexity increases

Engineering Contradiction:
Improveaccess timeVSAvoidresource management complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent implements self-service resource allocation where the storage controller automatically manages cache set assignments and resource distribution based on data stream characteristics. The system autonomously determines which cache sets to allocate to which data streams, eliminating the need for complex external resource management while optimizing access times through intelligent auto-allocation.

Inventive Principle:
Principle #25Self-service

3Loss of energy

If data stream representations are grouped logically, then resource utilization is optimized, but the system requires additional control mechanisms

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidcontrol mechanism complexity
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The patent incorporates feedback mechanisms where the storage controller monitors data stream access patterns and adjusts cache set allocations accordingly. This feedback loop enables the system to optimize resource utilization by reallocating cache sets based on actual usage, achieving efficient resource distribution while managing complexity through automated adaptive control.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11836053B2Resource allocation for synthetic backups
Publication Date: 2023.12.05 HEWLETT PACKARD ENTERPRISE DEV LP
  • US11836053B2 patent drawing
  • US11836053B2 patent drawing
  • US11836053B2 patent drawing

AI summary

Example implementations relate to metadata operations in a storage system. An example storage system includes a machine-readable storage storing instructions executable by a processor to determine to generate a synthetic full backup based on data stream representations of a plurality of data streams. The instructions are also executable to, in response to a determination to generate the synthetic full backup, create a logical group including the data stream representations. The instructions are also executable to specify a cache resource allocation for the logical group, and generate the synthetic full backup from data stream representations using an amount of a cache resource limited by the cache resource allocation for the logical group.