PASID Table Hardware for Efficient Address Space Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computing systems face inefficiencies when accessing multiple address spaces due to context switches and permission checks, particularly with instructions like the enqueue command instruction that use process address space identifiers (PASIDs), leading to difficulties in accessing shared virtual memory and interacting with devices that have different PASIDs.

Innovation Solution

The implementation of processor-internal hardware structures and user-level instructions that utilize a PASID handle to enable efficient access to multiple address spaces without switching the PASID stored in a model-specific register (MSR), allowing non-privileged software clients to issue work requests to shared work queues across devices with different PASIDs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If context switches are used to access different address spaces with different PASIDs, then permission checks can be performed, but system efficiency deteriorates due to the overhead of context switching

Engineering Contradiction:
Improvepermission checkingVSAvoidsystem efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by pre-establishing a PASID table structure in hardware that maps PASID handles to actual PASID values before they are needed during instruction execution. This allows the system to prepare address space translation information in advance, eliminating the need for costly context switches when accessing different address spaces during normal operation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary mechanism - a PASID table stored in hardware - that acts as a mediator between the PASID handle (used in instructions) and the actual PASID value (used for permission checking). This intermediary structure allows efficient translation between the two without requiring context switches, resolving the contradiction between maintaining permission checking reliability and improving system efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If PASID is switched in MSR to access different address spaces, then different devices can be accessed, but instruction execution time increases due to MSR switching overhead

Engineering Contradiction:
Improveaddress space accessVSAvoidinstruction execution time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent extracts the PASID switching function from the MSR (model-specific register) and relocates it to a dedicated PASID table in hardware. This extraction allows the instruction to use a stable PASID handle while the actual PASID value is retrieved from the table, eliminating the time-consuming MSR switch operation and reducing instruction execution time while maintaining adaptability to different address spaces.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent uses a copying mechanism where the PASID table stores copies of PASID values indexed by PASID handles. Instead of switching the actual PASID in MSR, the system copies the relevant PASID value from the table into the execution path, allowing rapid access to different address spaces without the time overhead of MSR switching operations.

Inventive Principle:
Principle #26Copying

3Productivity

If hardware structures are added to support multiple address spaces, then access efficiency improves, but device complexity increases

Engineering Contradiction:
Improveaccess efficiencyVSAvoidhardware structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies segmentation by dividing the PASID management function into discrete components: a PASID table structure with indexed entries, a table pointer register, and integration points with the instruction execution unit. This segmented architecture achieves efficient multi-address-space access while keeping each individual component relatively simple and modular, minimizing the overall increase in device complexity.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20240345841A1System, apparatus and method for fine-grain address space selection in a processor
Publication Date: 2024.10.17 INTEL CORP
  • US20240345841A1 patent drawing
  • US20240345841A1 patent drawing
  • US20240345841A1 patent drawing

AI summary

In one embodiment, a processor comprises: a first configuration register to store a pointer to a process address space identifier (PASID) table; and an execution circuit coupled to the first configuration register. The execution circuit, in response to a first instruction, is to obtain command data from a first location identified in a source operand of the first instruction, obtain a PASID table handle from the command data, access a first entry of the PASID table using the pointer from the first configuration register and the PASID table handle to obtain a PASID value, insert the PASID value into the command data, and send the command data to a device coupled to the processor. Other embodiments are described and claimed.