Storage Slice Reclamation via Historical Block Usage Analysis
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current slice-based storage management systems face inefficiencies in provisioning and reclamation, leading to unnecessary allocation and evacuation of storage slices, which consume resources and impact performance due to frequent internal IO operations during snapshot creation and deletion.
Innovation Solution
The method identifies historical block usage in slices for a user to determine which slices to keep or evacuate, predicting required allocations based on past usage patterns to minimize unnecessary slice reclamation and allocation, thereby optimizing resource usage and reducing internal IO overhead.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If slice-based storage management systems perform frequent snapshot creation and deletion, then storage flexibility and adaptability are improved, but resource consumption increases and disk endurance deteriorates due to unnecessary internal IO operations
Solution Approach 1:
The system performs preliminary analysis of historical block usage patterns before executing snapshot operations. By predicting future block usage based on historical data, the system proactively identifies slices that should be preserved, preventing unnecessary evacuation and reclamation operations before they occur.
Solution Approach 2:
The system continuously monitors and analyzes historical block usage patterns, using this feedback to optimize snapshot creation and deletion operations. The feedback loop enables the system to learn from past operations and adjust future behavior to minimize unnecessary internal IO while maintaining storage flexibility.
2Adaptability or versatility
If slice-based storage management systems perform frequent snapshot creation and deletion, then storage adaptability is improved, but customer IO performance deteriorates due to unnecessary internal IO operations
Solution Approach 1:
The system performs preliminary analysis of historical block usage patterns before executing snapshot operations. By predicting future block usage based on historical data, the system proactively identifies slices that should be preserved, preventing unnecessary evacuation and reclamation operations before they occur.
Solution Approach 2:
The system continuously monitors and analyzes historical block usage patterns, using this feedback to optimize snapshot creation and deletion operations. The feedback loop enables the system to learn from past operations and adjust future behavior to minimize unnecessary internal IO while maintaining storage flexibility.
3Productivity
If slice-based storage management systems evacuate slices during reclamation, then storage space is reclaimed for reallocation, but disk endurance deteriorates due to increased internal IO operations
Solution Approach 1:
The system performs preliminary analysis of historical block usage patterns before executing snapshot operations. By predicting future block usage based on historical data, the system proactively identifies slices that should be preserved, preventing unnecessary evacuation and reclamation operations before they occur.
Solution Approach 2:
The system selectively discards only those slices that are confirmed to be unused based on historical analysis, while preserving slices that are likely to be needed. This selective approach recovers storage space more efficiently while minimizing unnecessary disk operations that would harm disk endurance.
Data Source
AI summary
A method, computer program product, and computer system for identifying, by a computing device, historical block usage in a plurality of slices for a user. At least a portion of the plurality of slices to keep during an evacuation process for the plurality of slices may be determined. At least the portion of the plurality of slices may be excluded from the evacuation process for the plurality of slices based upon, at least in part, the historical block usage in the plurality of slices for the user.


