Headless VM TLB Shootdown via Register Mediation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing solutions for global translation lookaside buffer (TLB) shootdown in System on Chip (SoC) systems are inefficient, as they can only perform this operation on headful virtual machines, requiring a slower and more complex register-based process for headless virtual machines, which complicates virtual memory management and clock/power management.

Innovation Solution

A method is introduced that optimizes headless virtual memory management by issuing a virtual machine mapping command with a headless virtual machine identifier, saving and loading the current VMID value in a hardware register, and issuing a TLB invalidate command, ensuring synchronization before restoring the original value, allowing for efficient global TLB shootdown across both headful and headless virtual machines.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a conventional register-based TLB invalidation process is used for headless virtual machines, then TLB invalidation can be performed, but the process is slower and more complex

Engineering Contradiction:
ImproveTLB invalidation speedVSAvoidTLB invalidation process complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies universality by enabling the application processor's TLB management mechanisms to serve both headful virtual machines (traditional use) and headless virtual machines (extended use). The hardware register and TLB invalidation infrastructure are designed to handle both types of virtual machines through a unified interface, eliminating the need for separate processing paths.

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

Solution Approach 2:

The patent introduces an intermediary mechanism where the application processor acts as a mediator for headless virtual machine TLB invalidation. By loading the headless VM's VMID into the application processor's hardware register and using the application processor's TLB management capabilities, the system bridges the gap between headless VMs and the TLB invalidation infrastructure designed for headful VMs.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If global TLB shootdown is implemented for headless virtual machines, then virtual memory management is simplified, but additional steps are required to manage hardware register state

Engineering Contradiction:
Improvevirtual memory management simplicityVSAvoidhardware register management steps
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by saving the current VMID value from the hardware register before loading the headless VM's VMID. This preparatory step ensures that the original state is preserved and can be restored afterward, enabling safe use of the global TLB shootdown mechanism without leaving the system in an inconsistent state.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements discarding and recovering by temporarily replacing the hardware register's VMID value with the headless VM's VMID for the duration of the TLB invalidation operation, then recovering the original VMID value afterward. This temporary substitution allows the system to use the global TLB shootdown mechanism while maintaining proper state management.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS10725932B2Optimizing headless virtual machine memory management with global translation lookaside buffer shootdown
Publication Date: 2020.07.28 QUALCOMM INC
  • US10725932B2 patent drawing
  • US10725932B2 patent drawing
  • US10725932B2 patent drawing

AI summary

Systems, methods, and computer programs are disclosed for optimizing headless virtual memory management in a system on chip (SoC) with global translation lookaside buffer shootdown. The SoC comprises an application processor configured to execute a headful virtual machine and one or more SoC processing devices configured to execute a corresponding headless virtual machine. The method comprises issuing a virtual machine mapping command with a headless virtual machine having a first virtual machine identifier. In response to the virtual machine mapping command, a current value stored in a hardware register in the application processor is saved. The first virtual machine identifier associated with the headless virtual machine is loaded into the hardware register. A translation lookaside buffer (TLB) invalidate command is issued while the first virtual machine identifier is loaded in the hardware register. Upon completion of translation lookaside buffer synchronization, the current value is restored to the hardware register.