Storage Pool Block Reallocation via Indirection Mapping
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing file systems face challenges in efficiently reallocating blocks within a storage pool without disrupting data integrity and system performance, particularly when removing disks from the pool, as they lack efficient mechanisms for mapping and redirecting block locations.
Innovation Solution
The method involves copying source blocks to replacement blocks on other disks within the storage pool and generating an indirection object that maps source block locations to replacement block locations, allowing for transparent access and minimizing computational overhead.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If blocks are copied from source disk to replacement disks when removing a disk from storage pool, then data integrity is maintained and disk removal is enabled, but computational overhead and time for data migration increase
Solution Approach 1:
The system performs preliminary actions by creating replacement blocks and copying data before the source disk is fully removed from the storage pool. The file system proactively migrates data from disks marked for removal to replacement disks, ensuring data integrity is maintained before the physical disk is detached, thus reducing the time loss associated with emergency data recovery operations.
Solution Approach 2:
The patent implements a copying mechanism where data blocks are duplicated from source disks to replacement disks within the storage pool. This copying process ensures that redundant copies of data exist on multiple disks, allowing the system to maintain data integrity while enabling the removal of source disks. The copy operation is performed systematically to minimize disruption to system operations.
2Ease of operation
If an indirection object is generated to map source block locations to replacement block locations, then block access transparency is achieved, but memory usage and system complexity increase
Solution Approach 1:
The patent introduces an indirection object as an intermediary data structure that maps logical block addresses to physical block locations on replacement disks. This intermediary layer transparently handles the complexity of data migration by intercepting block access requests, resolving the mapping between source and replacement block locations, and redirecting accesses without requiring changes to application software or file system interfaces.
Solution Approach 2:
The patent extracts the location mapping functionality from the core file system operations into a separate indirection object. This extraction isolates the complexity of tracking block locations across disk migrations into a dedicated data structure, allowing the rest of the file system to operate with simplified assumptions about block location stability while the indirection object handles the complexity of dynamic relocation.
3Adaptability or versatility
If dynamic storage capacity adjustments are enabled through block reallocation, then storage flexibility is improved, but computational overhead for managing block mappings increases
Solution Approach 1:
The patent implements dynamic block reallocation where the indirection object and block mappings are updated in real-time as disks are added or removed from the storage pool. This dynamic approach allows the storage system to adapt its capacity and configuration without requiring complete system reconfiguration or data migration, enabling flexible storage capacity adjustments while managing computational overhead through incremental updates to mapping structures.
Data Source
AI summary
A method for reallocating blocks in a storage pool involves copying multiple source blocks to multiple replacement blocks, where the source blocks are stored on a source disk in the storage pool, and where the replacement blocks are stored on one or more replacement disks in the storage pool, and generating an indirection object, where the indirection object includes a mapping of locations of the source blocks to locations of the replacement blocks.


