Allocation Groups for Uniform Load Distribution in Sliced Disk RAID
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In parity de-clustered and sliced disk RAID architecture, achieving uniform load distribution and maximizing parallelization is challenging due to random selection of parity groups leading to uneven disk utilization and failure to span all disks, resulting in inefficient use of disk spindles.
Innovation Solution
The creation of allocation groups, each comprising multiple parity groups within a sliced disk group, allows for concurrent writes or reads across all parity groups, ensuring even load distribution and utilization of all disk spindles by selecting groups based on similarity of physical properties and available space, using a derived 'SDG_rows_per_AG' value to associate parity groups effectively.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If random selection of parity groups is used, then simplicity of operation is maintained, but uniform load distribution and parallelization are degraded
Solution Approach 1:
The system segments the sliced disk group into multiple allocation groups, where each allocation group contains a specific subset of parity groups. This segmentation allows the system to manage and select from organized subsets rather than randomly selecting from all parity groups, improving load distribution while maintaining operational simplicity through structured organization.
Solution Approach 2:
The system performs preliminary organization of parity groups into allocation groups based on disk spindle ownership patterns. By pre-organizing parity groups into allocation groups where each allocation group collectively owns all disk spindles, the system eliminates the need for complex runtime decisions about load distribution, achieving both simplicity and efficiency.
2Reliability
If a single parity group spans all disks, then fault tolerance is improved, but load distribution uniformity deteriorates
Solution Approach 1:
The system divides the single large parity group concept into multiple smaller allocation groups. Each allocation group contains multiple parity groups that collectively provide fault tolerance for their specific data, while the collection of all allocation groups provides system-wide fault tolerance. This segmentation allows uniform load distribution across all disks while maintaining comprehensive fault tolerance.
Solution Approach 2:
The system introduces a new organizational dimension by creating allocation groups as an intermediate layer between individual parity groups and the overall RAID system. This dimensional change allows the system to achieve both local fault tolerance (within each allocation group) and global fault tolerance (across all allocation groups) while ensuring uniform load distribution.
3Productivity
If parity groups share disks, then storage efficiency is improved, but independence for parallel operations is reduced
Solution Approach 1:
The system segments the shared disk resources into distinct allocation groups, where each allocation group has exclusive ownership of specific disk spindles. This segmentation allows parity groups within the same allocation group to operate independently and in parallel without interfering with each other, while still maintaining storage efficiency through the sliced disk architecture that allows multiple allocation groups to utilize the same physical disks at different slices.
Data Source
AI summary
Presented herein are methods, non-transitory computer readable media, and devices for maximizing parallelization in a parity de-clustered and sliced disk RAID architecture implemented on at least one hard disk drive by creating at least one allocation group, each created allocation group comprising at least one parity group within a sliced disk group, selecting one of said at least one allocation group, and performing at least one of write or read concurrently on all parity groups within the selected allocation group.


