Credit Allocation for Virtual Machine Cache Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtualized computing environments, shared hardware resources such as caches can lead to access conflicts among virtual machines (VMs) due to differing data storage requirements, resulting in scenarios where one VM cannot access or store data because the cache has reached capacity.

Innovation Solution

A credit allocation scheme is implemented to control access to shared hardware resources by allocating credits to each VM based on its resource requirements and the capabilities of the hardware resources, ensuring that each VM has controlled access to the resources it needs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple virtual machines share the same cache hardware resource, then resource utilization is improved, but access conflicts occur when the cache reaches capacity

Engineering Contradiction:
Improveresource utilizationVSAvoidaccess guarantee
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces a credit allocation mechanism as an intermediary between virtual machines and the shared cache. Each VM is assigned credits that represent its entitled access to cache resources. The credit allocation manager mediates access requests by checking available credits before granting cache access, ensuring that VMs with sufficient credits can access the cache while preventing overcapacity conditions. This intermediary layer resolves the contradiction by enabling shared access while maintaining reliability through credit-based control.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the cache capacity is increased to accommodate all virtual machines, then access conflicts are reduced, but hardware cost and complexity increase

Engineering Contradiction:
Improveaccess availabilityVSAvoidhardware resource configuration
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent changes the parameter of resource allocation from fixed physical capacity to dynamic credit allocation. Instead of increasing cache capacity to accommodate all VMs simultaneously, the system allocates virtual credits that represent each VM's entitled share. The credit allocation manager dynamically manages these credits based on VM priorities, workloads, and cache availability. This parameter change allows the same physical cache to serve multiple VMs reliably without requiring proportional increases in hardware capacity.

Inventive Principle:
Principle #35Parameter changes

3Stability of the object's composition

If cache access is restricted to prevent overflow, then resource stability is improved, but access speed and efficiency decrease

Engineering Contradiction:
Improvecache capacity stabilityVSAvoiddata access speed
Core Design Contradiction:
Stability of the object's compositionVSSpeed

Solution Approach 1:

The patent implements a dynamic credit allocation system where the credit allocation manager continuously monitors cache usage, VM credit balances, and access patterns. Rather than imposing static restrictions on cache access, the system dynamically adjusts credit allocation and access permissions based on current system state. When cache capacity is available and VMs have sufficient credits, access is granted quickly. When the cache approaches capacity, the system dynamically prevents further allocations. This dynamic approach maintains cache stability while preserving access speed through intelligent, real-time decision-making.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS20250077258A1Credit allocation for enabling access to hardware resources of a computing device
Publication Date: 2025.03.06 SANDISK TECHNOLOGIES LLC
  • US20250077258A1 patent drawing
  • US20250077258A1 patent drawing
  • US20250077258A1 patent drawing

AI summary

A computing device hosts a number of virtual machines and each virtual machine executes one or more applications. The computing device also includes a credit allocation system that allocates credits to the various applications. The allocated credits provide each application access to various hardware resources of the computing device and help ensure each application has access to the various hardware resources of the computing device.