Persistent Memory Controller Atomicity via Consistency Points

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computing systems, ensuring atomicity and consistency of updates in persistent memory (PM) is challenging, especially during power failures or system crashes, where partial updates can lead to inaccuracies and the need for lengthy validation processes, and existing methods lack control over committed and transient updates.

Innovation Solution

A PM controller-based apparatus and method that includes a PM control module to manage atomic transactions, generate consistency points (CPs), and a staging module to propagate updates in a first-in, first-out order, allowing for explicit and implicit CP events to ensure data integrity and self-consistency, minimizing CPU cache flushes and enabling automatic or user-defined CPs for restarts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If updates are propagated to persistent memory without control mechanisms, then productivity is improved through faster operations, but reliability deteriorates due to partial updates during power failures

Engineering Contradiction:
Improveupdate propagation speedVSAvoidatomicity guarantee
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements preliminary action by creating consistency points (CPs) that pre-establish atomic boundaries for groups of updates. Before propagating updates to persistent memory, the system prepares CP markers that define complete atomic units. This allows the system to later verify whether updates were fully committed or completely absent, preventing partial updates during power failures while maintaining high propagation speed through batched processing.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If CPU cache flushes are performed frequently to ensure data consistency, then reliability is improved through atomicity assurance, but productivity deteriorates due to increased flush operations

Engineering Contradiction:
Improveatomicity assuranceVSAvoidoperational efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies continuity of useful action by maintaining update propagation in the background without interrupting CPU operations for frequent cache flushes. The system continuously propagates updates to persistent memory asynchronously while the CPU continues processing. Consistency points are established at logical boundaries rather than forcing synchronous flushes, allowing continuous operation without productivity loss while still ensuring atomicity through the CP verification mechanism.

Inventive Principle:
Principle #20Continuity of useful action

3Reliability

If validation processes are performed after power failures to detect partial updates, then reliability is improved through error detection, but productivity deteriorates due to lengthy validation time

Engineering Contradiction:
Improveerror detection capabilityVSAvoidvalidation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements preliminary action by embedding consistency point markers within update sequences before propagation. These CP markers serve as pre-prepared validation indicators that allow the system to quickly determine atomicity status after power failures. Instead of performing lengthy validation processes, the system simply checks whether CP markers are present and properly formed, reducing validation time from potentially extensive verification to simple marker detection while maintaining high reliability.

Inventive Principle:
Principle #10Preliminary action

4Ease of operation

If existing memory update methods are used without PM controller-based control, then ease of operation is improved through simplicity, but reliability deteriorates due to lack of atomicity control

Engineering Contradiction:
Improveoperation simplicityVSAvoidatomicity control
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent introduces an intermediary PM control module that sits between the application layer and persistent memory. This intermediary automatically manages atomicity by intercepting update operations, grouping them into consistency-point-bounded transactions, and controlling their propagation to memory. Applications continue to issue simple update commands without needing to understand atomicity mechanics, while the intermediary handles the complex atomicity assurance transparently, maintaining ease of operation while dramatically improving reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10002077B2Persistent memory controller based atomicity assurance
Publication Date: 2018.06.19 HEWLETT PACKARD ENTERPRISE DEV LP
  • US10002077B2 patent drawing
  • US10002077B2 patent drawing
  • US10002077B2 patent drawing

AI summary

According to an example, PM controller based atomicity assurance may include receiving data that is related to an application for storage in a PM. PM controller based atomicity assurance may further include receiving an indication of an atomic transaction that is related to the data, and receiving an indication to generate a CP that is related to the atomic transaction. The CP may be generated in a PM staging area. A determination may be made as to whether the CP in the PM staging area is closed or open. In response to a determination that the CP in the PM staging area is closed, content related to the CP may be propagated to the PM.