Virtual Sequence CRC for Industrial Ethernet Data Integrity
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Industrial control systems face challenges in maintaining data integrity due to issues like corruption, unintended repetition, incorrect sequence, loss, unacceptable delay, insertion, masquerade, and addressing, which current Ethernet frame structures struggle to satisfy, particularly in meeting the high probability error occurrence standards set by IEC 61508.
Innovation Solution
A communication method that calculates a data error detection code using a virtual sequence number and transmits it within a packet, allowing for error detection without a dedicated field for the sequence number, enabling detection of errors such as unintended repetition, incorrect sequence, loss, and insertion, and ensuring data integrity by transitioning to a fail-safe state upon error detection.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If current Ethernet frame structures are used for data transmission, then device complexity is reduced and ease of operation is maintained, but data integrity and reliability cannot satisfy the high probability error occurrence standards set by IEC 61508
Solution Approach 1:
The patent combines multiple error detection functions into a unified error detection code calculation mechanism. The virtual sequence number is integrated into the error detection code calculation process, allowing simultaneous detection of data corruption, unintended repetition, and sequence errors through a single code verification system, thereby improving reliability without proportionally increasing complexity
Solution Approach 2:
The patent introduces a virtual sequence number parameter that is used to calculate the error detection code. This parameter change enables the system to detect sequence errors and unintended repetitions by incorporating sequence information into the error detection mechanism, allowing the system to meet higher reliability standards while maintaining manageable protocol complexity
2Reliability
If a dedicated field for virtual sequence number is added to transmit sequence information, then detection of unintended repetition and incorrect sequence is improved, but packet structure complexity and transmission overhead increase
Solution Approach 1:
The patent merges the virtual sequence number transmission with the error detection code by incorporating the virtual sequence number into the error detection code calculation. This allows sequence information to be conveyed without adding a separate dedicated field, thus improving detection capability while avoiding increased packet structure complexity
Solution Approach 2:
The error detection code serves multiple functions simultaneously: it detects data corruption, unintended repetition, incorrect sequence, and loss. By making the error detection code multi-functional, the patent eliminates the need for separate dedicated fields for each detection purpose, thereby improving reliability without proportionally increasing packet structure complexity
3Reliability
If error detection code is calculated using only data without virtual sequence number, then calculation speed is maintained, but detection of unintended repetition and incorrect sequence is insufficient
Solution Approach 1:
The patent performs preliminary action by pre-defining the calculation method to include the virtual sequence number in the error detection code. This allows the system to detect sequence errors and unintended repetitions without requiring additional real-time calculation steps, as the virtual sequence number is already integrated into the code structure before transmission
Data Source
Figure 1
Figure 2
Figure 3~4
AI summary
A first communication device calculates a data error detection code for detecting an error in data by using the data and a virtual sequence number, and generates a packet comprising the data and the data error detection code. The packet does not include the virtual sequence number which is used for calculating error detection. The first communication device transmits the packet to a second communication device.