File-Level Cache for Virtualized I/O Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtualized computing environments, the increased demand for shared resources such as I/O bandwidth leads to degraded performance and latency issues due to the high volume of data input/output operations, which existing systems struggle to manage efficiently without disrupting existing virtual machine operations.

Innovation Solution

A caching system that dynamically allocates cache resources across multiple virtual machines using a multi-level cache architecture, including a file-level cache, to intercept and manage I/O operations, optimizing memory and I/O resources while maintaining transparency and compatibility with existing virtual machine systems.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the number of virtual machines and I/O operations increases, then resource sharing capacity increases, but performance and throughput degrade due to increased latency

Engineering Contradiction:
Improveresource sharing capacityVSAvoidperformance and throughput
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent segments the storage system into multiple cache levels (first cache level, second cache level, and persistent storage) with different access speeds and capacities. This segmentation allows the system to handle different I/O workloads at different performance levels, resolving the contradiction between supporting more virtual machines and maintaining performance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a nested cache architecture where faster but smaller cache memory is nested within the storage system, which itself is nested within the virtualized infrastructure. This multi-level nested structure allows the system to provide high performance for frequently accessed data while maintaining the ability to support numerous virtual machines through the hierarchical arrangement of storage resources.

Inventive Principle:
Principle #7Nested doll (Nesting)

2Productivity

If a cache system is introduced to improve performance, then throughput increases, but device complexity increases

Engineering Contradiction:
ImprovethroughputVSAvoiddevice complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The cache system is designed to serve multiple virtual machines simultaneously while maintaining compatibility with existing virtualization infrastructure. The cache manager handles various I/O operations (reads, writes, deletions) and supports multiple storage devices, making the cache system universally applicable without requiring complex modifications to individual virtual machine configurations.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent introduces a cache manager as an intermediary component that mediates between virtual machines and storage devices. This intermediary handles the complexity of cache management, including allocating cache entries to different virtual machines, managing cache invalidation, and coordinating I/O operations, thereby hiding the complexity from the virtual machines while improving throughput.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If cache resources are dynamically allocated, then resource utilization optimizes, but system complexity increases

Engineering Contradiction:
Improveresource utilizationVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements dynamic cache allocation where the cache manager can allocate, reallocate, and manage cache entries based on real-time demands from different virtual machines. The system dynamically adjusts cache distribution to optimize resource utilization while maintaining manageable complexity through automated management algorithms that monitor and respond to changing workloads.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9003104B2Systems and methods for a file-level cache
Publication Date: 2015.04.07 SANDISK TECHNOLOGIES LLC
  • US9003104B2 patent drawing
  • US9003104B2 patent drawing
  • US9003104B2 patent drawing

AI summary

A multi-level cache comprises a plurality of cache levels, each configured to cache I/O request data pertaining to I/O requests of a different respective type and/or granularity. The multi-level cache may comprise a file-level cache that is configured to cache I/O request data at a file-level of granularity. A file-level cache policy may comprise file selection criteria to distinguish cacheable files from non-cacheable files. The file-level cache may monitor I/O requests within a storage stage, and may service I/O requests from a cache device.