Checksum Tree Data Verification for Storage Accuracy

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Large and complex data storage systems often experience discrepancies due to data degradation or physical errors, requiring efficient methods to identify and resolve differences between multiple data stores, especially when one is optimized for reliability and another for high throughput.

Innovation Solution

A data management system uses a checksum tree to verify the accuracy of data retrieved from a primary data store by comparing checksums with those from a secondary data store, allowing for efficient identification of inaccurate data blocks without direct comparison of the data itself, utilizing a subtree identification module, checksum calculation module, and data verification module to ensure data consistency and high throughput.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data stores provide robust and reliable data retrieval, then data accuracy is improved, but throughput decreases

Engineering Contradiction:
Improvedata accuracyVSAvoidthroughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the verification process by dividing data into blocks and creating checksums for each block. Instead of verifying entire datasets, the system divides them into manageable chunks, calculates individual checksums, and stores these checksums separately. This segmentation allows for faster verification of specific data blocks without requiring full data retrieval, thus improving throughput while maintaining reliability through targeted verification.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces checksums as an intermediary element between the primary and secondary data stores. These checksums serve as mediators that enable verification of data accuracy without requiring direct comparison of the actual data blocks. The checksums act as compact representations that can be quickly compared to verify data integrity, allowing high-throughput operations while ensuring data reliability through the intermediary verification mechanism.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If data stores are optimized for high throughput, then retrieval speed is improved, but data accuracy verification becomes more difficult

Engineering Contradiction:
ImprovethroughputVSAvoidverification complexity
Core Design Contradiction:
ProductivityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent extracts the verification function from the main data retrieval path by separating checksum calculation and storage from the primary data operations. The system extracts only the essential verification information (checksums) and stores them in a dedicated structure, allowing high-throughput data operations to proceed independently while verification occurs through separate checksum comparisons. This extraction reduces verification complexity by focusing only on the critical hash values rather than entire data blocks.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent transforms the verification problem by changing the parameter being verified from raw data blocks to their checksum representations. Instead of comparing large volumes of actual data, the system compares compact checksum values that represent the data blocks. This parameter transformation dramatically simplifies the verification process, reducing computational complexity while maintaining verification accuracy, thus enabling high-throughput operations with simplified verification.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If direct comparison between data stores is performed, then data accuracy is verified, but processing time increases

Engineering Contradiction:
Improvedata accuracy verificationVSAvoidverification time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent creates copies of the essential verification information (checksums) from the primary data store and stores them in a separate checksum structure. Instead of copying and comparing entire data blocks between stores, the system copies only the computed checksum values. These checksum copies enable rapid verification by comparing compact hash values rather than full data blocks, significantly reducing verification time while maintaining accuracy through the copied verification data.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent performs preliminary actions by pre-calculating and storing checksums for data blocks before actual verification is needed. The system proactively computes checksums when data is written or updated and stores these checksums in advance in a dedicated structure. This preliminary preparation eliminates the need for time-consuming checksum calculations during verification operations, allowing instant comparison of pre-computed checksums to verify data accuracy, thus reducing verification time while ensuring reliability.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10621032B2Checksum tree generation for improved data accuracy verification
Publication Date: 2020.04.14 UBER TECHNOLOGIES INC
  • US10621032B2 patent drawing
  • US10621032B2 patent drawing
  • US10621032B2 patent drawing

AI summary

A data management system verifies the accuracy of data retrieved from a primary data store using a checksum tree stored by a secondary data store. A checksum tree is a tree graph that represents a hierarchy of checksums. Leaf nodes of the checksum tree can store checksums for data blocks stored by the primary data store and secondary data store, and parent nodes can represent checksums of their respective child nodes. The data management system can compare reference subtrees within the checksum tree to comparison subtrees that are generated from data retrieved from the primary data store to determine whether the retrieved data is accurate. The data management system can also use the checksum tree to identify which, if any, of the retrieved data blocks are inaccurate.