Granular Metadata Buffering for Journaling File Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing file system journaling methods are inefficient in managing metadata updates, leading to frequent log file wrapping and increased time before new transactions can start, due to the lack of granular recording and buffering mechanisms.

Innovation Solution

A method that employs granular metadata recording and buffering with fine-grained locking, delayed transaction logging, and an oldest-last age queue to minimize log file wrapping, allowing for efficient management of metadata updates by delaying the transfer of logically complete transactions and scheduling partial writes to disk.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If metadata updates are immediately written to the log file when transactions are logically complete, then data consistency is maintained, but log file wrapping occurs frequently and new transactions are delayed

Engineering Contradiction:
Improvedata consistencyVSAvoidtransaction throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by maintaining a buffer of metadata updates in memory before writing them to the log file. The buffer holds updates from multiple transactions, and writes to the log file are performed in advance batches rather than immediately for each transaction. This allows the system to maintain data consistency while reducing the frequency of log file wrapping and improving transaction throughput.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If all metadata updates are buffered in memory before writing to disk, then log file wrapping is reduced, but memory usage increases and may cause buffering delays

Engineering Contradiction:
Improvetransaction throughputVSAvoidmemory usage
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent segments the metadata update buffer into multiple regions or zones, each handling different types of metadata updates or different transaction batches. This segmentation allows more efficient memory management by writing segments to disk as they are filled, rather than waiting for the entire buffer to be complete. It reduces peak memory usage while maintaining the benefit of batched writes.

Inventive Principle:
Principle #1Segmentation

3Reliability

If the log file is written to disk frequently, then data durability is ensured, but system performance deteriorates due to I/O overhead

Engineering Contradiction:
Improvedata durabilityVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent merges multiple metadata update transactions into single batched writes to the log file. Instead of writing each transaction immediately to disk, updates from multiple transactions are accumulated in the buffer and then combined into fewer, larger write operations. This reduces the total number of I/O operations while ensuring data durability, thereby improving system performance.

Inventive Principle:
Principle #5Merging (Combining)

4Reliability

If metadata blocks are written to disk immediately after updates, then data consistency is maintained, but the time to free up log space increases

Engineering Contradiction:
Improvedata consistencyVSAvoidlog space availability
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary buffering of metadata updates in memory before writing them to the log file and subsequently to disk. This preliminary action in the buffer allows the system to accumulate updates and write them in batches, which reduces the frequency of log file wrapping and frees up log space more efficiently, thereby improving the availability of log space for new transactions.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10268719B2Granular buffering of metadata changes for journaling file systems
Publication Date: 2019.04.23 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10268719B2 patent drawing
  • US10268719B2 patent drawing
  • US10268719B2 patent drawing

AI summary

Responsive to determining an in-memory image of a metadata disk block, a buffer is generated in memory and includes metadata updates made to the metadata disk block. Metadata updates to the disk block by a first transaction are recorded and stored in the buffer. Transfer of metadata updates that are logically complete, but remain in an active transaction list stored in the buffer, are delayed to a completed transaction list, scheduled to be written to a log file on disk at a subsequent time. A determination is made as to whether the metadata disk block is deleted by a second transaction following the first, and responsive to determining the metadata disk block is to be deleted and the metadata updates of the second transaction transfer to the completed transaction list, preventing the writing of the metadata updates to the log file and the metadata disk block to disk.