Atomic Transaction Handling in Non-Volatile Memory
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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
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.
Data Source
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.


