Thin-Provisioned Block Storage with Dynamic Extent Groups
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional RAID-based storage systems face challenges such as the need for immediate disk replacement upon failure, vulnerability during data reconstruction, inflexibility in disk utilization, and susceptibility to additional failures during recovery, as well as issues with power failures affecting data integrity.
Innovation Solution
A multi-node storage system that divides physical storage into extents, which are allocated on demand to protection classes as thin-provisioned storage, providing redundant management information and using journaling with parity or protection information to ensure data integrity and recovery.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If conventional RAID groups are used for data protection, then data protection is provided, but the system becomes inflexible and disks cannot be dynamically allocated to different protection levels
Solution Approach 1:
The storage system divides physical disks into individual extents and organizes them into flexible extent groups that can be dynamically allocated to different protection classes. Each extent can be independently managed and assigned to different protection levels based on实际需求, eliminating the rigid RAID group structure while maintaining data protection capabilities.
Solution Approach 2:
The system creates a universal storage pool where extents from multiple disks can be dynamically assembled into extent groups with different protection characteristics. A single physical disk can contribute extents to multiple different protection classes simultaneously, making the storage system highly adaptable to various protection requirements without requiring dedicated RAID groups for each scenario.
2Productivity
If hot spares are provided for immediate disk replacement, then disk failure response is improved, but storage capacity is reduced due to idle disks
Solution Approach 1:
The system automatically detects disk failures and initiates reconstruction processes without requiring manual intervention or dedicated hot spare disks. When a disk fails, the system identifies affected extents and redistributes their data to surviving disks within the same extent group, enabling self-healing functionality that eliminates the need for idle hot spare capacity.
Solution Approach 2:
Instead of maintaining dedicated hot spare disks that sit idle until needed, the system dynamically recovers from failures by redistributing data from failed extents to available extents in the storage pool. This approach discards the unnecessary idle capacity requirement and recovers storage capacity for productive use while still providing rapid failure response through automated reconstruction.
3Ease of manufacture
If all disks in a RAID group are dedicated to a single protection level, then data protection is simplified, but storage utilization becomes inefficient
Solution Approach 1:
The system transitions from static RAID groups with fixed protection levels to dynamic extent groups that can be flexibly configured. Extents can be dynamically allocated to different protection classes based on actual storage needs, allowing the system to optimize storage utilization while maintaining manageable protection configurations through automated extent group formation and management.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
In some examples, a multi-node system may access physical storage divided into extents and further arranged into extent groups that may be allocated on demand as thin provisioned storage in response to write requests. Protection class instances are set with specified data protection capabilities. Each instance acts as a logical unit having a distinct addressable block storage space from the extent groups allocated thereto. The extents in an extent group to be allocated to a given protection class instance may vary depending on the protection class capabilities. Management information for the extents, extent groups, and protection classes may be stored in mirrored devices separate from the write data stored in the extents for providing redundant protection to the management information and for increasing the availability of write data in the event of a failure that may cause data loss at one or more locations in the system.