Incremental Journal Checksums for Inline Delta Integrity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for checking data integrity in journaled file systems with incremental journaling fail when inline deltas are implemented, as they cannot determine the checksum for the entire block without locking it, and the predecessor value is read from NVRAM instead of the entire block.

Innovation Solution

Incrementally update the journal checksum for the entire block, excluding the checksum field, by calculating it in NVRAM during writing and updating it when deltas are applied, ensuring the checksum matches when read from NVRAM.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If incremental journaling with inline deltas is implemented, then productivity is improved by avoiding full block locks, but reliability deteriorates because existing checksum methods cannot verify data integrity

Engineering Contradiction:
Improvetransaction throughputVSAvoiddata integrity verification
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the checksum verification process into two parts: a stored journal checksum for the entire block and a calculated checksum for the modified portion only. This segmentation allows verification of data integrity without requiring full block locks, thus maintaining productivity while improving reliability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary checksum calculation mechanism that operates on the delta (modified portion) of the block rather than the entire block. This intermediary approach enables integrity verification without requiring access to the complete locked block, resolving the contradiction between productivity and reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If full block locking is used for checksum verification, then reliability is improved by ensuring data integrity, but productivity deteriorates due to reduced concurrent transaction support

Engineering Contradiction:
Improvedata integrity verificationVSAvoidconcurrent transaction throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies partial action by calculating checksums only for the modified portion of the block (the delta) rather than the entire block. This partial verification approach maintains reliability for the changed data while avoiding the productivity loss associated with locking entire blocks.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent implements local quality by applying different verification strategies to different parts of the block: the journal checksum covers the entire block while the incremental checksum calculation focuses only on the modified delta portion. This localized approach improves productivity by reducing lock scope while maintaining reliability.

Inventive Principle:
Principle #3Local quality

3Ease of operation

If inline deltas are applied without full block locks, then ease of operation is improved by allowing concurrent transactions, but measurement precision deteriorates because the predecessor value is read from NVRAM instead of the entire block

Engineering Contradiction:
Improveconcurrent transaction supportVSAvoidchecksum accuracy
Core Design Contradiction:
Ease of operationVSMeasurement precision

Solution Approach 1:

The patent applies preliminary action by pre-storing the journal checksum in the journal before deltas are applied. This pre-calculated checksum serves as a baseline for subsequent incremental verification, enabling accurate measurement precision even when predecessor values are read from NVRAM during concurrent operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback by comparing the newly calculated incremental checksum against the stored journal checksum. This feedback mechanism ensures measurement precision by verifying that the delta application produced the expected result, even when operating with partial block access during concurrent transactions.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11023454B2Checking data integrity in incremental journaling
Publication Date: 2021.06.01 EMC IP HLDG CO LLC
  • US11023454B2 patent drawing
  • US11023454B2 patent drawing
  • US11023454B2 patent drawing

AI summary

Incremental inline journaling in a journaled file system can be utilized to facilitate concurrency and throughput of a journaled file system. In an example, a request can be received for a transaction to modify a sub-block portion of a file stored in a distributed storage system. In response to that, the modification can be allocated to a data structure in a journal of the distributed storage system. After the transaction commits, a current value of the sub-block portion of the file can be saved to the delta structure. Then, a new value corresponding to the request for the transaction to modify the sub-block portion of the file can be written to the metadata block. After writing the new value to the metadata block, a memory space used to store the delta structure can be freed.