Parallel CRC Computation Using Segmented XOR Combination
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The computation of cyclic redundancy checks (CRCs) is resource-intensive and inefficient when distributed across multiple processors due to the nature of the calculations involved.
Innovation Solution
Data is divided into parts, processed by different processors to produce partial CRC results, which are then combined using XOR operations to generate a final CRC, with each processor applying a 'CRC forward' operation to efficiently calculate the CRC of the data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If CRC computation is distributed across multiple processors, then processing speed is improved, but computational complexity and coordination overhead increase
Solution Approach 1:
The data is divided into multiple segments that can be processed independently by different processors. Each processor computes CRC on its assigned segment, and the results are combined using XOR operations. This segmentation allows parallel processing while maintaining correctness through the mathematical properties of CRC and XOR.
Solution Approach 2:
The patent introduces intermediate CRC values that are computed for segments of data. These intermediate values serve as mediators that can be combined through XOR operations to produce the final CRC. The intermediary approach allows distributed computation while maintaining the integrity of the overall CRC calculation.
2Productivity
If CRC computation is distributed across multiple processors, then processing speed is improved, but resource consumption increases
Solution Approach 1:
Each processor computes CRC only on its assigned segment of data rather than the entire dataset. This partial action approach distributes the computational workload, reducing the resource consumption per processor while maintaining overall processing speed through parallel execution.
Data Source
AI summary
Data is divided into parts and each part provided to a different processor. Each processor processes the provided data part to produce a partial CRC result. The partial CRC results from each of the different processors are XORed to produce a CRC of the data.


