Atomic Storage Operations on Non-Volatile Solid-State Devices
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Ensuring data integrity during storage operations on non-volatile solid-state storage devices is challenging due to issues like power failures and invalid shutdowns, which can affect the integrity of data being written.
Innovation Solution
A method and apparatus for servicing atomic storage requests on non-volatile solid-state storage devices by storing data in a log-based sequential format, using persistent metadata to indicate the atomic nature of the data, and queuing requests in an ordered queue to ensure proper processing and recovery during restarts.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If data is written to non-volatile solid-state storage devices during power failures or invalid shutdowns, then storage operations can continue, but data integrity is compromised
Solution Approach 1:
The system performs preliminary actions by flushing pending writes to persistent storage before shutdown and marking atomic storage requests with persistent metadata. This ensures that even if power fails during normal operation, the storage system knows which writes were incomplete and can safely ignore them during recovery, thus maintaining data integrity while allowing continuous operation.
Solution Approach 2:
The system implements feedback mechanisms through completion acknowledgments and persistent metadata markers that provide information about the state of storage operations. This feedback allows the system to track which atomic storage requests have been successfully completed and which are still pending, enabling reliable recovery after failures while maintaining operational continuity.
2Reliability
If atomic storage requests are processed with strict integrity guarantees, then data integrity is maintained, but processing complexity increases
Solution Approach 1:
The system segments storage operations into atomic requests that can be independently tracked and completed. Each atomic request is marked with persistent metadata, allowing the system to manage complexity by processing requests individually rather than as a monolithic operation. This segmentation maintains data integrity while reducing overall processing complexity through modular request handling.
Solution Approach 2:
The system introduces persistent metadata as an intermediary between the storage controller and the actual data writes. This metadata acts as a mediator that tracks the state of atomic storage requests without adding significant complexity to the core storage operations. The metadata provides the necessary information for integrity guarantees while keeping the storage processing path relatively simple.
3Reliability
If persistent metadata is stored within each data packet, then atomic storage requests can be reliably identified, but storage space consumption increases
Solution Approach 1:
The system applies local quality by storing persistent metadata only at critical boundaries and key points within data packets rather than throughout the entire data structure. This selective placement of metadata provides sufficient information for atomic request identification while minimizing the additional storage space consumption. The metadata is strategically positioned where it provides maximum reliability benefit with minimum overhead.
Data Source
AI summary
A method and apparatus for storing data packets in two different logical erase blocks pursuant to an atomic storage request is disclosed. Each data packet stored in response to the atomic storage request comprises persistent metadata indicating that the data packet pertains to an atomic storage request. In addition, a method and apparatus for restart recovery is disclosed. A data packet preceding an append point is identified as satisfying a failed atomic write criteria, indicating that the data packet pertains to a failed atomic storage request. One or more data packets associated with the failed atomic storage request are identified and excluded from an index of a non-volatile storage media.


