Storage Control System Error Handling via Non-Volatile Memory
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In distributed data storage systems, storage device I/O errors can lead to unstable states due to incomplete transactions, especially when some operations are volatile and others are not, and rolling back operations is complicated, especially when memory allocation is involved or an ACK message has been returned.
Innovation Solution
A storage control system that writes data to a logical storage device in non-volatile system memory to complete failed write operations, allowing ongoing transactions to finish without abrupt termination, and uses a logical storage device layer to emulate the failed storage device, facilitating transaction completion and stability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the process terminates when a storage device I/O error occurs, then system stability is improved, but productivity deteriorates due to abrupt termination of ongoing transactions
Solution Approach 1:
The patent introduces an intermediary mechanism (error handling layer) between the storage device and the transaction processing system. When a storage device I/O error occurs, this intermediary captures the error, prevents abrupt process termination, and coordinates alternative actions such as rolling back transactions or using backup storage devices, thereby maintaining both system stability and transaction completion
Solution Approach 2:
The patent implements preliminary error handling mechanisms that are prepared in advance. When a storage device fails, pre-configured alternative storage devices and rollback procedures are immediately activated, allowing ongoing transactions to complete without abrupt termination while maintaining system stability
2Reliability
If rollback operations are implemented after encountering storage device I/O error, then data consistency is improved, but device complexity increases due to complicated rollback procedures
Solution Approach 1:
The patent segments the storage system into multiple independent storage devices, each capable of handling specific transactions. When one storage device fails, the system can isolate the failure and perform rollback operations only on affected segments rather than the entire system, reducing the complexity of rollback procedures while maintaining data consistency
Solution Approach 2:
The patent implements copying mechanisms where data is replicated across multiple storage devices before write operations complete. When a storage device I/O error occurs, the system can retrieve copied data from alternative storage devices and restore transactions, simplifying rollback operations while ensuring data consistency
3Productivity
If parallel I/O threads continue execution without awareness of storage device failure, then productivity is maintained, but reliability deteriorates due to further complications in rolling back operations
Solution Approach 1:
The patent implements a feedback mechanism where the storage control system continuously monitors storage device status and communicates failure information to all parallel I/O threads. When a storage device I/O error occurs, the feedback system notifies affected threads, allowing them to coordinate rollback operations while other unrelated threads continue execution, maintaining productivity while ensuring reliability
Data Source
AI summary
Techniques are provided for managing storage device errors during processing of inflight input/output (I/O) operations. A storage control system (e.g., a software-defined storage system) receives an I/O write request which includes data to be written to at least one storage device of a plurality of storage devices managed by the storage control system, and commences a write operation to write the data to the at least one storage device. In response to a storage device I/O error resulting from a failure of the write operation associated with the at least one storage device, the storage control system accesses a logical storage device in a non-volatile system memory device, and writes the data to the logical storage device in the non-volatile system memory device to complete the failed write operation.


