Parallel CRC Integration for Variable-Size Data Frames
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
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
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
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
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
Data Source
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.


