Atomic Write Transaction Management in Nonvolatile Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for performing multiple write transactions atomically in non-volatile data storage devices often require host-side safety mechanisms, leading to performance and power inefficiencies, and are independent of the underlying storage technology.
Innovation Solution
A device controller method that creates an address translation map to remap logical addresses to new physical addresses if the existing physical addresses contain valid data, and updates the address translation record only after all write transactions are completed, utilizing the out-of-place rewrite constraint of non-volatile storage devices to ensure atomicity and allow for rollback in case of system failures.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If journaling techniques are used to ensure atomic write transactions, then data reliability is improved, but performance and power consumption deteriorate due to extra transactions and write actions
Solution Approach 1:
The storage device performs atomic write transaction management autonomously using its own out-of-place rewrite constraint, eliminating the need for host-side journaling mechanisms. The device controller creates address translation maps and manages physical address remapping internally, allowing the storage device to serve its own reliability needs without requiring additional host software overhead.
Solution Approach 2:
The invention extracts the atomicity guarantee mechanism from the host-side software layer and relocates it to the device-controller layer. By utilizing the inherent out-of-place rewrite constraint of non-volatile storage devices, the system removes the need for separate journaling transactions and host-side safety mechanisms, thereby improving performance while maintaining reliability.
2Reliability
If host-side safety mechanisms are implemented to ensure atomic write transactions, then data integrity is improved, but device complexity and overhead increase
Solution Approach 1:
The storage device implements atomic write transaction management autonomously through its device controller, which creates address translation maps and manages physical address remapping. This self-service approach eliminates the need for complex host-side safety mechanisms and journaling software, reducing overall system complexity while maintaining data integrity.
Solution Approach 2:
The invention changes the approach from software-based atomicity guarantees to hardware/controller-based guarantees by utilizing the out-of-place rewrite constraint. This parameter change from software logic to physical storage constraint enables simpler, more efficient atomic transaction management without requiring complex host-side implementation.
3Speed
If existing physical addresses are overwritten during write transactions, then write speed is improved, but data reliability deteriorates due to inability to rollback on failure
Solution Approach 1:
The device controller performs preliminary action by creating an address translation map before executing write transactions. This map records the mapping between logical and physical addresses, enabling the system to rollback to previous states if failures occur. The address translation record is updated only after all transactions complete successfully, preserving the ability to rollback while maintaining efficient write operations.
Data Source
AI summary
A device controller and method are provided for performing a plurality of write transactions atomically within a non-volatile data storage device. Each transaction specifies a logical address and the method comprises creating an address translation map for the logical addresses specified by the plurality of write transactions, by referencing an address translation record within the non-volatile data storage device to determine for each logical address a corresponding physical address within the data storage device. Further, if the corresponding physical address indicated in the address translation record already contains valid data, the logical address is remapped to a new physical address in the address translation map. However, at this point the address translation record as stored in the data storage device is not updated. Instead, the plurality of write transactions are performed using the logical address to physical address mapping in the address translation map. Then, only once the plurality of write transactions have been performed is the address translation record updated in the non-volatile data storage device in order to identify the logical address to physical address mapping in the address translation map. Since, at the time of performing the write transactions, any new data that updates data already stored in the data storage device is written into a different physical address location, and hence the previous version of the data is still stored on the data storage device, and given that the address translation record is not updated unless the plurality of write transactions are actually performed atomically, then this enables the state held on the data storage device to be rolled back to the state that existed prior to performing the plurality of write transactions, if any event prevents that plurality of write transactions being performed atomically.


