Out-of-Order CPU Cache Leakage Prevention

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Out-of-order execution in CPUs can lead to security vulnerabilities like Spectre and Meltdown, where data loaded into cache during speculative execution remains after speculation is determined incorrect, allowing attackers to access sensitive information.

Innovation Solution

A method to manage out-of-order machines by storing information about states in a reorder buffer, tracking data movement between states, and invalidating cache access upon detecting a misspeculation event to prevent data leakage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If speculative execution is implemented to improve processing speed, then execution speed is improved, but security vulnerabilities arise due to data remaining in cache after misspeculation

Engineering Contradiction:
Improveexecution speedVSAvoidsecurity vulnerabilities
Core Design Contradiction:
SpeedVSObject-affected harmful factors

Solution Approach 1:

The patent applies preliminary action by tracking and recording cache access patterns during speculative execution before the speculation is validated or invalidated. The reorder buffer pre-captures which cache blocks were accessed during the speculative period, so that when missspeculation is detected, the system can immediately invalidate only those specific cache blocks without needing to flush the entire cache, thus preventing information leakage while maintaining performance.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If cache is used during speculative execution to store data, then processing efficiency is improved, but data leakage risk increases

Engineering Contradiction:
Improveprocessing efficiencyVSAvoiddata leakage risk
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The patent segments the cache invalidation process by identifying and tracking specific cache blocks accessed during speculative execution. Instead of treating the cache as a monolithic structure, the system divides it into individually trackable blocks and maintains information about which blocks were accessed during speculation in the reorder buffer. This segmentation allows selective invalidation of only the vulnerable blocks, preserving processing efficiency while eliminating data leakage risk.

Inventive Principle:
Principle #1Segmentation

3Reliability

If reorder buffer tracks detailed state information to prevent information leakage, then security is improved, but system complexity increases

Engineering Contradiction:
ImprovesecurityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies universality by designing the reorder buffer to serve multiple functions: it maintains out-of-order execution state information for correct program ordering, tracks cache access patterns during speculation, and enables security validation. By making the reorder buffer multi-functional, the system improves security without adding separate dedicated hardware structures, thus avoiding excessive complexity increase while achieving reliable information leakage prevention.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS20200034152A1Preventing Information Leakage In Out-Of-Order Machines Due To Misspeculation
Publication Date: 2020.01.30 MARVELL ASIA PTE LTD
  • US20200034152A1 patent drawing
  • US20200034152A1 patent drawing
  • US20200034152A1 patent drawing

AI summary

Typical out-of-order machines can be exploited by security vulnerabilities, such as Meltdown and Spectre, that enable data leakage during misspeculation events. A method of preventing such information leakage includes storing information regarding multiple states of an out-of-order machine to a reorder buffer. This information includes the state of instructions, as well as an indication of data moved to a cache in the transition between states. In response to detecting a misspeculation event at a later state, access to at least a portion of the cache storing the data can be prevented.