Pool Storage Reclamation via Hint-Triggered Slice Evacuation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In data storage systems, allocated storage space often goes unused due to the provision of larger-than-needed initial allocations, leading to inefficient use of resources, as unused slices in sparsely populated logical units (LUs) cannot be easily returned to the common storage pool for other users.
Innovation Solution
A system and method for triggering and coordinating pool storage reclamation, utilizing a hint mechanism to detect data storage optimization operations and an evacuation module to compute unused space, transfer data, and remove unused slices from allocated storage space to the common pool, allowing them to be reallocated to other LUs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If storage space is fully provisioned and allocated to an operating system or application, then the storage space is available for use by the requested user, but the storage space remains unused and unavailable for other users
Solution Approach 1:
The system dynamically monitors usage of allocated storage slices and automatically triggers reclamation operations when slices become unused. The evacuation module continuously adapts storage allocation based on real-time usage patterns, converting static allocations into dynamic, on-demand assignments that improve overall utilization while maintaining availability.
Solution Approach 2:
The hint mechanism establishes a feedback loop by detecting when storage optimization operations create unused slices and triggering reclamation. This feedback system continuously monitors storage state and automatically responds to usage changes, ensuring that allocated space is reclaimed and reallocated efficiently without manual intervention.
2Productivity
If data storage optimization operations are applied to a logical unit, then storage space is freed within the LU, but the unused allocated slices cannot be returned to the common storage pool
Solution Approach 1:
The evacuation module serves as an intermediary between storage optimization operations and the common storage pool. It detects unused slices through the hint mechanism and facilitates their return to the pool, bridging the gap between LU-level optimization and pool-level resource management. This intermediary layer simplifies the overall system by automating the reclamation process.
Solution Approach 2:
The system implements self-service storage management by automatically detecting unused slices and reclaiming them without administrator intervention. The hint mechanism and evacuation module work autonomously to monitor, detect, and return unused slices to the common pool, reducing management complexity while improving storage efficiency.
3Adaptability or versatility
If a thin logical unit is created from a common pool with minimal physical space, then storage space is allocated on-demand, but unused allocated slices accumulate and cannot be reallocated
Solution Approach 1:
The system implements discarding and recovering by identifying unused allocated slices through the hint mechanism and automatically returning them to the common storage pool. This process recovers wasted storage capacity while maintaining the flexible on-demand allocation characteristics of thin LUs, allowing reclaimed space to be reallocated to other users as needed.
Solution Approach 2:
The evacuation module performs periodic reclamation operations to identify and return unused slices to the common pool. This periodic action ensures that accumulated unused space is systematically recovered and made available for reallocation, balancing flexible on-demand access with efficient resource utilization.
Data Source
AI summary
Systems, methods, and computer readable media for triggering and coordinating pool storage reclamation are disclosed. According to one example, the method includes receiving an issued hint triggered by the execution of a data storage optimization operation applied to a mapped logical unit (MLU), wherein the MLU is one of a plurality of MLUs residing in a storage array, and computing an unused portion amount of an allocated storage space in the MLU, wherein the allocated storage space comprises a plurality of slices. If the unused portion amount exceeds a predetermined threshold value, detecting at least one of the slices to be released from the allocated storage space. The method also includes transferring data contained in a detected slice to at least one of the remaining slices in the allocated storage space, and removing the detected slice from the allocated storage space in the MLU to a common storage pool in the storage array, wherein the removed slice is allocated to any one of the plurality of MLUs.


