Transactional Memory Draining Circuitry for Persistent Memory Atomicity
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Reliability
If a draining operation scans the entire cache hierarchy to ensure atomicity, then reliability is improved, but processing time and energy consumption increase
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.
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.
Data Source
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.


