File System Block Allocation Policy for Storage Fault Tolerance

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveease of file system implementationVSAvoiddata storage availability
Core Design Contradiction:
Ease of operationVSReliability

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #15Dynamics

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

Engineering Contradiction:
Improvedata storage availabilityVSAvoidfile system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improveallocation speedVSAvoidallocation flexibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

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.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS7899989B2Method and system for using a block allocation policy
Publication Date: 2011.03.01 ORACLE AMERICAN INC
  • US7899989B2 patent drawing
  • US7899989B2 patent drawing
  • US7899989B2 patent drawing

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.