Per-Core UPA Registers for Runtime Memory Page Attributes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional approaches to modifying memory page attributes in multi-processor systems require mode switching and significant computational resources, leading to degraded system performance due to unknown system architectures and runtime conditions.

Innovation Solution

A user-programmable page attribute (UPA) register allows processes to modify memory page attributes independently of system page tables, enabling rapid attribute changes without invoking the operating system, thus optimizing system performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional approaches are used to modify memory page attributes, then system security and stability are maintained through centralized control, but system performance degrades due to mode switching and computational overhead

Engineering Contradiction:
Improvesystem performanceVSAvoidmode switching overhead
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the memory attribute management authority by introducing per-core UPA registers that operate independently from the centralized page table. Each core can modify its own memory page attributes locally without requiring system-wide mode switching, thus improving performance while maintaining security through the page table's ultimate authority.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The UPA register enables each processor core to self-manage its memory page attributes independently. The core can modify attributes of pages allocated to it without invoking the operating system or switching to kernel mode, allowing processes to optimize their own memory access patterns and reducing the computational overhead associated with centralized attribute management.

Inventive Principle:
Principle #25Self-service

2Adaptability or versatility

If centralized page table control is used for memory attribute management, then system-wide consistency is maintained, but runtime flexibility and adaptability are reduced

Engineering Contradiction:
Improveruntime attribute modification capabilityVSAvoidtime to modify attributes
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The UPA register is pre-configured with attribute settings that can be quickly applied to memory pages. When a process needs to modify memory attributes, the desired settings are already prepared in the UPA register, allowing for rapid attribute changes without the time-consuming process of invoking the operating system or modifying the page table directly at runtime.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The UPA register acts as an intermediary between the processor core and the centralized page table. It provides a buffer layer that allows rapid attribute modifications locally while ultimately maintaining consistency with the page table through the inherit bit mechanism, thus achieving both runtime flexibility and system-wide consistency.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If memory pages are set to uncacheable attribute to ensure data visibility across processors, then data consistency is improved, but system performance degrades due to increased memory access overhead

Engineering Contradiction:
Improvedata visibility across processorsVSAvoidmemory access efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The UPA register enables dynamic modification of memory page attributes during runtime. Memory pages can be switched between cacheable and uncacheable attributes based on the specific needs of different processes and runtime conditions, allowing the system to optimize for either performance (cacheable) or data consistency (uncacheable) as required, rather than being locked into a static attribute setting.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent applies different cacheability attributes to different memory pages based on their specific requirements. The UPA register allows each process to selectively mark individual pages as cacheable or uncacheable, enabling fine-grained control where only the necessary pages have uncacheable attributes for data visibility, while other pages can remain cacheable for optimal performance.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS12405897B2Memory page attribute modification
Publication Date: 2025.09.02 ADVANCED MICRO DEVICES INC
  • US12405897B2 patent drawing
  • US12405897B2 patent drawing
  • US12405897B2 patent drawing

AI summary

Modifying memory page attributes using a programmable page attribute register of a core executing a process is described. In accordance with the described techniques, a host includes a core that is configured to generate a modified page table attribute for a page in system memory. The modified page table attribute represents at least one demoted permission for a page as specified by a system page table. The core is configured to maintain the modified page table attribute locally in the programmable page attribute register and execute at least one operation allocated to the page according to the modified page table attribute.