Memory Access Privilege Enforcement for Speculative Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory systems face challenges in securely managing access privileges, particularly due to vulnerabilities arising from branch prediction and speculative execution, which can lead to unprivileged entities accessing privileged data.

Innovation Solution

The implementation of a memory system that enforces privilege levels at the memory device, using privilege bits associated with each memory command to verify access rights to memory addresses, thereby preventing unauthorized access during speculative execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If branch prediction and speculative execution are implemented to improve processing speed, then productivity increases, but security reliability deteriorates due to unauthorized access vulnerabilities

Engineering Contradiction:
Improveprocessing speedVSAvoidsecurity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary action by checking access privileges before executing memory operations during speculative execution. The system determines whether a memory operation has the necessary access privilege to a memory address before proceeding with the operation, preventing unauthorized access while maintaining speculative execution performance benefits

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary mechanism in the form of privilege bit checking that acts as a mediator between the speculative execution unit and memory access. This intermediary verification layer ensures that even during speculative execution, unauthorized access attempts are blocked by checking access privileges against privilege levels associated with memory addresses

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If access control checks are implemented to improve security, then reliability improves, but device complexity increases

Engineering Contradiction:
ImprovesecurityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the access privilege checking function as a separate, dedicated mechanism within the memory system. By isolating the privilege verification logic from the main execution path and implementing it as a distinct checking component, the system achieves enhanced security without significantly increasing overall device complexity

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent implements self-service by having the memory system automatically perform privilege level checks using stored privilege bits and access privilege information. The system serves itself by internally verifying access authorization without requiring external intervention, thereby improving security while minimizing additional complexity

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS12339789B2Memory access determination
Publication Date: 2025.06.24 MICRON TECHNOLOGY INC
  • US12339789B2 patent drawing
  • US12339789B2 patent drawing
  • US12339789B2 patent drawing

AI summary

Apparatuses and methods related to computer memory access determination are described. A command can be received at a memory system (e.g., a system with or exploiting DRAM). The command can comprise a memory operation and a plurality of privilege bits. The privilege level or a memory address that is associated with the memory operation can be identified. The privilege level can correspond to the memory address can describe a privilege level that can access the memory address. A determination can be made as to whether the memory operation, or the application requesting certain data or prompting corresponding instructions, is entitled to access to the memory address using the plurality of privilege bits and the privilege level. Responsive to determining that the memory operation has access to the memory address, the memory operation can be processed.