Automatic Hardware Speculation Suppression in Sensitive Code Blocks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software programs face challenges in balancing the efficiency of hardware speculative execution with the security of sensitive data, as global suppression of speculative execution hinders processing capabilities and increases runtime, while widespread application of speculative load hardening techniques undermines security measures.

Innovation Solution

Implement localized detection and suppression of hardware speculative execution based on the presence of speculative load hardening indicators and environmental security, allowing selective execution in secure environments and suppression in insecure ones, thereby maintaining optimal processing speeds and security for sensitive data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If global suppression of speculative execution is implemented, then security of sensitive data is improved, but processing efficiency deteriorates and runtime increases

Engineering Contradiction:
Improvesecurity of sensitive dataVSAvoidprocessing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the code into basic blocks and applies speculative execution suppression selectively to specific blocks containing sensitive data, rather than globally suppressing speculation across the entire program. This allows secure blocks to benefit from speculation while insecure blocks maintain security, resolving the contradiction between security and efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements local quality by applying different execution policies to different parts of the code. Basic blocks identified as containing sensitive data through static analysis receive speculative suppression, while other blocks continue to execute speculatively. This localized approach maintains overall processing efficiency while protecting specific sensitive regions.

Inventive Principle:
Principle #3Local quality

2Reliability

If speculative load hardening techniques are widely applied, then security measures are strengthened, but processing speed deteriorates

Engineering Contradiction:
Improvesecurity measuresVSAvoidprocessing speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent applies speculative load hardening partially rather than excessively. Through static analysis, it identifies only those basic blocks that actually contain sensitive data and applies suppression only to those blocks. This partial application maintains security for critical sections while avoiding the performance penalty of applying hardening techniques throughout the entire program.

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If hardware speculative execution is enabled, then processing efficiency is improved, but security risks increase

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidsecurity risks
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The patent introduces static analysis as an intermediary mechanism that examines code structure and identifies basic blocks containing sensitive data before execution. This intermediary analysis enables the system to make informed decisions about where to apply speculative suppression, balancing the benefits of speculation with security requirements without manual intervention.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20250306941A1Automatic hardware speculation suppression
Publication Date: 2025.10.02 ADVANCED MICRO DEVICES INC
  • US20250306941A1 patent drawing
  • US20250306941A1 patent drawing
  • US20250306941A1 patent drawing

AI summary

In some implementations, the device may include detecting a speculative load hardening indicator in a first block of code. In addition, the device may include selectively suppressing hardware speculative execution for instructions in the first block of code associated with the detected speculative load hardening indicator.