Intelligent Storage Adapter LUN Caching Virtualization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In virtualized environments, determining whether to cache entire SAN LUNs is challenging due to randomized I/O operations, leading to inefficient caching where only portions of hypervisor LUNs benefit, resulting in wasteful cache usage.
Innovation Solution
An intelligent storage adapter (ISA) is introduced that manages local storage and SAN-based storage, enabling transparent data caching at SSDs, synchronizing SSD data with SAN-based storage, and allowing SSDs to be shared as SAN storage, while configuring LUNs for caching based on usage patterns and virtual machine needs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If entire SAN LUNs are cached in virtualized environments, then data access speed is improved, but cache resources are wasted due to the I/O blender effect causing only portions of LUNs to benefit
Solution Approach 1:
The patent segments the LUN caching problem by introducing granular caching that operates at the logical block address (LBA) level rather than caching entire LUNs. The intelligent storage adapter divides the LUN into smaller cacheable units based on actual access patterns, allowing selective caching of only those portions that benefit from caching while avoiding waste of cache resources on portions that do not benefit.
Solution Approach 2:
The patent applies local quality by making different parts of the LUN have different caching characteristics. Instead of uniform caching across the entire LUN, the system identifies specific LBA ranges that exhibit caching benefits and applies caching only to those local regions, while leaving other regions uncached. This creates a non-uniform caching strategy tailored to local access patterns.
2Productivity
If caching is implemented in virtualized environments with randomized I/O operations, then performance is improved for cached portions, but determining what to cache becomes difficult and complex
Solution Approach 1:
The patent implements self-service by enabling the storage system to automatically identify and cache beneficial LBA ranges without requiring manual intervention. The intelligent storage adapter monitors I/O patterns, automatically determines which LBA ranges benefit from caching, and dynamically adjusts the caching strategy. This self-service approach simplifies the complexity by removing the need for manual caching decisions while maintaining high caching effectiveness.
Solution Approach 2:
The patent employs feedback mechanisms where the storage system continuously monitors I/O operations and caching performance, then uses this feedback to dynamically adjust caching decisions. The system observes which LBA ranges are frequently accessed and automatically adjusts the caching strategy based on real-time performance data, creating a closed-loop system that adapts to changing workloads without manual intervention.
3Ease of operation
If LUNs are split into smaller LUNs and presented to different virtual machines, then I/O operations are better managed, but the I/O blender effect randomizes operations making caching decisions more difficult
Solution Approach 1:
The patent introduces an intermediary layer at the intelligent storage adapter that sits between the virtual machines and the physical storage. This intermediary monitors and analyzes I/O patterns from multiple virtual machines, identifying caching opportunities that would be invisible at the individual VM level. The intermediary aggregates and analyzes I/O requests, detecting caching patterns even in the presence of the I/O blender effect, and makes informed caching decisions based on this synthesized view.
Data Source
AI summary
Systems and methods for data storage and caching in a system including virtual machines is disclosed. In an embodiment, a machine implemented method includes mapping a plurality of virtual hard drives to a logical unit number (LUN) of a storage system, each virtual hard drive including a logical block address (LBA) range of the storage system LUN; storing the mapping in a caching module data structure; determining that one of the virtual hard drives should be cached; and updating the caching module data structure to indicate that the LBA range associated with the one of the virtual hard drives should be cached.


