Extent-Level Shared Memory Tracking for Inode Update Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional file systems manage memory relocation inefficiently, especially when dealing with shared memory contents, as they lack a structured approach to update inode information across multiple files, leading to inefficiencies in maintaining and updating mapping information.

Innovation Solution

A new data structure focused on maintaining information at the extent level, rather than block level, is introduced to efficiently update file system inodes during memory relocation, using a Reference Count Tree (RCT) B-tree to track shared memory extents and update inodes accordingly.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional file systems manage memory relocation at block granularity, then individual block tracking is precise, but the overhead for updating inodes sharing memory contents becomes excessive and inefficient

Engineering Contradiction:
Improveinode update efficiencyVSAvoiddata structure complexity for tracking shared memory
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the memory management granularity from block-level to extent-level. By organizing shared memory tracking at the extent level rather than individual block level, the system reduces the number of tracking units when memory contents are shared among multiple files. This segmentation approach maintains precision where needed while reducing overall complexity and update overhead.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent merges multiple block-level tracking operations into a single extent-level operation. When memory contents are relocated, instead of updating each block reference separately across multiple inodes, the system performs a unified update at the extent level, combining multiple operations into one efficient process that reduces overhead.

Inventive Principle:
Principle #5Merging (Combining)

2Loss of time

If file systems track shared memory at block level, then detailed control over memory allocation is maintained, but the time required to update mapping information during relocation increases

Engineering Contradiction:
Improvetime for inode update during memory relocationVSAvoidgranularity of memory tracking
Core Design Contradiction:
Loss of timeVSMeasurement precision

Solution Approach 1:

The patent introduces dynamic granularity adjustment by using extent-level tracking that can adapt to different sharing scenarios. The system dynamically determines the appropriate level of tracking based on whether memory is shared and among how many files, switching between more coarse extent-level management for shared content and maintaining block-level precision when needed, thereby optimizing both time and precision.

Inventive Principle:
Principle #15Dynamics

3Productivity

If traditional data structures are used to maintain inode information, then implementation is straightforward, but efficiency in updating shared memory mappings is poor

Engineering Contradiction:
Improvespeed of shared memory relocation processingVSAvoidcomplexity of implementing new data structure
Core Design Contradiction:
ProductivityVSEase of manufacture

Solution Approach 1:

The patent introduces a new data structure that acts as an intermediary between the file system and the actual memory blocks. This intermediary structure at the extent level provides a efficient interface for tracking and updating shared memory mappings, simplifying the relocation process while maintaining ease of implementation through a structured approach.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9251152B1Efficient method for relocating shared memory
Publication Date: 2016.02.02 ARCTERA US LLC
  • US9251152B1 patent drawing
  • US9251152B1 patent drawing
  • US9251152B1 patent drawing

AI summary

The present invention provides for an efficient method, apparatus, and system for updating file system information when shared memory contents are moved from one physical location in memory to another. Traditional file systems manage such memory movement at the granularity of physical memory blocks. However, it will often be the case that multiple blocks will be moved, and the present invention takes advantage of the fact that it is more efficient to process the shared memory movement of memory contents at the granularity of an extent. The invention employs a data structure, where each record in the data structure contains information about the shared memory extents of the file system.