Two-Level Cache Data Flow Regulation for Storage Virtualization
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
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
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.
Data Source
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.


