Per-Block-Group Journaling for Ordered Mode File Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional journaling methods in file systems, such as EXT4, face increased response times during fsync system calls due to the need to record all metadata and data in the journal area, even for files not directly involved in the transaction, leading to inefficiencies and potential system inconsistency.

Innovation Solution

Implementing per-block-group journaling, where only the block-group-level transaction corresponding to the fsync system call is extracted and recorded in the journal area, allowing for separate processing of metadata and data, thereby reducing the execution time and maintaining system consistency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If journaling is executed per compound transaction in ordered mode, then file system consistency is maintained, but response time for fsync system call increases due to processing unnecessary files

Engineering Contradiction:
Improvefile system consistencyVSAvoidfsync system call response time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the compound transaction into individual block-group level transactions. When an fsync system call occurs for a specific file, only the transaction corresponding to that file's block group is extracted and processed for journaling, rather than processing the entire compound transaction. This segmentation reduces the amount of data processed during fsync while maintaining consistency within the relevant block group.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts only the necessary block-group level transaction from the compound transaction based on the fsync system call parameters. By identifying and extracting only the relevant transaction portion that corresponds to the file being synced, the system avoids processing unnecessary metadata and data from other files in the compound transaction, thereby reducing fsync response time while preserving file system consistency.

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If all metadata and data are recorded in the journal area during ordered journaling, then file system consistency is ensured, but execution time increases due to processing unnecessary data

Engineering Contradiction:
Improvefile system consistencyVSAvoidjournaling execution speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The journaling process is segmented to operate at the block-group level rather than processing the entire compound transaction. Only metadata and data belonging to the specific block group affected by the fsync system call are recorded in the journal area, significantly reducing the volume of data processed and improving journaling execution speed while maintaining consistency for the relevant files.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts and processes only the necessary metadata and data from the compound transaction that are relevant to the fsync system call. By filtering out and excluding unnecessary data from other files, the system reduces the amount of data written to the journal area, thereby improving execution speed without compromising the consistency of the synced file.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If journaling processes compound transactions as a whole, then consistency across all files is maintained, but response time increases due to inclusion of unrelated files

Engineering Contradiction:
Improvetransaction consistencyVSAvoidjournal thread processing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the journaling operation to process only the block-group level transaction corresponding to the fsync system call. The journal thread is instructed to process only this specific segment rather than the entire compound transaction, reducing processing time while maintaining consistency within the relevant block group through proper transaction boundaries.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts the specific block-group level transaction from the compound transaction based on the fsync system call parameters. By taking out only the relevant transaction portion and excluding unrelated files, the journal thread processes less data, reducing response time while preserving the consistency of the targeted file through dedicated transaction processing.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10346368B2Method and apparatus of per-block-group journaling for ordered mode journaling file system
Publication Date: 2019.07.09 RES & BUSINESS FOUND SUNGKYUNKWAN UNIV
  • US10346368B2 patent drawing
  • US10346368B2 patent drawing
  • US10346368B2 patent drawing

AI summary

In accordance with a first exemplary embodiment, there is provided a computing device. The device includes a memory equipped with a program operating a file system supporting ordered mode journaling; and a processor operating the program stored in the memory. Wherein according to execution of the program, when an fsync system call for the file stored in the memory occurs, the processor extracts a block-group-level transaction corresponding to the file from a compound transaction including the file, records the transaction in a data area of the memory, and executes journaling of the transaction in a journal area of the memory.