Processor Speculative Execution Cache Miss Handling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Speculative execution of branching instructions in processors creates vulnerabilities to attacks where malicious actors can extract information by writing data to accessible memory locations, even after speculative execution is cancelled, leading to performance reductions if all speculative execution is disabled.

Innovation Solution

Implementing a READ memory directly command that allows processors to request memory address contents directly from main memory after a cache miss result, bypassing cache access and avoiding data writing during speculative execution, without disabling branch prediction or recompiling code.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If speculative execution of branching instructions is enabled to increase program execution efficiency, then productivity is improved, but system security deteriorates due to vulnerabilities where malicious actors can extract information through cache inference attacks

Engineering Contradiction:
Improveprogram execution efficiencyVSAvoidinformation extraction vulnerability
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The patent extracts the harmful speculative execution path by detecting cache misses during speculative execution and selectively discarding results from those paths. The system identifies and removes only the vulnerable speculative results that could be exploited for information extraction, while preserving legitimate speculative execution benefits. This is achieved through monitoring cache access patterns and invalidating speculative results when cache misses occur, thereby separating harmful speculative side effects from useful performance optimization.

Inventive Principle:
Principle #2Taking out (Extraction)

2Object-affected harmful factors

If all speculative execution is disabled to prevent security attacks, then system security is improved, but productivity deteriorates due to increased waiting times and reduced execution efficiency

Engineering Contradiction:
Improveinformation extraction vulnerabilityVSAvoidprogram execution efficiency
Core Design Contradiction:
Object-affected harmful factorsVSProductivity

Solution Approach 1:

The patent applies local quality by making the security protection selective rather than universal. Instead of disabling speculative execution globally, the system applies security measures only to specific speculative paths that exhibit cache miss patterns indicative of potential attacks. Legitimate speculative execution paths that do not trigger cache misses continue to execute without restriction, maintaining performance while providing targeted security protection where needed.

Inventive Principle:
Principle #3Local quality

3Productivity

If cache memory is used to store speculative execution results to maintain performance, then productivity is improved, but security deteriorates as malicious data can be written to accessible memory locations

Engineering Contradiction:
Improveexecution speedVSAvoidmalicious data writing
Core Design Contradiction:
ProductivityVSObject-generated harmful factors

Solution Approach 1:

The patent introduces an intermediary security mechanism between the speculative execution unit and the cache memory. This intermediary monitors cache access patterns during speculative execution and intervenes when cache misses occur, preventing speculative results from being written to cache locations that could be exploited. The intermediary acts as a gatekeeper that allows legitimate cache operations while blocking potentially harmful speculative writes, thereby protecting memory integrity without significantly impacting performance.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20210209028A1Controlling processor instruction execution
Publication Date: 2021.07.08 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US20210209028A1 patent drawing
  • US20210209028A1 patent drawing
  • US20210209028A1 patent drawing

AI summary

Improving execution of application program instructions by sending a READ cache memory request for an address from a processor to a cache memory controller, receiving a cache miss result for the address in response to the READ request, sending a READ memory directly request for the same address and then receiving the address's contents.