File System Free Block Windows for Storage Fragmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In data storage systems, the fragmentation of storage leads to performance bottlenecks due to the lack of contiguous free block sets, which hinders efficient allocation of storage for file systems, especially in systems using thin or virtually provisioned LUNs where physical storage is not fully backed by capacity.

Innovation Solution

A method is introduced to create windows of free blocks in a file system by selecting slices based on trigger conditions and relocating data from partially free windows to target locations, ensuring that the selected slices meet specific criteria such as low allocation reference cursor presence, low consumption of file system blocks, and sufficient free blocks, thereby freeing up contiguous areas for future allocations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If data is continuously allocated in storage devices, then storage capacity is fully utilized, but storage fragmentation increases and performance deteriorates

Engineering Contradiction:
Improvestorage capacity utilizationVSAvoidstorage allocation performance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The system proactively creates windows of free blocks before they are completely consumed by allocating a portion of the window as a reserve. This preliminary action prevents future fragmentation by ensuring contiguous free space is available before allocation requests arrive, thereby maintaining both high storage utilization and good allocation performance

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically adjusts the size of free block reserves in windows based on allocation patterns and fragmentation levels. By changing the parameter of reserve block quantity, the system optimizes the balance between maintaining performance (through adequate reserves) and maximizing utilization (by not over-reserving), resolving the contradiction between capacity utilization and allocation speed

Inventive Principle:
Principle #35Parameter changes

2Quantity of substance

If thin provisioning is used to increase storage efficiency, then physical storage capacity is optimized, but the lack of contiguous free blocks hinders efficient allocation

Engineering Contradiction:
Improvephysical storage efficiencyVSAvoidstorage allocation ease
Core Design Contradiction:
Quantity of substanceVSEase of operation

Solution Approach 1:

The storage space is divided into multiple windows, each containing a portion of free blocks reserved for future allocations. This segmentation allows the system to maintain thin provisioning efficiency while ensuring each window has sufficient contiguous free space for efficient allocation operations, thereby resolving the contradiction between physical storage efficiency and allocation ease

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The window reserve structure acts as an intermediary between the thin provisioning system and allocation requests. By maintaining reserved free blocks within windows, this intermediary layer enables efficient contiguous block allocation without requiring full physical provisioning, thus bridging the gap between storage efficiency and allocation ease

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If storage blocks are relocated to create free windows, then contiguous free block sets are created, but processing time and system resources are consumed

Engineering Contradiction:
Improvestorage allocation efficiencyVSAvoidblock relocation processing time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

Instead of relocating blocks to create entirely free windows, the system performs partial action by creating only a portion of free blocks (a reserve) within each window. This partial action is sufficient to enable efficient allocation without the excessive time cost of completely clearing windows, thus resolving the contradiction between allocation efficiency and processing time

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The window reserve structure serves multiple functions simultaneously: it provides contiguous free space for efficient allocation, acts as a buffer against future fragmentation, and enables thin provisioning to work effectively. This multi-functionality achieves storage allocation efficiency without requiring extensive block relocation operations

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS9841901B1Techniques for creating windows of free blocks in a file system in accordance with trigger conditions, slice selection criteria and termination criteria
Publication Date: 2017.12.12 EMC IP HLDG CO LLC
  • US9841901B1 patent drawing
  • US9841901B1 patent drawing
  • US9841901B1 patent drawing

AI summary

Described are techniques for creating windows of free blocks in a file system selected in accordance with trigger conditions. A first slice is selected, in accordance with slice selection criteria, from a plurality of slices of storage provisioned for use by the file system. First processing is performed on the first slice that creates at least one window of free blocks in the first slice for use by the file system. It is determined, in accordance with termination criteria, whether to process one or more additional slices of the file system to create additional windows of free blocks for use by the file system. Such processing to create free windows may be subject to various limits of resource consumption.