Atomic Transaction Handling in Non-Volatile Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Contemporary computer architecture does not support atomic transactions for non-volatile memory, leading to data errors and system instability due to incomplete transactions, as it discards all data written during a failed atomic transaction, which negatively impacts system processes.

Innovation Solution

A processor-based solution that declares the start and end of atomic transactions, writes data to an intermediate memory location, locks the data during the transaction, and then writes it to non-volatile media, ensuring data persistence and availability even during incomplete transactions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If contemporary computer architecture is used for non-volatile memory transactions, then the system can operate with simple memory management, but data errors and system instability occur due to incomplete transactions being discarded

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

Solution Approach 1:

The patent segments the memory transaction process into distinct phases: declaration phase (declaring start of atomic transaction), execution phase (modifying data), and completion phase (ending transaction). This segmentation allows the system to track transaction state and ensure atomicity, resolving the contradiction between reliability and complexity by structuring the transaction management process into manageable segments.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies preliminary action by requiring the declaration of atomic transactions before execution. The functional unit declares the start of an atomic transaction and specifies the scope of data to be modified, establishing a transaction context in advance. This preliminary declaration enables the system to track and protect the transaction, ensuring data integrity without requiring complex post-transaction recovery mechanisms.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If data is locked during atomic transactions to ensure consistency, then data integrity is maintained, but other functional units cannot access the data during the transaction

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent introduces an intermediary mechanism (the atomic transaction declaration and tracking system) that mediates between the need for data consistency and system throughput. By declaring atomic transactions and tracking their state, the system can allow other functional units to access data that is not part of the active transaction, while ensuring that data within the transaction scope remains consistent. This intermediary transaction management layer resolves the contradiction by enabling selective access rather than blanket locking.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of manufacture

If all data written during a failed transaction is discarded, then simple error handling is achieved, but system processes are negatively impacted due to loss of potentially valid data

Engineering Contradiction:
Improveerror handling simplicityVSAvoiddata loss
Core Design Contradiction:
Ease of manufactureVSLoss of information

Solution Approach 1:

The patent applies beforehand cushioning by establishing atomic transaction boundaries and tracking mechanisms in advance. When a transaction fails, the system can identify exactly which data was part of the atomic transaction and restore it to its previous state, rather than discarding all modified data. This preparatory transaction framework cushions the system against data loss by providing a controlled rollback mechanism, resolving the contradiction between simple error handling and data preservation.

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

Data Source

PatentUS9524219B2Atomic transactions to non-volatile memory
Publication Date: 2016.12.20 SK HYNIX NAND PRODUCT SOLUTIONS CORP
  • US9524219B2 patent drawing
  • US9524219B2 patent drawing
  • US9524219B2 patent drawing

AI summary

Durable atomic transactions for non-volatile media are described. A processor includes an interface to a non-volatile storage medium and a functional unit to perform instructions associated with an atomic transaction. The instructions are to update data at a set of addresses in the non-volatile storage medium atomically. The functional unit is operable to perform a first instruction to create the atomic transaction that declares a size of the data to be updated atomically. The functional unit is also operable to perform a second instruction to start execution of the atomic transaction. The functional unit is further operable to perform a third instruction to commit the atomic transaction to the set of addresses in the non-volatile storage medium, wherein the updated data is not visible to other functional units of the processing device until the atomic transaction is complete.