Two-Level Cache Data Flow Regulation for Storage Virtualization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Storage virtualization appliances face limitations in absorbing data bursts, particularly in cloud-based systems, as their cache capacity is quickly exceeded when write rates exceed the backend storage system's capabilities, leading to potential cost increases due to peak bandwidth or limit violations.

Innovation Solution

Implementing a two-level cache system within the storage virtualization appliance, where writes are first directed to a smaller, faster first-level cache and then overflowed to a larger, slower second-level cache if the backend storage limits are at risk of being exceeded, with a data flow regulation module managing the destaging process to avoid limit violations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If a single-level cache is used in the storage virtualization appliance, then the response time to host systems is fast, but the cache capacity is limited and cannot absorb long bursts of data writes

Engineering Contradiction:
Improveresponse timeVSAvoidcache capacity
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The cache is segmented into two distinct levels: a first-level cache that provides fast response times and a second-level cache that provides extended capacity. The first-level cache handles immediate write operations with high speed, while the second-level cache absorbs excess data during prolonged write bursts, thereby resolving the contradiction between speed and capacity.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If the cache capacity is increased to absorb longer data bursts, then the ability to mask write performance limitations is improved, but the cost of cloud-based storage peak bandwidth is exceeded

Engineering Contradiction:
Improvecache capacityVSAvoidbandwidth cost
Core Design Contradiction:
Quantity of substanceVSLoss of energy

Solution Approach 1:

The system implements feedback mechanisms that monitor the fill level of both first-level and second-level caches, as well as the write performance of the backend storage system. Based on this feedback, the system dynamically adjusts the destaging rate from the second-level cache to the backend storage system, ensuring that cloud bandwidth limits are not exceeded while still absorbing data bursts effectively.

Inventive Principle:
Principle #23Feedback

3Productivity

If data is destaged directly from the first-level cache to the backend storage volume, then the write performance is maintained, but the backend storage limits may be exceeded

Engineering Contradiction:
Improvewrite performanceVSAvoidlimit compliance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The second-level cache serves as an intermediary between the first-level cache and the backend storage volume. When the first-level cache receives write operations, it can quickly pass data to the second-level cache, which then gradually destages data to the backend storage system at a controlled rate that respects backend limits. This intermediary structure maintains write performance while ensuring reliable compliance with storage limits.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10114568B2Profile-based data-flow regulation to backend storage volumes
Publication Date: 2018.10.30 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10114568B2 patent drawing
  • US10114568B2 patent drawing
  • US10114568B2 patent drawing

AI summary

A method for regulating a flow of data to backend storage devices includes generating, at a host system, writes intended for a backend storage volume. The method receives the writes into a first level cache of a storage virtualization appliance. The method further determines whether destaging the writes directly from the first level cache to the backend storage volume would cause a limit associated with the backend storage volume to be exceeded. If destaging the writes directly from the first level cache to the backend storage volume would cause the limit to be exceeded, the method destages the writes from the first level cache to a second level cache of the storage virtualization appliance. Otherwise, the method destages the writes directly from the first level cache to the backend storage volume. A corresponding system and computer program product are also disclosed.