Recovering Trapped Storage Space in Extent Store via Dense Tree Merge
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Storage systems face the challenge of recovering trapped storage space due to overlapping write requests, which results in logical overwrites that render portions of data inaccessible, leading to storage space being locked up and unavailable for use.
Innovation Solution
The implementation of a multi-level dense tree metadata structure within the storage I/O stack, which processes volume metadata entries during merge operations to identify and recover trapped space by performing read-modify-write operations on partially overwritten extents, thereby freeing up storage space through out-of-band processing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a storage system uses metadata entries to map LUN offsets to data locations and processes overlapping write requests by creating new metadata entries, then data overwrite operations are handled correctly, but storage space becomes trapped and inaccessible
Solution Approach 1:
The system performs preliminary actions by creating a new metadata entry before the old one is fully processed. When an overlapping write request is detected, a new metadata entry is created to map the overlapping LUN offset range to the new data location, and the old metadata entry is updated to cover only non-overlapping portions. This preliminary creation of the new entry prevents the trap of storing space but ensures data integrity is maintained.
Solution Approach 2:
The metadata entry is segmented into overlapping and non-overlapping portions. The LUN offset range is divided such that the overlapping portion is handled by the new metadata entry while the non-overlapping portions remain with the old entry. This segmentation allows the system to manage space efficiently by only updating the necessary portions of the metadata.
2Ease of operation
If the storage system creates new metadata entries for overlapping write requests, then data accessibility is maintained, but storage space is locked up and unavailable
Solution Approach 1:
The system discards the old metadata entry that caused the space trap and recovers the trapped storage space by updating the metadata structure. When the new metadata entry is created for overlapping data, the system updates the old entry to remove the overlapping portion, thereby recovering the previously trapped space for reuse.
Solution Approach 2:
The system uses feedback from the write request processing to update metadata entries. After creating a new metadata entry for overlapping data, the system feedbacks by updating the old metadata entry to reflect the actual accessible portions, which triggers the recovery of trapped space through the metadata structure updates.
3Reliability
If metadata entries are updated to cover non-overlapping portions, then data integrity is preserved, but storage space recovery is delayed
Solution Approach 1:
The system performs preliminary updates to the metadata structure during the write request processing. By creating the new metadata entry and updating the old entry's non-overlapping portions during the initial write operation, the system prepares the metadata structure in advance, reducing the time needed for subsequent space recovery operations.
Solution Approach 2:
The metadata update process continues seamlessly during the write request handling. The system continuously updates the metadata entries to reflect the current state of data locations, ensuring that space recovery is an ongoing process rather than a separate delayed operation, thus maintaining data integrity while accelerating space recovery.
Data Source
AI summary
A technique enables recovery of storage space trapped in an extent store from overlapping write requests associated with metadata describing volume logical storage addresses for data in the extent store. The metadata is organized as metadata entries in a multi-level dense tree metadata structure. When a level of the dense tree is full, the metadata entries of the level are merged with a next lower level of the dense tree in accordance with a dense tree merge operation. The technique may be invoked during the merge operation to process the metadata entries associated with the overlapping write requests involved in the merge operation. Processing of the overlapping write requests during the merge operation may partially overwrite extents which, in turn, may result in logical storage space being trapped in the extent store. The technique may perform read-modify-write (RMW) operations on the partially overwritten extents to recapture that trapped space.


