Atomic Write Transaction Binding for Persistent Memory Consistency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current techniques fail to guarantee atomicity for a set of memory write operations in persistent memory, leading to potential data inconsistency during power failures or network delays in distributed systems, especially when updating multiple memory locations simultaneously.

Innovation Solution

The introduction of a novel architecture that extends fabric architectures to provide a mechanism for binding a set of remote write operations to a transaction, using new instructions and interfaces to ensure all writes are committed atomically to persistent memory, even across network links, through the use of caching agents, home agents, and extended fabric put commands.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If current techniques are used for memory write operations, then device complexity is reduced, but data consistency is compromised during power failures or network delays

Engineering Contradiction:
Improvedata consistencyVSAvoidfabric architecture complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a fabric intermediary layer that sits between the processor and persistent memory, managing write operations across multiple nodes. This intermediary coordinates atomic transactions, handles acknowledgments, and ensures data consistency without requiring complex software logic at each node, thus improving reliability while controlling complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system segments write operations into discrete atomic transactions that can be independently managed and tracked across different fabric nodes. Each write operation is divided into request, acknowledgment, and completion phases, allowing the system to ensure consistency without treating the entire write set as a monolithic complex operation.

Inventive Principle:
Principle #1Segmentation

2Reliability

If atomic writes are implemented across remote nodes, then data consistency is improved, but communication overhead increases

Engineering Contradiction:
Improveatomicity guaranteeVSAvoidcommunication overhead
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent merges multiple write operations into a single atomic transaction when they target the same persistent memory location across remote nodes. By combining related writes into one coordinated transaction, the system reduces the number of separate communication round trips required, thereby maintaining atomicity guarantees while minimizing communication overhead.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system performs preliminary actions by pre-establishing transaction contexts and buffering write operations before actual persistence. Write requests are staged and prepared in advance, allowing the fabric to coordinate atomic commits efficiently without requiring extensive real-time communication for each individual write operation.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If fabric architecture is extended to support atomic transactions, then productivity is improved through reliable distributed memory, but device complexity increases

Engineering Contradiction:
Improvedistributed shared memory efficiencyVSAvoidfabric put command complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The extended fabric put command is designed as a universal interface that handles multiple functions: local writes, remote atomic transactions, acknowledgment tracking, and error handling. This multi-functional command structure eliminates the need for separate specialized commands for different write scenarios, improving productivity through a unified interface while managing complexity through standardization.

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

Data Source

PatentUS10346091B2Fabric resiliency support for atomic writes of many store operations to remote nodes
Publication Date: 2019.07.09 INTEL CORP
  • US10346091B2 patent drawing
  • US10346091B2 patent drawing
  • US10346091B2 patent drawing

AI summary

Methods and apparatus related to fabric resiliency support for atomic writes of many store operations to remote nodes are described. In one embodiment, non-volatile memory stores data corresponding to a plurality of write operations. A first node includes logic to perform one or more operations (in response to the plurality of write operations) to cause storage of the data at a second node atomically. The plurality of write operations are atomically bound to a transaction and the data is written to the non-volatile memory in response to release of the transaction. Other embodiments are also disclosed and claimed.