Processor Versioned Store Retirement Modes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current memory corruption detection methods, particularly in hardware, face challenges in precisely identifying versioned store instructions that cause memory corruption and maintaining the architectural state of a processor, which is crucial for debugging purposes, due to issues like multiple versioned stores being retired before version comparison and younger instructions altering the processor state.

Innovation Solution

A processor is configured to execute versioned store instructions in either precise or disrupting modes, where in precise mode, versioned store instructions are retired only after a version comparison, and in disrupting mode, they are retired before comparison, allowing for precise program state maintenance and improved performance based on programmable indicators.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If versioned store instructions are retired before version comparison, then instruction retirement speed is improved, but precise identification of memory corruption sources cannot be maintained

Engineering Contradiction:
Improveinstruction retirement speedVSAvoidmemory corruption source identification precision
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The patent segments the instruction retirement process into two distinct modes: precise mode where version comparison completes before retirement (ensuring accurate corruption identification), and disrupting mode where retirement occurs before version comparison (improving speed). This segmentation allows the system to optimize for different operational requirements without compromising either precision or speed simultaneously in a single unified approach.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic mode switching capability that allows the processor to transition between precise mode and disrupting mode based on operational needs. The mode selection is not fixed but can be adjusted to balance between memory corruption detection accuracy and instruction execution speed, making the system adaptable to different workloads and security requirements.

Inventive Principle:
Principle #15Dynamics

2Productivity

If younger instructions are allowed to retire sooner, then processor performance is improved, but architectural state accuracy for debugging is compromised

Engineering Contradiction:
Improveprocessor performanceVSAvoidarchitectural state accuracy
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The patent applies local quality by making different parts of the instruction pipeline have different retirement behaviors. Specifically, versioned store instructions follow one retirement rule (after version comparison in precise mode) while other instructions can follow different rules. This localized differentiation ensures that critical instructions maintaining architectural state accuracy are treated differently from performance-critical instructions, allowing both accuracy and performance to coexist.

Inventive Principle:
Principle #3Local quality

3Productivity

If multiple versioned stores are retired before version comparison, then instruction throughput is improved, but program state maintenance precision deteriorates

Engineering Contradiction:
Improveinstruction throughputVSAvoidprogram state maintenance precision
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The patent implements preliminary action by performing version comparison before instruction retirement in precise mode. This ensures that the version comparison is completed as a prerequisite step before the instruction is retired, maintaining program state maintenance precision. The alternative in disrupting mode allows retirement before comparison, but this is explicitly chosen when precision is not the primary concern, demonstrating the trade-off between preliminary action for accuracy versus throughput optimization.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9672298B2Precise excecution of versioned store instructions
Publication Date: 2017.06.06 ORACLE INT CORP
  • US9672298B2 patent drawing
  • US9672298B2 patent drawing
  • US9672298B2 patent drawing

AI summary

Techniques for executing versioned memory access instructions. In one embodiment, a processor is configured to execute versioned store instructions of a first thread within a first mode of operation. In this embodiment, in the first mode of operation, the processor is configured to retire a versioned store instruction only after a version comparison has been performed for the versioned store instruction. In this embodiment the processor is configured to suppress retirement of instructions in the first thread that are younger than an oldest versioned store instruction until the oldest versioned store instruction has retired. In some embodiments, the processor is configured to execute versioned store instructions of a given thread within a second mode of operation, in which the processor is configured to retire outstanding versioned store instructions before a version comparison has been performed.