Integrity Tree Compression and Caching for Faster Verification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data integrity verification processes suffer from high time overheads and excessive storage resource occupation due to the inefficiencies in handling integrity trees, particularly in the Intel SGX architecture.

Innovation Solution

The integrity tree is stored with root nodes in a decompressed state in the processor and child nodes in a compressed state in memory, allowing for quick decompression and caching of child nodes when needed, along with parallel processing to enhance verification speed and reduce memory storage overheads.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the integrity tree is stored in a decompressed state in memory, then the verification speed is improved, but the storage space occupied is excessive

Engineering Contradiction:
Improveverification speedVSAvoidstorage space
Core Design Contradiction:
SpeedVSVolume of stationary object

Solution Approach 1:

The integrity tree is divided into root nodes and child nodes, with different storage strategies applied to each segment. Root nodes are stored in decompressed form in the processor for fast verification, while child nodes are stored in compressed form in memory to save space. This segmentation allows the system to optimize for both speed and storage efficiency simultaneously.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different parts of the integrity tree are stored in different states (decompressed vs. compressed) based on their specific needs. Root nodes, which are frequently accessed for verification, are kept decompressed in the processor. Child nodes, which are less frequently accessed, are stored compressed in memory. This local quality differentiation resolves the contradiction between overall verification speed and total storage space.

Inventive Principle:
Principle #3Local quality

2Volume of stationary object

If child nodes are read from memory for each verification, then storage space is saved, but time overhead increases

Engineering Contradiction:
Improvestorage spaceVSAvoidtime overhead
Core Design Contradiction:
Volume of stationary objectVSLoss of time

Solution Approach 1:

Child nodes are pre-compressed and stored in memory before verification is needed. The compression is performed in advance, so that during verification, the processor can quickly decompress and use the child nodes without incurring high time overhead. This preliminary action of compression saves storage space while minimizing the impact on verification time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The processor acts as an intermediary between memory and the verification process. It loads child nodes from compressed storage, decompresses them, and maintains them in a readily accessible state during verification. This intermediary role allows the system to benefit from both compressed storage and fast verification without directly exposing the trade-off.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Speed

If the integrity tree is fully loaded into cache, then verification speed is improved, but storage resources are excessively occupied

Engineering Contradiction:
Improveverification speedVSAvoidstorage resources
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The root nodes are extracted from the full integrity tree and stored separately in the processor in decompressed form. This extraction allows the most critical parts of the tree (those needed for verification) to be readily accessible, while the remaining child nodes can stay in compressed form in memory, reducing overall cache usage while maintaining verification speed.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system dynamically manages the storage state of integrity tree nodes based on their usage patterns. Root nodes are kept in a dynamic, readily accessible decompressed state in the processor, while child nodes transition between compressed storage in memory and decompressed state during active verification. This dynamic management optimizes both speed and resource utilization.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS12406097B2Data processing method and device and storage medium
Publication Date: 2025.09.02 HUAWEI TECH CO LTD
  • US12406097B2 patent drawing
  • US12406097B2 patent drawing
  • US12406097B2 patent drawing

AI summary

A processor obtains a first child node in response to a read request for target data when the first child node is not verified in the processor. The first child node is a child node that is in an integrity tree and that is related to the target data. The integrity tree includes a plurality of root nodes and a plurality of child nodes. The plurality of root nodes are in a decompressed state and the plurality of child nodes are in a compressed state. The processor decompresses the first child node in the compressed state, and caches the decompressed first child node into the processor for integrity verification on the target data. The plurality of child nodes of the integrity tree are stored in a form of the compressed state in the memory, so that storage space of the memory can be saved, and the sizes of the child nodes can be reduced.