Storage Server Recovery Sequence Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
As the number of bits stored in each memory cell increases in nonvolatile memory devices, the probability of data errors also increases, leading to performance reduction in storage server systems due to the need for frequent recovery operations.
Innovation Solution
A storage server system with a recovery manager that groups virtual machines based on workload characteristics, collects recovery information from storage devices, and generates a recovery sequence table to optimize recovery operations, providing an optimal recovery sequence to storage devices allocated to new virtual machines.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If the number of bits stored in each memory cell is increased, then the storage capacity is improved, but the probability of data errors increases
Solution Approach 1:
The system performs preliminary actions by pre-determining recovery sequences based on virtual machine workload characteristics and storage device attributes before errors occur. The recovery sequence table is generated in advance, so when errors do occur, the system can immediately execute the pre-planned recovery sequence without delay, thus maintaining high storage capacity while managing error risks proactively.
2Reliability
If recovery operations are performed frequently to guarantee data integrity, then data reliability is improved, but system performance deteriorates
Solution Approach 1:
The system applies local quality by tailoring recovery sequences to specific local conditions - different virtual machines with different workload characteristics receive different recovery sequences. The system analyzes individual VM attributes (read-intensive, write-intensive, random access patterns) and assigns optimized recovery sequences accordingly, rather than applying a uniform recovery strategy across all storage devices, thus maintaining data integrity while minimizing performance impact.
Solution Approach 2:
The system changes parameters by dynamically adjusting recovery sequences based on varying workload characteristics and storage device attributes. The recovery sequence table generator creates different recovery sequences for different scenarios (e.g., sequential access vs. random access workloads), and the allocator selects the appropriate sequence based on current system conditions, optimizing the balance between data integrity and performance.
3Device complexity
If a uniform recovery sequence is applied to all storage devices, then device complexity is reduced, but adaptability to different workloads deteriorates
Solution Approach 1:
The system segments the recovery sequence management into distinct functional components: a recovery sequence table generator that creates sequences based on workload characteristics, and a recovery sequence allocator that assigns them to specific storage devices. This segmentation allows complex adaptive recovery strategies to be implemented through modular components rather than a monolithic system, maintaining manageability while achieving high adaptability to different workloads.
Data Source
Figure 1
Figure 2A
Figure 2B
AI summary
A method of operating a storage server which includes a plurality of storage devices and a storage node configured to control the plurality of storage devices is provided. The method includes grouping first virtual machines based on workload characteristics of the first virtual machines, to generate a virtual machine group table; receiving, from first storage devices, attribute information of the first storage devices, the first storage devices being allocated to the first virtual machines; collecting recovery information from the first storage devices; generating a recovery sequence table by determining recovery sequences based on the virtual machine group table, the attribute information, and the recovery information; and providing a corresponding recovery sequence to a second storage device of the plurality of storage devices, based on the recovery sequence table, the second storage device being allocated to a new second virtual machine different from the first virtual machines.