FPGA Memory Buffer Partitioning for Multiple Bit Upset Correction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for detecting and correcting multiple bit upsets in field programmable gate arrays (FPGAs) are inefficient, requiring excessive hardware and slowing down system performance due to the need for complex algorithms and triplication of components, which is particularly problematic in harsh environments like space where radiation can cause transient errors.

Innovation Solution

A method that partitions a memory buffer into portions to store original and modified data, allowing for efficient comparison and correction of bit errors by calculating and comparing parity bits, thereby reducing hardware requirements and improving detection and correction speed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If triplicated-redundant information storage or complex EDAC schemes are used to correct multiple bit upsets, then error correction capability is improved, but device complexity and processing time increase

Engineering Contradiction:
Improveerror correction capabilityVSAvoidhardware complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The memory buffer is segmented into multiple portions, with each portion storing a different version of the data (original, modified, inverted). This segmentation allows the system to detect and correct multiple bit upsets by comparing different segments without requiring full triplication of the entire memory system, thereby reducing hardware complexity while maintaining error correction capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies inversion by storing not only the original data but also modified and inverted versions of the data in different portions of the memory buffer. By comparing the inverted version with the original, the system can detect bit upsets that would be missed by traditional single-version storage, improving reliability without proportionally increasing hardware complexity.

Inventive Principle:
Principle #13The other way round (Inversion)

2Measurement precision

If complex algorithms and triplication of components are used to detect and correct multiple bit upsets, then error detection accuracy is improved, but processing speed deteriorates

Engineering Contradiction:
Improveerror detection accuracyVSAvoidprocessing speed
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The system performs preliminary actions by pre-storing multiple versions of the data (original, modified, inverted) in the memory buffer before error detection is needed. When a bit upset occurs, the pre-stored versions are already available for immediate comparison, eliminating the need for complex real-time calculations and thereby maintaining high processing speed while achieving accurate error detection.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If triplication of storage memory is used to correct multiple bit upsets, then error correction capability is improved, but hardware resources increase

Engineering Contradiction:
Improveerror correction capabilityVSAvoidhardware resources
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

Instead of triplicating the entire storage memory, the patent segments the memory buffer into multiple portions and stores different versions of the data in each segment. This approach achieves error correction capability comparable to triplication but uses fewer hardware resources by avoiding redundant storage of complete data copies across the entire memory system.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7865805B1Multiple bit upset insensitive error detection and correction circuit for field programmable gate array based on static random access memory blocks
Publication Date: 2011.01.04 LOCKHEED MARTIN CORP
  • US7865805B1 patent drawing
  • US7865805B1 patent drawing
  • US7865805B1 patent drawing

AI summary

A method for detecting and correcting bit errors. The method includes the steps of receiving original data, partitioning the memory storage into a first portion and a second portion, storing the original data in the first portion of the memory buffer, modifying the original data into modified data, storing the modified data in the second portion of the memory buffer, comparing the original data with the modified data, combining the original data and the modified data to create a final data stream, and outputting the final data stream. The method may further include the step of calculating and storing parity data.