NVRAM Transaction Log for Data Consistency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The use of nonvolatile random-access memory (NVRAM) in distributed computing systems, such as cloud data storage, is vulnerable to inconsistencies due to unexpected power losses or process crashes during data structure updates, leading to unpredictable consequences.

Innovation Solution

Implementing a transaction log mechanism in NVRAM that records initial values of data structure fields before updates, ensures consistency by committing changes and deleting the log upon completion, and restores initial values in case of interruptions, ensuring data structure integrity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If NVRAM is used to store data structures in distributed computing systems, then write operation speed is improved, but data consistency reliability deteriorates due to potential partial updates from unexpected power losses or process crashes

Engineering Contradiction:
Improvewrite operation speedVSAvoiddata consistency
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent applies preliminary action by recording old values in a transaction log before performing updates to the data structure. This preparatory step ensures that if a power loss or crash occurs during the update process, the system can restore the original values from the log, preventing inconsistent states. The transaction log serves as a safety mechanism established beforehand to protect against partial updates.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements beforehand cushioning by creating a transaction log that stores backup copies of data structure values before updates occur. This cushioning mechanism acts as a protective buffer against potential failures during the write operation. If an unexpected event occurs, the system can revert to the backed-up values, ensuring data consistency is maintained despite the speed benefits of NVRAM.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

2Reliability

If transaction logs are implemented to ensure data consistency, then data structure integrity is improved, but device complexity increases due to additional logging and recovery mechanisms

Engineering Contradiction:
Improvedata structure integrityVSAvoidtransaction management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies the taking out principle by extracting the consistency management functionality into a separate transaction log that is distinct from the main data structure. This separation allows the logging mechanism to operate independently, simplifying the overall system architecture. The transaction log handles the complexity of tracking and restoring values, while the data structure itself remains simple and focused on storing the actual data.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent uses an intermediary approach by introducing a transaction log as a mediator between the write operations and the data structure. This intermediary component manages the complexity of transaction tracking, value backup, and recovery operations. The transaction log acts as a buffer that simplifies the interaction between the application and the data structure, handling the intricate details of consistency management without requiring complex changes to the core data storage mechanism.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9990150B2Method to provide transactional semantics for updates to data structures stored in a non-volatile memory
Publication Date: 2018.06.05 KIOXIA CORP
  • US9990150B2 patent drawing
  • US9990150B2 patent drawing
  • US9990150B2 patent drawing

AI summary

In a computing system that includes NVRAM, when an application modifies a data structure stored in NVRAM via a transaction, an interface creates a transaction log for the requested change to the data structure. The transaction log tracks or stores the initial value of each field of the data structure in NVRAM to be updated as part of the transaction. After all updates of the data structure have been implemented in nonvolatile RAM and the transaction is complete, the transaction is committed and the transaction log is deleted. If at any point the transaction is interrupted, for example due to an unexpected power loss or process crash, the initial, consistent values for the data structure are used upon start-up of the computing system or reinitialization of the process.