Register Protection Mechanism for Virtualized APD

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computer virtualization, there is a need to protect shared registers of an accelerated processing device (APD) among multiple virtual machines to prevent unauthorized access and ensure secure operation, as existing mechanisms lack effective protection mechanisms for physical-function-or-virtual-function registers (PF-or-VF* registers).

Innovation Solution

A register protection mechanism that compares the function associated with a memory address specified by a register access request to the currently active function and disallows access if a match does not occur, using a backup-and-restore mechanism to save and load register values during function switching, thereby ensuring only the active function can access its registers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If shared registers are made accessible to multiple virtual machines for resource sharing, then productivity and resource utilization are improved, but security and reliability deteriorate due to lack of protection mechanisms

Engineering Contradiction:
Improveresource sharing efficiencyVSAvoidregister access security
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments register access rights by creating distinct access paths for different virtual machines. Each VM is assigned specific register ranges it can access, while other registers remain protected. This segmentation allows multiple VMs to share the APD resource while maintaining individual access boundaries, thus improving productivity through sharing while preserving reliability through access control.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary mechanism (the virtualization layer with register protection logic) that mediates between multiple VMs and the shared registers. This intermediary validates access requests, ensures only authorized VMs can access specific registers, and manages the backup-and-restore operations. The intermediary enables secure sharing by acting as a gatekeeper that maintains reliability while allowing productive resource utilization.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If backup-and-restore mechanism is implemented for register protection, then reliability and security are improved, but device complexity and overhead increase

Engineering Contradiction:
Improveregister protection securityVSAvoidstate saving and loading overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements preliminary action by pre-establishing backup storage locations and pre-configuring protection rules for registers before virtual machine operations begin. The backup-and-restore mechanism is set up in advance, with designated storage areas prepared for saving register states. This preliminary preparation reduces the complexity of on-the-fly protection management and streamlines the actual switch operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent utilizes parameter changes by dynamically adjusting register access permissions and active function identifiers based on which virtual machine is currently executing. The system changes the state of register protection parameters (such as access masks and active function IDs) to match the current VM context, enabling efficient switching without requiring complex structural changes to the register file itself.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10509666B2Register partition and protection for virtualized processing device
Publication Date: 2019.12.17 ATI TECHNOLOGIES ULC
  • US10509666B2 patent drawing
  • US10509666B2 patent drawing
  • US10509666B2 patent drawing

AI summary

A register protection mechanism for a virtualized accelerated processing device (“APD”) is disclosed. The mechanism protects registers of the accelerated processing device designated as physical-function-or-virtual-function registers (“PF-or-VF* registers”), which are single architectural instance registers that are shared among different functions that share the APD in a virtualization scheme whereby each function can maintain a different value in these registers. The protection mechanism for these registers comprises comparing the function associated with the memory address specified by a particular register access request to the “currently active” function for the APD and disallowing the register access request if a match does not occur.