CRC Update Mechanism for Header Changes and Soft Error Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current solutions for updating the cyclic redundancy check (CRC) in data packets are inefficient, as they recompute the CRC after header updates, leading to undetectable soft errors in the datapath due to complexity at wide datapath endpoints, especially in high-speed networks.

Innovation Solution

A CRC update mechanism that maintains and updates the CRC throughout the datapath, using coefficient ROMs for parallel access and low-latency calculations, allowing detection of soft errors during packet storage, field extraction, and recompaction, rather than recomputing the entire CRC.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If CRC is recomputed after header updates, then CRC protection is maintained, but processing time increases and soft errors remain undetectable

Engineering Contradiction:
Improvesoft error detection capabilityVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent pre-calculates and stores CRC coefficients in ROM memory before data processing occurs. When header updates happen, the system performs a quick CRC update using these pre-stored coefficients rather than recomputing the entire CRC, enabling soft error detection with minimal processing time overhead

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the CRC computation into two parts: the majority of the packet (payload) whose CRC remains valid, and only the modified portion (header) that needs CRC updating. This segmentation allows efficient CRC maintenance without full recomputation, resolving the contradiction between reliability and processing time

Inventive Principle:
Principle #1Segmentation

2Reliability

If CRC update mechanism is implemented at wide datapath endpoints, then soft errors can be detected, but device complexity increases

Engineering Contradiction:
Improvesoft error detection capabilityVSAvoiddatapath endpoint complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary CRC update mechanism that sits between the header modification logic and the packet transmission path. This intermediary component uses pre-stored coefficients and performs localized CRC updates, enabling soft error detection without requiring complex reconstruction of the entire CRC computation logic at datapath endpoints

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent copies pre-computed CRC coefficients from ROM memory into the CRC update logic, avoiding the need to implement complex CRC computation algorithms at runtime. This copying approach simplifies the datapath endpoint complexity while maintaining soft error detection capability

Inventive Principle:
Principle #26Copying

3Reliability

If full CRC recomputation is performed, then accurate CRC protection is ensured, but processing speed decreases

Engineering Contradiction:
ImproveCRC accuracyVSAvoidpacket processing speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent applies partial action by updating only the portion of the CRC that corresponds to the modified header bytes, rather than recomputing the entire CRC over the whole packet. This partial update approach maintains CRC accuracy for the modified portions while significantly improving packet processing speed

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent performs preliminary computation and storage of CRC coefficients in ROM memory before actual data processing. This preliminary preparation enables fast CRC updates during packet processing without sacrificing accuracy, as the pre-computed coefficients ensure correct CRC calculation while avoiding time-consuming runtime computation

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12052170B2Cyclic redundancy check (CRC) update mechanism
Publication Date: 2024.07.30 INTEL CORP
  • US12052170B2 patent drawing
  • US12052170B2 patent drawing
  • US12052170B2 patent drawing

AI summary

A cyclic redundancy code (CRC) update device includes an input coupled to obtain an old CRC that corresponds to an old header of a communication packet, a CRC storage device to store CRC coefficients, a CRC calculator coupled to receive a modified old header of the communication packet and calculate a new CRC on the modified old header, and a polynomial multiplier coupled to the CRC storage device to receive the new CRC, obtain a corresponding coefficient from the CRC storage device, and generate an update for the CRC of the frame.