File System Allocation Windows for Parallel Data Object Modifications

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current file system techniques perform data object modifications in a serial manner, which is less than ideal, especially when multiple applications require frequent allocations, leading to inefficiencies such as interleaving and fragmentation, particularly in devices like DVRs recording multiple video streams.

Innovation Solution

The techniques involve logically partitioning the allocation mapping structure into windows, allowing multiple data objects to be modified in parallel by locking and unlocking windows assigned to each data object, enabling concurrent allocation and deallocation operations without serial dependency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If serial modification of data objects is used, then data consistency is maintained, but processing speed and productivity deteriorate

Engineering Contradiction:
Improveprocessing speedVSAvoidtime for modifications
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The allocation mapping structure is divided into multiple windows, each window representing a segment that can be independently locked and modified. This segmentation allows parallel processing of multiple data objects by assigning each to a different window, thereby improving productivity while maintaining data consistency within each window segment.

Inventive Principle:
Principle #1Segmentation

2Productivity

If parallel modification of multiple data objects is implemented, then productivity improves, but system complexity increases

Engineering Contradiction:
Improveparallel processing capabilityVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

By dividing the allocation mapping structure into discrete windows, the system enables parallel processing through simple lock/unlock mechanisms on individual windows. This segmentation approach increases productivity while keeping the implementation relatively simple, as each window can be managed independently without requiring complex coordination between multiple data objects.

Inventive Principle:
Principle #1Segmentation

3Productivity

If frequent allocations are performed, then data object updates are achieved, but interleaving and fragmentation occur

Engineering Contradiction:
Improveallocation efficiencyVSAvoiddata object integrity
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The window-based segmentation isolates allocation operations within specific windows, preventing interleaving between different data objects. Each data object is assigned to a specific window, ensuring that allocations for one object cannot interfere with another, thereby maintaining data object integrity while allowing frequent allocations to proceed efficiently in parallel.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Data objects are pre-assigned to specific windows before allocation operations begin. This preliminary assignment ensures that subsequent frequent allocations occur within predetermined boundaries, preventing fragmentation and interleaving while maintaining high allocation efficiency through parallel processing.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP3436990B1Systems and methods for enabling modifications of multiple data objects within a file system volume
Publication Date: 2020.11.11 TUXERA
  • EP3436990B1 patent drawingFigure 1
  • EP3436990B1 patent drawingFigure 2
  • EP3436990B1 patent drawingFigure 3

AI summary

A device may be configured to perform techniques that enable may be used to allocate allocation units within a file system volume to data objects in a parallel manner. A file system driver may be configured to perform allocation operations based on an allocation mapping structure being logically partitioned into one or more of windows. Each window may be able to be lock independently during allocation operations. Window metadata may be used to evaluate windows of an allocation mapping structure.