PCIe Traffic Tracking Hardware for Unified Virtual Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multiprocessor systems, identifying frequent shared memory page accesses is inefficient due to performance reductions during measurement intervals caused by servicing page faults, which hampers the migration of shared memory pages from one processor's memory space to another.

Innovation Solution

A method involving an access tracking unit that uses a cache memory to increment access counters for accessed memory pages, dynamically allocates cache entries, and sets a threshold to identify frequently accessed pages for potential migration without inducing page faults, thereby improving the efficiency of shared memory page migration.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If page faults are serviced to count memory page accesses during a measurement interval, then access frequency information can be obtained, but processor performance is reduced due to computing time needed to service page faults

Engineering Contradiction:
Improveaccess frequency informationVSAvoidprocessor performance
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

An access tracking unit is introduced as an intermediary component that monitors and counts memory page accesses without requiring the processor to service page faults. The tracking unit intercepts access requests and updates access counters in cache memory, allowing accurate measurement of access frequencies while the processor continues normal operations without performance degradation.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces the software-based page fault servicing mechanism with a hardware-based access tracking system. Instead of using operating system page fault handlers to count accesses, a dedicated hardware tracking unit with cache memory and counters directly monitors access patterns, eliminating the performance overhead associated with software page fault processing.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Loss of time

If shared memory pages are migrated from one processor's memory space to another, then access latency is reduced for frequently accessed pages, but the complexity of memory management increases

Engineering Contradiction:
Improveaccess latencyVSAvoidmemory management complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The access tracking unit provides continuous feedback about memory access patterns to the memory management system. By monitoring access counters that record how frequently each page is accessed, the system can automatically identify candidate pages for migration and initiate migration decisions based on objective performance data, reducing the complexity of manual memory management while achieving latency optimization.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs preliminary tracking and analysis of access patterns before initiating page migration. Access counters accumulate statistics during normal operation, and only when migration criteria are met does the system act to migrate pages. This preliminary measurement phase allows informed migration decisions that reduce access latency without premature or unnecessary migration operations.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If access counters are maintained in cache memory with dynamic entry allocation, then tracking efficiency is improved, but cache memory management complexity increases

Engineering Contradiction:
Improvetracking efficiencyVSAvoidcache entry management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The cache memory structure employs dynamic entry allocation where cache entries are allocated and deallocated based on actual access patterns. The access tracking unit can allocate new cache entries for frequently accessed pages and invalidate entries for pages that are no longer frequently accessed, allowing the cache to adapt dynamically to changing workload characteristics and maintain high tracking efficiency.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the state parameters of cache entries dynamically - setting valid bits to indicate allocated entries and clearing them for invalidation. This parameter-based management allows efficient tracking of which cache entries are in use without requiring complex data structures, simply by manipulating status bits in the cache entry format.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11210253B2PCIe traffic tracking hardware in a unified virtual memory system
Publication Date: 2021.12.28 NVIDIA CORP
  • US11210253B2 patent drawing
  • US11210253B2 patent drawing
  • US11210253B2 patent drawing

AI summary

Techniques are disclosed for tracking memory page accesses in a unified virtual memory system. An access tracking unit detects a memory page access generated by a first processor for accessing a memory page in a memory system of a second processor. The access tracking unit determines whether a cache memory includes an entry for the memory page. If so, then the access tracking unit increments an associated access counter. Otherwise, the access tracking unit attempts to find an unused entry in the cache memory that is available for allocation. If so, then the access tracking unit associates the second entry with the memory page, and sets an access counter associated with the second entry to an initial value. Otherwise, the access tracking unit selects a valid entry in the cache memory; clears an associated valid bit; associates the entry with the memory page; and initializes an associated access counter.