Control Parameter Address Virtualization for Shared Memory Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory systems face challenges in allowing multiple applications to access a shared memory page efficiently, particularly in ensuring that each application can access its own control parameters while preventing access to others, which complicates register storage and access.

Innovation Solution

Implementing a virtualization technique that remaps physical memory resources to a virtual address space, allowing each application to have a unique memory page for accessing control parameters, with a command manager verifying access rights to prevent unauthorized access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If multiple applications share a common memory page for control parameters, then memory usage is efficient, but access control and isolation between applications becomes complex

Engineering Contradiction:
Improvememory usage efficiencyVSAvoidaccess control complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent segments the control parameter memory space by creating application-specific views into the shared memory page. Each application receives a unique view that contains only its relevant control parameters, while physically sharing the same memory page. This segmentation is achieved through view-specific address translation mechanisms that map application-specific addresses to the shared memory page, thereby maintaining memory efficiency while simplifying access control.

Inventive Principle:
Principle #1Segmentation

2Ease of operation

If each application has a unique memory page for control parameters, then access control is simplified, but memory usage efficiency decreases

Engineering Contradiction:
Improveaccess control simplicityVSAvoidmemory usage efficiency
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The patent merges multiple application-specific control parameter spaces into a single shared memory page. Instead of allocating separate memory pages for each application, the system combines all control parameters into one shared page and provides each application with a unique view into the relevant portions. This merging approach maintains the simplicity of unique access for each application while significantly improving memory usage efficiency through shared physical memory.

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If control parameters are stored in a shared memory page, then memory management efficiency improves, but latency for accessing control parameters increases due to verification overhead

Engineering Contradiction:
Improvememory management efficiencyVSAvoidaccess latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent performs preliminary actions by pre-configuring view-specific address translation tables and pre-validating access rights during application initialization. The system establishes the mapping between application-specific views and the shared memory page in advance, so that during actual control parameter access, the verification process is minimized to simple address translation lookup rather than full access rights checking. This preliminary setup reduces access latency while maintaining secure shared memory management.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12039201B2Control parameter address virtualization
Publication Date: 2024.07.16 MICRON TECHNOLOGY INC
  • US12039201B2 patent drawing
  • US12039201B2 patent drawing
  • US12039201B2 patent drawing

AI summary

Host and accelerator devices can be coupled using various interfaces, such as Compute Express Link (CXL). In an example, user applications can have protected access to a shared set of control parameters for different queues. A protocol can allow an application to use a unique memory page at the accelerator device through which the application can access control parameters, such as can be used to control memory-based communication queues or other queues. In an example, there can be multiple sets of control parameters in a single memory page. The protocol can allow views of the single memory page from respective different application processes. In an example, the protocol can include or use an access check to detect and handle unauthorized accesses to particular parameters.