FHE Bootstrapping Accelerator Cache for Memory Bandwidth Bottlenecks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing FHE schemes face significant computational and memory bottlenecks during bootstrapping operations, particularly due to the large size of bootstrapping key coefficients, which exceed the bandwidth capabilities of High Bandwidth Memory and cause memory bottlenecks.

Innovation Solution

A method and accelerator architecture that processes ciphertext portions in batches, using an on-chip bootstrapping cache to store bootstrapping key elements, allowing for iterative processing without the need for continuous off-chip loading, thereby reducing memory and computational requirements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If bootstrapping key coefficients are stored in off-chip memory, then sufficient storage capacity is available, but memory bandwidth requirements exceed High Bandwidth Memory capabilities causing bottlenecks

Engineering Contradiction:
Improvestorage capacityVSAvoidmemory bandwidth
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

The bootstrapping key is divided into multiple chunks or blocks that are processed sequentially. Instead of loading the entire key into memory simultaneously, the system processes smaller segments, reducing the peak memory bandwidth requirement while maintaining sufficient storage capacity in off-chip memory.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary processing of the bootstrapping key by pre-computing and storing intermediate results in a compact format. This preliminary action reduces the amount of data that needs to be transferred from off-chip memory during the actual bootstrapping operation, thereby reducing memory bandwidth requirements.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If bootstrapping operations are performed frequently to maintain noise thresholds, then calculation accuracy is maintained, but computational overhead increases significantly

Engineering Contradiction:
Improvecalculation accuracyVSAvoidcomputational throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system implements periodic bootstrapping operations at optimized intervals rather than continuously or too frequently. By determining the optimal period between bootstrapping operations, the system maintains calculation accuracy by keeping noise below thresholds while avoiding excessive computational overhead from too-frequent operations.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The system dynamically adjusts bootstrapping parameters such as the modulus switching level and noise threshold monitoring based on the current state of ciphertext noise. This allows the system to maintain reliability by adapting to changing noise conditions while optimizing productivity by performing bootstrapping only when necessary.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If polynomial multiplication uses FFT algorithms for speedup, then multiplication performance improves, but quantization noise is introduced adding to inherent FHE noise

Engineering Contradiction:
Improvemultiplication speedVSAvoidquantization noise
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The system uses FFT-based multiplication selectively for only the most computationally intensive polynomial multiplications rather than all multiplications. For less critical operations, simpler multiplication methods are used, providing a partial application of the high-speed FFT approach that balances productivity improvement with acceptable quantization noise levels.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS12500733B2Method for accelerating bootstrapping in a cryptographic application
Publication Date: 2025.12.16 BELFORT LABS BV
  • US12500733B2 patent drawing
  • US12500733B2 patent drawing

AI summary

A method for performing a bootstrapping operation in cryptographic application, includes receiving in an accelerator one or more input ciphertexts used in the cryptographic application to be bootstrapped and iteratively processing one or more accumulator variables in function of portions of the input ciphertexts; multiplying, within each iteration, the processed accumulator variables with a bootstrapping key element belonging to a bootstrapping key comprising a plurality of bootstrapping key elements, said bootstrapping key element taken from a bootstrapping cache memory in the accelerator; while performing the multiplying for each of the one or more accumulator variables in turn, loading into the bootstrapping cache memory from an external memory a next bootstrapping key element of the plurality of bootstrapping key elements to be used in a next iteration of the bootstrapping operation.