Transactional Memory Draining Circuitry for Persistent Memory Atomicity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems supporting transactional memory do not work effectively with persistent memory (PM), as they may lead to non-atomic views of transaction results in PM, risking loss of atomicity due to power failures or resets during partial write-back periods.

Innovation Solution

The use of draining circuitry to detect draining trigger events and perform a draining operation, which scans a subset of the cache hierarchy to identify dirty cache lines and write them to persistent memory, while preventing speculative store data from being drained until the transaction is committed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If speculative store data is written to the cache hierarchy during a transaction, then transaction processing speed is improved, but atomicity is compromised because data may be partially written to persistent memory during power failures or resets

Engineering Contradiction:
Improvetransaction processing speedVSAvoidatomicity of transaction results
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent introduces a draining operation that is triggered before power failures or resets can occur. This draining operation proactively flushes dirty cache lines to persistent memory, ensuring that transaction results are fully propagated before the system enters a vulnerable state. The trigger mechanism (detecting impending power failure or reset conditions) activates this preliminary action to maintain atomicity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces draining circuitry as an intermediary component between the cache hierarchy and persistent memory. This draining circuitry monitors the cache hierarchy for dirty cache lines and mediates the transfer of data to persistent memory when triggered. It acts as a buffer and coordinator, ensuring that speculative store data is properly flushed to maintain atomicity without requiring changes to the core transactional memory operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If a draining operation scans the entire cache hierarchy to ensure atomicity, then reliability is improved, but processing time and energy consumption increase

Engineering Contradiction:
Improveatomicity guaranteeVSAvoiddraining operation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent extracts and focuses the draining operation on only the necessary portion of the cache hierarchy. Rather than scanning the entire cache hierarchy, the draining circuitry targets specifically those cache lines that are dirty and need to be flushed to persistent memory. This selective approach reduces the time and energy required for the draining operation while still ensuring atomicity for all pending transactions.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent implements a triggered draining operation that performs only the necessary flushing action when a trigger event is detected. Instead of continuously scanning and flushing the entire cache hierarchy, the system performs a partial draining operation focused on the specific cache lines that need flushing at that moment. This reduces unnecessary processing time and energy consumption while maintaining atomicity guarantees.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS12216589B2Draining operation for draining dirty cache lines to persistent memory
Publication Date: 2025.02.04 ARM LTD
  • US12216589B2 patent drawing
  • US12216589B2 patent drawing
  • US12216589B2 patent drawing

AI summary

An apparatus has processing circuitry with support for transactional memory, and a cache hierarchy comprising at least two levels of cache. In response to a draining trigger event having potential to cause loss of state stored in at least one further level cache beyond a predetermined level cache in which speculative store data generated by a transaction is marked as speculative until the transaction is committed, draining circuitry performs a draining operation to scan a subset of the cache hierarchy to identify dirty cache lines and write data associated with the dirty cache lines to persistent memory. The subset of the cache hierarchy includes the at least one further level cache. In the draining operation, speculative store data marked as speculative in the predetermined level cache is prevented from being drained to the persistent memory.