Parallel CRC Logic Using Masking and Parity for Small Footprint

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software-based cyclic redundancy check (CRC) calculations in embedded microcontroller systems can consume significant processing time and memory, exceeding the limited resources available, making them inefficient for error detection in communication systems.

Innovation Solution

A parallel CRC generation method that replaces multiple exclusive-OR operations with bit-mask and parity operations, processed in parallel pipelines, allowing for faster processing and higher throughput by performing masking and parity operations on multiple bits simultaneously.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If software-based CRC calculation is used, then error detection capability is provided, but processing time and memory consumption increase significantly

Engineering Contradiction:
Improveerror detection capabilityVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent divides the CRC calculation into multiple parallel segments or pipelines. Each pipeline processes a portion of the input data concurrently using simplified logic, replacing sequential exclusive-OR operations with parallel bit-mask and parity operations. This segmentation enables simultaneous processing of multiple data bits, significantly reducing overall processing time while maintaining error detection reliability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent substitutes traditional mechanical sequential logic operations (exclusive-OR gates processing bits one by one) with optimized bitwise operations (bit-mask and parity operations) that can execute in parallel. This substitution transforms the computational mechanism from sequential to parallel execution, reducing processing time without sacrificing the mathematical correctness of CRC error detection.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Reliability

If software-based CRC calculation is used, then error detection capability is provided, but memory consumption increases

Engineering Contradiction:
Improveerror detection capabilityVSAvoidmemory consumption
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

By segmenting the CRC calculation into parallel pipelines with simplified logic stages, the patent reduces the memory required for storing intermediate calculation states. Each pipeline segment uses minimal local memory for its specific operation, and results are combined at the end, rather than requiring large memory buffers for sequential processing of all data bits.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent uses bit-mask operations that create and manipulate compact binary representations of data segments. Instead of storing large amounts of intermediate computational data in memory, the bit-mask approach creates compact bitwise copies and transformations that can be processed in-place, significantly reducing memory consumption while preserving error detection capability.

Inventive Principle:
Principle #26Copying

3Measurement precision

If traditional sequential CRC operations are used, then calculation accuracy is maintained, but processing speed decreases

Engineering Contradiction:
Improvecalculation accuracyVSAvoidprocessing speed
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent replaces sequential mechanical logic operations with parallel bitwise operations. The bit-mask and parity operations maintain the mathematical equivalence of traditional CRC calculations, ensuring calculation accuracy, while their parallel execution capability dramatically increases processing speed. The substitution preserves the polynomial division mathematics of CRC while optimizing the implementation mechanism.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The patent transitions from one-dimensional sequential bit processing to multi-dimensional parallel processing by operating on multiple data bits simultaneously using bitwise operations. This dimensional change allows the system to process entire words or blocks of data in parallel while maintaining the mathematical integrity of the CRC calculation, achieving both accuracy and speed.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS9362950B2High performance CRC calculation with small footprint
Publication Date: 2016.06.07 INFINEON TECHNOLOGIES AG
  • US9362950B2 patent drawing
  • US9362950B2 patent drawing
  • US9362950B2 patent drawing

AI summary

A cyclic redundancy check (CRC) can be determined with fewer resources within a communication system. A CRC interface component is configured to receive an array of bits as an input via an N-bit data pathway, and receive a CRC previous output from a feedback component coupled to a CRC output, in which N can comprise an integer greater than one. A parallel CRC component can be configured to generate a CRC current output from a plurality of parallel processing pipelines that are configured to concurrently process at least a part of the array of bits and the CRC previous output with a set of parallel CRC logic operations. The set of CRC logic operations can include a masking operation and a parity operation.