Aperture Mapped Memory Address Translation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory access systems are inefficient due to the need for applications to track changing physical addresses when pages are moved between primary and secondary memory, which can lead to performance and reliability issues.

Innovation Solution

The implementation of an address translation data structure that includes a page table and a translation lookaside buffer (TLB) to translate virtual addresses into physical addresses, using aperture attributes to determine the correct memory device for page storage and access, optimizing memory management and data placement across different memory spaces.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If applications directly track physical addresses when pages are moved between primary and secondary memory, then data access can be performed, but the system complexity and reliability deteriorate due to the burden of tracking changing physical addresses

Engineering Contradiction:
Improveapplication memory accessVSAvoidaddress tracking complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent introduces a memory management unit (MMU) as an intermediary component that sits between the application and the physical memory system. The MMU maintains address translation structures that map virtual addresses to physical addresses, automatically handling the complexity of tracking page locations across primary and secondary memory without requiring applications to directly manage or track physical address changes.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If physical addresses are changed when pages are moved between memory devices, then memory space can be optimized, but access time increases due to the need to update and track address changes

Engineering Contradiction:
Improvememory space utilizationVSAvoidaddress update time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements address translation structures (such as page tables and translation lookaside buffers) that are prepared and maintained in advance. When pages are moved between primary and secondary memory, the MMU proactively updates these translation structures before the application needs to access the data, so that when a memory access occurs, the virtual-to-physical address translation is already complete and cached, minimizing access time.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If virtual addressing is used to separate physical memory from application addresses, then applications do not need to track physical addresses, but the device complexity increases due to the need for address translation mechanisms

Engineering Contradiction:
Improvememory management reliabilityVSAvoidaddress translation structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements a self-service memory management system where the MMU automatically maintains and updates address translation structures without requiring external intervention from applications or the operating system for each memory access. The MMU monitors page movements and proactively updates translation entries, making the system self-managing and reducing the complexity burden on other system components.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8347064B1Memory access techniques in an aperture mapped memory space
Publication Date: 2013.01.01 NVIDIA CORP
  • US8347064B1 patent drawing
  • US8347064B1 patent drawing
  • US8347064B1 patent drawing

AI summary

A method of accessing memory, in accordance with one embodiment, includes receiving a memory access request that includes a virtual address. An address of a given page table is determined utilizing a page directory stored in a particular one of a plurality of computing device-readable media. A given one of the plurality of computing device-readable media that stores the given page table is determined from a table aperture attribute in the page directory. A given physical address of a page is determined utilizing the given page table stored in the given computing device-readable media. A corresponding one of the plurality of computing device-readable media that stores the page is determined from a page aperture attribute in the given page table. The corresponding computing device-readable media at the given physical address is then accessed.