Parallel CRC Integration for Variable-Size Data Frames

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

High-speed network devices face inefficiencies in calculating cyclic redundancy check (CRC) values for variably-sized data frames due to increasing internal parallelism, requiring a method to efficiently combine CRC values from multiple physical planes.

Innovation Solution

A CRC device with multiple CRC processing units that calculate partial CRC values in parallel and integrate them into a final CRC value using XOR operations, allowing for efficient error checking during transmission or storage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple CRC processing units are used to calculate CRC values in parallel for high-speed network devices, then processing speed and throughput are improved, but the complexity of integrating and combining CRC values from multiple physical planes increases

Engineering Contradiction:
Improveprocessing speedVSAvoidintegration complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The data frame is segmented into multiple data segments that are distributed to different CRC processing units for parallel processing. Each unit calculates a partial CRC value for its assigned segment, enabling high-speed parallel computation while maintaining manageable complexity through structured division of work

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The integration component merges multiple partial CRC values from different physical planes into a single final CRC value using polynomial combination. This combining process resolves the integration complexity by providing a systematic mathematical approach to aggregate results from parallel processing units

Inventive Principle:
Principle #5Merging (Combining)

2Productivity

If CRC values are calculated on a per-frame basis with increasing internal parallelism, then data throughput is improved, but the difficulty of combining CRC values from multiple physical planes increases

Engineering Contradiction:
Improvedata throughputVSAvoidcombination difficulty
Core Design Contradiction:
ProductivityVSDifficulty of detecting and measuring

Solution Approach 1:

The integration component acts as an intermediary between multiple CRC processing units and the final CRC output. It receives partial CRC values from parallel physical planes and mediates their combination through polynomial arithmetic, simplifying the overall combination process while supporting high data throughput

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If the data frame size is variable and unknown beforehand, then adaptability is improved, but the precision of controlling the number of iterations for parallel processing decreases

Engineering Contradiction:
Improvevariable frame size handlingVSAvoiditeration control precision
Core Design Contradiction:
Adaptability or versatilityVSManufacturing precision

Solution Approach 1:

The system dynamically adjusts the number of iterations and distribution of data segments based on the actual frame size received. Since the frame size is unknown beforehand, the system adapts its parallel processing configuration in real-time, allocating work to CRC processing units according to the actual data volume while maintaining precise control over iteration counts through runtime calculations

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9823960B2Apparatus and method for parallel CRC units for variably-sized data frames
Publication Date: 2017.11.21 MARVELL ASIA PTE LTD
  • US9823960B2 patent drawing
  • US9823960B2 patent drawing
  • US9823960B2 patent drawing

AI summary

A cyclic redundancy check (CRC) device configured to support parallel calculation of a CRC value for a data frame comprises a plurality of CRC processing units each configured to accept one of a plurality of data segments of the data frame of a variable size that can be unknown to the CRC device beforehand and generate one of plurality of partial CRC values in parallel with rest of the CRC processing units over multiple clock cycles/iterations. The CRC device further comprises an integration component configured to integrate the plurality of partial CRC values from the plurality of CRC processing units into one final CRC value for the data frame, wherein the final CRC value is attached to the data frame for error checking during storage or transmission of the data frame.