Scalable Declustered Layout for Balanced Storage Reconstruction Load
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional techniques for balancing reconstruction load across disks in storage arrays face challenges, particularly when modifying the array configuration, such as adding disks or rebalancing storage resources, as they require uniform stripe widths and RAID schemes, leading to inefficiencies in I/O load distribution and recovery times.
Innovation Solution
A scalable declustered layout is implemented by sequentially selecting and allocating chunks of a new parity group across disks based on current load, ensuring balanced chunk and total share loads, allowing for different stripe widths and RAID schemes, thereby optimizing reconstruction load distribution.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If conventional techniques are used to balance reconstruction load, then uniform stripe widths and RAID schemes are maintained, but I/O load distribution becomes inefficient and recovery times increase
Solution Approach 1:
The patent implements dynamic load balancing by sequentially selecting disks for chunk allocation based on current load conditions rather than using static uniform distribution. The system evaluates chunk load and total share load metrics in real-time during the allocation process, allowing the reconstruction load to be dynamically balanced across disks with varying capacities and performance characteristics.
Solution Approach 2:
The patent changes the parameters of stripe width and RAID scheme configuration to optimize reconstruction load distribution. By allowing different stripe widths and RAID schemes across different parity groups, the system can adapt parameters to match specific disk characteristics and performance requirements, thereby improving both recovery time and I/O load distribution efficiency.
2Adaptability or versatility
If uniform stripe widths and RAID schemes are enforced, then array configuration simplicity is maintained, but adaptability during array modifications decreases
Solution Approach 1:
The patent segments the storage array into multiple parity groups, each capable of having different stripe widths and RAID schemes. This segmentation allows individual parity groups to be configured independently according to specific requirements, enabling the array to adapt to modifications such as adding disks with different capacities or performance characteristics without requiring uniform configuration across the entire array.
Solution Approach 2:
The patent creates a universal framework that supports multiple RAID schemes and stripe widths within a single array. The system can accommodate different disk types, capacities, and performance characteristics by assigning appropriate RAID configurations to different parity groups, making the array versatile and adaptable to various modification scenarios while maintaining manageable complexity through automated load balancing.
3Productivity
If sequential chunk allocation based on current load is implemented, then reconstruction load is balanced across disks, but allocation complexity increases
Solution Approach 1:
The patent implements a self-service allocation mechanism where the system automatically evaluates chunk load and total share load metrics and makes allocation decisions without requiring complex external control. The sequential selection process inherently balances the load by choosing the disk with the minimum current load for each chunk, creating a self-regulating system that achieves balanced reconstruction load distribution through simple, repeatable allocation rules.
Data Source
AI summary
Embodiments of the present invention provide a method and system, in a network storage system, for producing a balanced reconstruction load across storage devices (disks) in a storage array (array) using a scalable declustered layout. A scalable declustered layout is a logical configuration of parity groups across storage units (disk segments) which spread the chunk load and total share load of parity groups across disks in the array. Creation of a scalable declustered layout is achieved by sequentially selecting and allocating each chunk of a new (prospective) parity group according to the then-current load on each disk. The scalable declustered layout is then implemented on the disks to produce a balanced reconstruction load across disks when recovering from a disk failure.


