Storage Controller Journaling Copy Relocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In distributed scale-out storage systems, maintaining redundancy and high availability of journaling data is challenging due to component failures, leading to data corruption and inconsistencies, particularly in user and memory resource management sides.
Innovation Solution
An apparatus and method for managing and relocating memory chunk copies across servers, involving a storage controller that monitors server failures, marks invalid copies, identifies new storage locations, and communicates with client devices to ensure up-to-date versions are stored, utilizing non-volatile memory and content addressable storage systems.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If memory chunk copies are stored on multiple servers for redundancy, then reliability is improved, but device complexity increases due to coordination and validation requirements
Solution Approach 1:
The storage controller continuously monitors server health status and receives notifications when servers become unavailable. This feedback mechanism enables automatic detection of failed memory chunk copies and triggers validation processes to identify and relocate copies to operational servers, maintaining redundancy without manual intervention
Solution Approach 2:
The system performs automatic validation of memory chunk copies on operational servers and self-manages the relocation process when failures are detected. The storage controller independently coordinates with client devices to generate and store new copies, eliminating the need for external management of the redundancy maintenance process
2Reliability
If the storage controller continuously monitors all servers for failures, then reliability is improved, but use of energy increases
Solution Approach 1:
Instead of continuous monitoring, the storage controller uses periodic health checks combined with event-driven notifications. The system monitors servers at intervals and also responds to failure events when they occur, reducing overall monitoring activity while maintaining reliable detection of server failures
Solution Approach 2:
Servers or client devices automatically notify the storage controller when failures occur, eliminating the need for the controller to continuously poll all servers. This event-driven approach significantly reduces the energy required for monitoring while ensuring timely detection of failures
3Quantity of substance
If multiple copies of memory portions are maintained across servers, then data retention is improved, but loss of information increases due to potential inconsistencies
Solution Approach 1:
Before marking a memory chunk copy as invalid, the storage controller validates the copy on operational servers to ensure it is current and consistent. This preliminary validation prevents propagation of inconsistent data and ensures that only verified good copies are used for replacement
Solution Approach 2:
The system creates new copies of memory chunks from validated sources on operational servers. By copying from verified good copies rather than potentially corrupted originals, the system maintains data consistency across multiple replicas while ensuring data retention through redundancy
Data Source
AI summary
A storage system in one embodiment comprises a storage controller and a plurality of storage devices comprising a plurality of memory portions. The storage controller is configured to monitor a plurality of servers for a failure event. The servers store a plurality of copies of the memory portions. The storage controller is further configured to mark as invalid a copy of a memory portion on a failed server, search for and identify a location on an operational server for storing a new version of the copy, and communicate the copy invalidity and the identified location to a client device using the memory portion. The client device is configured to generate the new version of the copy for storage on the operational server, and the storage controller receives a notification from the client device regarding whether the new version of the copy was generated and stored on the operational server.


