Explicit Memory Obsolescence for Reusable Store Buffer Entries

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional processor-based devices waste resources by maintaining obsolete values in system memory due to the persistence of memory store operations, even when those values will not be accessed again, and store-to-load forwarding increases hardware requirements.

Innovation Solution

Implement an instruction set architecture (ISA) that includes a memory load instruction indicating a final memory load operation, allowing the processor to set an obsolete indicator for intermediate memory entries, enabling their reuse before writing to system memory and canceling pending store operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional memory persistence rules are used to maintain all stored values in system memory, then reliability of data access is improved, but hardware resource consumption increases due to maintaining obsolete values

Engineering Contradiction:
Improvedata access reliabilityVSAvoidhardware resource consumption
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent changes the state parameter of memory entries by introducing an obsolete indicator that can be set to true, transforming the memory management approach from universal persistence to selective obsolescence. This allows the system to track which entries are no longer needed and can be safely removed or reused, reducing hardware resource consumption while maintaining reliability for actually needed data.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent implements a mechanism to discard obsolete memory entries by setting their obsolete indicator to true, allowing these entries to be removed from system memory or reused for new data. This recovers hardware resources that would otherwise be wasted on maintaining values that are no longer needed, while preserving data reliability through the selective discarding approach.

Inventive Principle:
Principle #34Discarding and recovering

2Productivity

If store-to-load forwarding is implemented to allow load operations before store completion, then productivity is improved, but device complexity increases due to additional hardware resources

Engineering Contradiction:
Improveinstruction execution throughputVSAvoidhardware resource requirements
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent enables store-to-load forwarding where load operations can retrieve data from store buffers before the store operation completes writing to system memory. This self-service mechanism allows the load operation to serve itself by obtaining data from the intermediate store buffer, improving instruction execution throughput without requiring additional complex hardware beyond the existing store buffer infrastructure.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent uses the store buffer as an intermediary structure that temporarily holds data during store operations. This intermediary allows load operations to access data in progress without waiting for complete system memory write, enabling forward progress in instruction execution while managing hardware resources efficiently through the buffer's natural structure.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If all memory entries are maintained until written to system memory, then data integrity is improved, but resource utilization deteriorates due to inability to reuse intermediate memory entries

Engineering Contradiction:
Improvedata integrityVSAvoidresource utilization efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent introduces an obsolete indicator parameter for each memory entry that can change from false to true, signaling that the entry's data is no longer needed. This parameter change enables the system to differentiate between active and obsolete entries, allowing safe reuse of intermediate memory entries while maintaining data integrity for entries that are still needed.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent implements a mechanism to discard obsolete entries by setting their obsolete indicator to true, which triggers their removal or reuse. This allows intermediate memory entries to be recovered and reused for new data, improving resource utilization efficiency while maintaining data integrity through the selective discarding process that only removes truly obsolete data.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentEP4070188B1Providing explicit memory obsolescence in processor-based devices
Publication Date: 2026.01.21 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP4070188B1 patent drawingFigure 1
  • EP4070188B1 patent drawingFigure 2A~2B
  • EP4070188B1 patent drawingFigure 3A~3B

AI summary

Providing express memory obsolescence in processor-based devices is disclosed. In this regard, an instruction set architecture (ISA) of a processor-based device provides a memory load instruction indicating a final memory load operation from a memory address (i.e., after the memory load operation represented by the memory load instruction is performed, the value at the memory address need not be maintained). Upon receiving the memory load instruction by an execution pipeline of the processor-based device, an entry corresponding to the memory address of the memory load instruction is located in an intermediate memory external to the system memory of the processor-based device, and used to perform the final memory load operation. After the final memory load operation is performed using the entry, a value of an obsolete indicator for the entry is set to indicate that the entry can be reused prior to its contents being written to the system memory.