File System Block Allocation Policy for Storage Fault Tolerance
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In computer systems, when a storage device fails, the file system lacks awareness of fault domains, leading to failed write operations as it cannot select an alternate location for data storage, due to its reliance on logical offsets and lack of access to block allocation maps.
Innovation Solution
A method and system that allow a file system to select a block allocation policy, obtain a list of free physical blocks, and allocate a physical block based on that policy for writing logical blocks, utilizing metadata and potentially latency information to optimize storage pool management.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If the file system uses logical offsets and relies on the volume manager for physical block management, then the system architecture is simplified and the file system is easier to implement, but the file system cannot select alternate locations for data storage when storage devices fail
Solution Approach 1:
The patent divides the block allocation functionality into separate policies: a first block allocation policy for metadata blocks and a second block allocation policy for data blocks. This segmentation allows the file system to independently manage allocation strategies for different block types, enabling fault-aware allocation for data blocks while maintaining simplicity for metadata management.
Solution Approach 2:
The patent implements dynamic block allocation policies that can adapt based on storage device status. When a storage device fails, the system dynamically switches to use remaining healthy storage devices for allocating data blocks, while metadata blocks continue to use the original allocation policy. This dynamic adaptation maintains reliability without requiring complete system redesign.
2Reliability
If the file system maintains a block allocation map and has access to physical block information, then the file system can select alternate locations for data storage, but the system complexity increases and the volume manager's abstraction is compromised
Solution Approach 1:
The patent introduces a block allocation policy as an intermediary layer between the file system and the volume manager. This policy receives allocation requests and determines whether to use the first policy (for metadata) or second policy (for data), without requiring the file system to directly manage physical block maps. The intermediary handles the complexity of fault-aware allocation while maintaining the volume manager's abstraction for general storage operations.
3Productivity
If the system uses a single block allocation policy for all blocks, then the allocation process is simpler and faster, but the system cannot optimize storage allocation based on different block types and failure scenarios
Solution Approach 1:
The patent implements dynamic policy selection where the system chooses between a first block allocation policy and a second block allocation policy based on the block type being allocated. Metadata blocks use the first policy for simplicity and speed, while data blocks use the second policy for fault awareness and flexibility. This dynamic approach maintains high productivity for metadata operations while providing adaptability for data storage resilience.
Data Source
AI summary
A method for writing a logical block into a storage pool includes receiving a request to write the logical block, selecting a block allocation policy, by a file system associated with the storage pool, from a set of allocation policies, obtaining a list of free physical blocks in the storage pool, allocating a physical block from the list of free physical blocks, based on the block allocation policy, and writing the logical block to the physical block.


