Dynamic Storage Allocation for Virtually Provisioned Devices
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current data storage systems face challenges in dynamically allocating storage resources efficiently for virtually provisioned devices, particularly in selecting the appropriate storage tier based on workload metrics and activity levels, leading to suboptimal performance and resource utilization.
Innovation Solution
A method for dynamically allocating storage by receiving a write operation to a virtually provisioned device, determining unallocated physical storage, and allocating it from a suitable storage tier based on selection criteria that include workload metrics and activity levels, using metrics such as extent-level metrics, activity maps, and allocation policies to optimize storage allocation and potential data movement between tiers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If storage is allocated from a single storage tier, then allocation simplicity is maintained, but storage system performance and resource utilization deteriorate
Solution Approach 1:
The storage system is segmented into multiple storage tiers (e.g., high-performance SSD tier, standard HDD tier, archive tier). Each tier is independently managed with its own allocation policies, allowing the system to select appropriate tiers based on workload requirements rather than treating storage as a single homogeneous resource
Solution Approach 2:
The storage allocation system dynamically selects which storage tier to allocate from based on real-time workload metrics and activity levels. Allocation decisions are not static but adapt continuously to changing system conditions, optimizing performance while maintaining manageable complexity through automated tier selection
2Productivity
If storage allocation is based on comprehensive workload metrics and activity levels, then storage system performance is optimized, but allocation complexity and processing overhead increase
Solution Approach 1:
The storage allocation system monitors its own workload metrics and activity levels, and automatically makes allocation decisions without external intervention. The system self-adjusts by collecting performance data, evaluating it against predefined criteria, and autonomously selecting appropriate storage tiers, reducing the need for complex external management while improving allocation efficiency
Solution Approach 2:
The system continuously collects workload metrics and activity level feedback from the storage system, uses this feedback to inform allocation decisions, and adjusts future allocations based on the outcomes. This closed-loop feedback mechanism optimizes storage allocation efficiency while managing complexity through data-driven automated decision-making
3Speed
If physical storage is pre-allocated for virtually provisioned devices, then data access speed is improved, but storage resource utilization deteriorates
Solution Approach 1:
The system performs preliminary actions by pre-establishing the framework for rapid allocation and by pre-monitoring workload metrics. When data access is required, the system can quickly allocate storage from appropriate tiers based on pre-collected metrics, achieving fast access without requiring all storage to be pre-allocated and thus improving resource utilization
4Device complexity
If storage tiers are selected based on static allocation policies, then allocation simplicity is maintained, but adaptability to changing workload conditions deteriorates
Solution Approach 1:
The allocation system transitions from static policies to dynamic selection, where the chosen storage tier changes based on real-time workload metrics and activity levels. The system adapts to changing conditions by continuously evaluating current state against multiple tier options, maintaining simplicity through automated dynamic adjustment rather than complex static rule sets
Data Source
AI summary
A write operation writes first data to a target logical address range included in a first logical address range of a virtually provisioned device. It is determined that physical storage is not allocated for the target logical address range. First processing is performed to allocate a first portion of physical storage having a first corresponding logical address subrange that includes the target logical address range. The first portion is allocated from a physical device included in a first storage tier. The first processing includes selecting the first storage tier from multiple storage tiers in accordance with selection criteria including metrics characterizing an expected workload or level of activity for the first corresponding logical address subrange of the virtually provisioned device. Mapping information is updated to indicate that the first corresponding logical address subrange of the virtually provisioned device maps to the first portion of physical storage.


