Pre-Cache Module SLA-Based Write Request Prioritization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In storage systems, logical volumes with different service-level agreements (SLAs) often share the same resources, leading to performance disparities, where high-write-request volumes can overwhelm cache resources, compromising the guaranteed performance of other volumes.

Innovation Solution

A method that monitors actual performance versus SLA-defined performance for multiple logical volumes, assigns caching priorities based on these relationships, and manages a pre-cache memory module to regulate write requests, ensuring that underperforming volumes receive increased transfer rates while overperforming volumes receive decreased rates, thereby optimizing cache usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If a pre-cache memory module is introduced to store write requests when cache memory is full, then write request buffering capability is improved, but device complexity increases

Engineering Contradiction:
Improvewrite request buffering capacityVSAvoidmemory module structure
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The pre-cache memory module is nested within the storage system architecture, positioned between the cache memory and the host. This nested structure allows the pre-cache to buffer write requests without requiring a completely separate external system, thereby improving buffering capacity while minimizing the increase in overall device complexity.

Inventive Principle:
Principle #7Nested doll (Nesting)

2Reliability

If write requests are transferred from pre-cache memory to cache memory based on caching priorities, then performance consistency across logical volumes is improved, but control complexity increases

Engineering Contradiction:
Improveperformance consistencyVSAvoidpriority management control
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

Different caching priorities are assigned to different logical volumes based on their specific performance requirements and SLA agreements. This local differentiation allows the system to optimize performance consistency for each logical volume individually, with the control layer managing priority assignments based on monitored performance metrics and SLA compliance.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The control layer continuously monitors actual performance of logical volumes and uses this feedback to dynamically adjust caching priorities. When a logical volume is not meeting its SLA performance targets, the system increases its caching priority to improve performance, creating a closed-loop feedback mechanism that maintains performance consistency.

Inventive Principle:
Principle #23Feedback

3Manufacturing precision

If caching priorities are assigned based on actual-to-required performance relationships, then SLA compliance is improved, but monitoring and calculation complexity increases

Engineering Contradiction:
ImproveSLA performance accuracyVSAvoidperformance monitoring complexity
Core Design Contradiction:
Manufacturing precisionVSDifficulty of detecting and measuring

Solution Approach 1:

The control layer automatically monitors actual performance metrics, calculates actual-to-required relationships, and assigns caching priorities without requiring external intervention. This self-service approach improves SLA compliance accuracy by continuously adapting to actual performance conditions, while the automated nature of the process manages the complexity of monitoring and calculations internally within the storage system.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10534712B1Service level agreement based management of a pre-cache module
Publication Date: 2020.01.14 INFINIDAT LTD
  • US10534712B1 patent drawing
  • US10534712B1 patent drawing
  • US10534712B1 patent drawing

AI summary

A method for service level agreement (SLA) allocation of resources of a cache memory of a storage system, the method may include monitoring, by a control layer of the storage system, actual performances of the storage system that are related to multiple logical volumes; calculating actual-to-required relationships between the actual performances and SLA defined performances of the multiple logical volumes; assigning caching priorities, to different logical volumes of the multiple logical volumes; wherein the assigning is based on, at least, the actual-to-required relationships; and managing, based on at least the caching priorities, a pre-cache memory module that is upstream to the cache module and is configured to store write requests that (i) are associated with one or more logical volumes of the different logical volumes and (ii) are received by the pre-cache memory module at points in time when the cache memory is full; wherein the managing comprises transferring one or more write requests from the pre-cache memory module to the cache memory when the cache memory is not full.