File System Free Space Coalescing for Full-Stripe Writes
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Data storage systems face inefficiencies in disk utilization due to the rapid consumption of contiguous free space needed for full-stripe writes, leading to a fall-back on conventional allocation schemes that do not optimize for full-stripe writes, resulting in lower efficiency.
Innovation Solution
The technique involves relocating allocated blocks within a range of a physical address space to create contiguous free space equal to the length of one or more full stripes of a RAID group, allowing for efficient full-stripe writes by arranging data in contiguous blocks and performing full-stripe writes to the RAID group.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If data is allocated at diverse physical addresses to avoid hot spots and promote contiguous writes of other data, then data distribution is improved, but contiguous free space ranges are quickly consumed
Solution Approach 1:
The patent segments the physical address space into multiple allocation zones or pools. By dividing the contiguous space into segments, the system can allocate data to diverse physical addresses within each zone while preserving larger contiguous free space ranges across zones, thus maintaining both good data distribution and availability of contiguous space for full-stripe writes.
Solution Approach 2:
The patent introduces an additional dimension to space management by organizing free space not just linearly but in a multi-dimensional structure (e.g., using allocation zones, pools, or hierarchical organization). This allows the system to provide diverse physical addresses for allocation while maintaining contiguous free space in different dimensions, resolving the contradiction between dispersion and contiguity.
2Device complexity
If conventional allocation schemes are used when contiguous free space is exhausted, then allocation simplicity is maintained, but full-stripe write efficiency is reduced
Solution Approach 1:
The patent performs preliminary actions by proactively managing and preserving contiguous free space ranges before they are needed for full-stripe writes. The system monitors free space and performs pre-allocation or space consolidation operations to ensure contiguous ranges are available when full-stripe writes are required, thus maintaining write efficiency without switching to conventional schemes.
Solution Approach 2:
The patent implements a dynamic allocation strategy that adapts between different allocation modes. When contiguous free space is available, the system uses optimized allocation for full-stripe writes; when space becomes fragmented, it dynamically switches to conventional allocation while triggering space consolidation operations to restore contiguous free space, thus maintaining both simplicity and efficiency.
3Productivity
If full-stripe writes are performed continuously, then disk utilization is optimized, but contiguous free space is rapidly consumed
Solution Approach 1:
The patent ensures continuity of useful action by maintaining a pipeline of contiguous free space ranges that are ready for full-stripe writes. Through background space management operations and proactive allocation strategies, the system keeps the full-stripe write capability continuously available without interruption, thus maintaining optimized disk utilization while preventing rapid exhaustion of contiguous space.
Solution Approach 2:
The patent implements a recycle mechanism where allocated space is systematically recovered and consolidated back into contiguous free space ranges. By discarding fragmented allocations and recovering space through consolidation operations, the system replenishes contiguous free space after full-stripe writes, enabling sustained high disk utilization without rapid space exhaustion.
Data Source
AI summary
An improved technique for managing data storage includes relocating allocated blocks within a range of a physical address space of a file system to free the allocated blocks. The range has a length equal to a length of one or more full stripes of a RAID group that stores content of the file system. In response to receiving data to be written to the file system, the file system arranges the data in the range of contiguous blocks and performs one or more full-stripe writes to write the data to the RAID group.


