Parallel CRC Computation Using Segmented XOR Combination

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering Contradiction Analysis

1Productivity

If CRC computation is distributed across multiple processors, then processing speed is improved, but computational complexity and coordination overhead increase

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

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If CRC computation is distributed across multiple processors, then processing speed is improved, but resource consumption increases

Engineering Contradiction:
Improveprocessing speedVSAvoidcomputational resources
Core Design Contradiction:
ProductivityVSUse of energy by moving object

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.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS8082480B2Distributed checksum computation
Publication Date: 2011.12.20 PRESAGIS USA INC
  • US8082480B2 patent drawing
  • US8082480B2 patent drawing
  • US8082480B2 patent drawing

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.