NVRAM Buffer for Cloud Storage Data Recovery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing cloud-based storage systems face challenges in maintaining data consistency during recovery operations, which can lead to data loss or corruption.
Innovation Solution
The implementation of a cloud-based storage system that utilizes multiple storage array controllers with primary and secondary status, along with non-volatile random access memory (NVRAM) devices, to manage data consistency and improve write latency during recovery processes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If storage array controllers manage data consistency during recovery operations, then data integrity is improved, but write latency increases due to the complexity of coordination and redundancy operations
Solution Approach 1:
The patent introduces NVRAM devices as intermediary buffer storage between the storage array controllers and the actual storage drives. During recovery operations, NVRAM temporarily holds data that needs to be rewritten, allowing controllers to maintain data consistency without immediately writing to slow storage drives. This intermediary layer reduces write latency while preserving data integrity through the buffer mechanism.
Solution Approach 2:
The system performs preliminary actions by pre-positioning data in NVRAM buffers before recovery operations are needed. When a controller fails and recovery is required, the data is already prepared in the NVRAM buffer, allowing rapid recovery without the time penalty of reading from slow storage drives first. This preliminary positioning of data reduces write latency during critical recovery operations.
2Reliability
If multiple storage array controllers with primary and secondary status are used, then data integrity during recovery is improved, but device complexity increases
Solution Approach 1:
The patent implements a copying mechanism where the secondary controller maintains a copy of the primary controller's state and data in NVRAM. During failover, the secondary controller can immediately assume the primary role with its pre-copied data, ensuring data integrity without complex real-time synchronization protocols. This copying approach simplifies the overall system architecture compared to continuous synchronization mechanisms.
Solution Approach 2:
The system employs beforehand cushioning by maintaining NVRAM buffers that are pre-filled with data before failures occur. These buffers act as a cushion that protects against data loss during controller failures, allowing seamless failover without complex recovery procedures. The pre-positioned data in NVRAM cushions the impact of controller failures and simplifies the failover process.
3Loss of time
If NVRAM is used as a buffer for recovery operations, then write latency is reduced, but device complexity increases due to additional hardware components
Solution Approach 1:
The NVRAM devices in the patent serve multiple functions: they act as cache during normal operations, as recovery buffer during failover, and as a state replication medium between controllers. This multi-functionality justifies the added hardware complexity by providing significant performance benefits across multiple operational scenarios, particularly reducing write latency during recovery operations while also improving normal write performance through caching.
Data Source
AI summary
Servicing I/O operations in a cloud-based storage system, including: receiving, by the cloud-based storage system, a request to write data to the cloud-based storage system; storing, in solid-state storage of the cloud-based storage system, the data; storing, in object storage of the cloud-based storage system, the data; detecting that at least some portion of the solid-state storage of the cloud-based storage system has become unavailable; identifying data that was stored in the portion of the solid-state storage of the cloud-based storage system that has become unavailable; retrieving, from object storage of the cloud-based storage system, the data that was stored in the portion of the solid-state storage of the cloud-based storage system that has become unavailable; and storing, in solid-state storage of the cloud-based storage system, the retrieved data.


