Persistent Memory Version Controller for Atomic Transaction Merging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems that utilize non-volatile memory for persistent storage face performance overhead due to data versioning operations like copying and merging, which increase processor and memory usage, especially when implementing copy-on-write policies for entire pages of data.

Innovation Solution

A version controller is introduced that offloads data versioning operations from the processor to a dedicated controller, which manages cache lines, allocates copy pages, and performs forward or backward merges based on a merge direction policy to minimize data movement and processing overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data versioning operations are performed using processor and memory resources, then version control functionality is achieved, but processor and memory overhead increases

Engineering Contradiction:
Improvedata version controlVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts data versioning operations from the processor by introducing a dedicated version control data structure that is separate from the main data storage. This version control structure includes version identifiers and pointers that track data versions independently, allowing the processor to focus on computation while version management is handled by the memory subsystem and controller.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces a version control data structure as an intermediary between the processor and persistent memory. This intermediate structure manages version information without requiring the processor to directly handle versioning logic, reducing processor overhead while maintaining version control capabilities.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If copy-on-write policies are implemented for entire pages of data, then data versioning is maintained, but data movement and processing overhead increase

Engineering Contradiction:
Improvedata versioningVSAvoiddata movement overhead
Core Design Contradiction:
ReliabilityVSLoss of substance

Solution Approach 1:

The patent segments the copy-on-write operation to only copy data when actually modified rather than copying entire pages preemptively. The version control data structure tracks which specific data elements have been modified, allowing selective copying only of changed portions, thereby reducing unnecessary data movement.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial copy-on-write by copying only the necessary portions of data that have been modified, rather than copying entire pages. The version control structure identifies exactly which data elements require copying, performing only the minimal necessary action to maintain version integrity.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10019363B2Persistent memory versioning and merging
Publication Date: 2018.07.10 HEWLETT PACKARD ENTERPRISE DEV LP
  • US10019363B2 patent drawing
  • US10019363B2 patent drawing
  • US10019363B2 patent drawing

AI summary

Example implementations may relate to a version controller allocating a copy page in persistent memory upon receiving, from an application executing on a processor, a copy command to version an image page for an atomic transaction. The version controller may receive application data addressed to a cache line of the image page, and may write the application data to a cache line of the copy page corresponding to the addressed cache line of the image page. If the version controller receives a replace-type transaction commit command, the version controller may generate a final page by either forward merging the image page into the copy page or backward merging the copy page into the image page, depending a merge direction policy.