Chipset Global Address Map for Heterogeneous NUMA Memory Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional computer architectures are not designed to support multiple heterogeneous processing units accessing each other's physical memory, limiting their ability to share resources effectively in multi-processor systems.

Innovation Solution

A method is implemented to generate a global address map by combining address maps from multiple processors, allowing each processor to access physical memory associated with other processors through a Non-Uniform Memory Access (NUMA) device, without modifying the processors, operating systems, or memory controllers, using a translation table to route memory access requests.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If conventional computer architecture is used with single CPU design, then system simplicity is maintained, but multi-processor memory access capability is lost

Engineering Contradiction:
Improvemulti-processor memory access capabilityVSAvoidsystem architecture complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a chipset as an intermediary component between processors and memory. The chipset includes a memory bridge that receives address maps from multiple processors and generates a global address map, enabling processors to access each other's local memory without direct processor-to-processor communication protocols. This mediator approach allows multi-processor memory access while keeping processors themselves unchanged and relatively simple.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent adds an address mapping dimension to the memory access system. Instead of direct physical address access, the system introduces a global address map that translates processor-specific addresses to physical memory addresses. This additional mapping layer enables cross-processor memory access while maintaining the original processor architecture.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Adaptability or versatility

If homogeneous processors are used in multi-processor system, then system configuration is simplified, but hardware versatility is reduced

Engineering Contradiction:
Improveprocessor heterogeneity supportVSAvoidsystem configuration complexity
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The chipset's memory bridge is designed to handle address maps from heterogeneous processors universally. It can receive and process address maps from different processor types and vendors, translating them all into a unified global address map. This universal handling capability allows the system to support processor heterogeneity without requiring processor-specific configuration logic.

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

Solution Approach 2:

Each processor provides its own address map to the chipset, and the chipset automatically combines these into a global address map. The system configures itself without external intervention - processors declare their memory regions, and the chipset autonomously creates the translation tables and routing logic, reducing configuration complexity despite hardware diversity.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If processors are modified to support multi-processor access, then memory sharing capability is improved, but processor complexity and modification cost increase

Engineering Contradiction:
Improvememory sharing capabilityVSAvoidprocessor modification requirement
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

The patent places the memory access coordination logic in the chipset rather than in the processors. The memory bridge in the chipset handles address translation and memory routing, allowing processors to access shared memory without any modification to their internal architecture or instruction sets. The processors remain simple, unaware of the multi-processor environment.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent separates the memory control functions from the processors and places them in the chipset. Address map generation, global address translation, and memory routing are segmented out into the chipset's memory bridge, leaving processors unchanged. This segmentation allows memory sharing capability to be added without modifying processor manufacturing.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9015446B2Chipset support for non-uniform memory access among heterogeneous processing units
Publication Date: 2015.04.21 NVIDIA CORP
  • US9015446B2 patent drawing
  • US9015446B2 patent drawing
  • US9015446B2 patent drawing

AI summary

A method for providing a first processor access to a memory associated with a second processor. The method includes receiving a first address map from the first processor that includes an MMIO aperture for a NUMA device, receiving a second address map from a second processor that includes MMIO apertures for hardware devices that the second processor is configured to access, and generating a global address map by combining the first and second address maps. The method further includes receiving an access request transmitted from the first processor to the NUMA device, generating a memory access request based on the first access request and a translation table that maps a first address associated with the first access request into a second address associated with the memory associated with the second processor, and routing the memory access request to the memory based on the global address map.