FPGA Mismatched Packet Stop for Safety Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Fault-tolerant failsafe computer systems in safety-critical applications, such as railway systems, face challenges in validating data packets to prevent erroneous instructions from faulty components, which can lead to unsafe operations.

Innovation Solution

A fault-tolerant failsafe computer voting system that generates and compares data packets to validate keys, ensuring only valid instructions are communicated to safety-critical hardware and software, using a voting architecture to detect mismatches and initiate failsafe operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data packets are validated using voting architecture with key generation and comparison, then system reliability is improved, but device complexity increases

Engineering Contradiction:
Improvesystem reliabilityVSAvoiddevice complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The voting system is segmented into distinct functional modules: a first voting module that generates a first key by comparing a first data packet with a copy of a second data packet, and a second voting module that generates a second key by comparing the second data packet with a copy of the first data packet. This segmentation allows each module to perform a specific validation function, improving reliability through modular verification while managing complexity through functional decomposition.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary key generation and comparison before processing data packets. The voting modules generate validation keys in advance by comparing packet copies, and only after successful validation do they proceed to process the actual data packets. This preliminary action ensures reliability by pre-verifying packet integrity before critical processing occurs.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If multiple voting modules perform mutual inhibition to prevent erroneous instructions, then safety is improved, but processing time increases

Engineering Contradiction:
ImprovesafetyVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The voting modules implement mutual inhibition as a preliminary anti-action to prevent erroneous instructions before they can cause harm. The first voting module inhibits the second voting module from generating the first key, and vice versa, ensuring that only one validation path is active at a time. This prevents conflicting validation results and ensures safety by blocking potentially erroneous instructions before execution.

Inventive Principle:
Principle #9Preliminary anti-action

3Reliability

If data packet validation is performed through key comparison in safety-critical systems, then fault tolerance is improved, but ease of operation deteriorates

Engineering Contradiction:
Improvefault toleranceVSAvoidease of operation
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The voting modules perform self-service validation by automatically generating comparison keys and verifying data packet integrity without external intervention. The system autonomously compares packet copies, generates validation keys, and determines whether packets are erroneous, improving fault tolerance while maintaining ease of operation through automated self-verification.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10372579B2FPGA mismatched packet stop for a safety system
Publication Date: 2019.08.06 SMART EMBEDDED COMPUTING INC
  • US10372579B2 patent drawing
  • US10372579B2 patent drawing
  • US10372579B2 patent drawing

AI summary

A fault-tolerant failsafe computer voting system including a first voting module that generates a first key based on a comparison between a first data packet and a copy of a second data packet. The first voting module determines whether the first key and a second key are valid keys. The second data packet is a copy of the first data packet. A second voting module generates the second key based on a comparison between the second data packet and a copy of the first data packet. A processing module generates an outgoing data packet based on the first data packet in response to determining whether the first key and the second key are valid keys. The first voting module is inhibited from generating the second key and the second voting module is inhibited from generating the first key.