CRC Pipeline for Overlapping Window Checksums
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for calculating cyclic redundancy checks (CRCs) for large data blocks require significant circuit logic, which can be cost-prohibitive and inefficient, especially when calculating sequential CRCs for overlapping portions of a data block, leading to increased space and time requirements.
Innovation Solution
A CRC pipeline with multiple stages, each using CRC calculators and shifters to modify CRC values by removing the effect of a sub-portion and adding a neighboring portion, optimizing circuitry by using progressively smaller offsets and leveraging leading or trailing zeros to reduce logic complexity, allowing for the calculation of sequential CRCs without the need for parallel CRC calculators.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If parallel CRC calculators are used to calculate sequential CRCs for overlapping portions of data block, then calculation speed is improved, but circuit logic size increases exponentially
Solution Approach 1:
The patent segments the calculation process into multiple stages, where each stage handles a specific offset value. Instead of using parallel CRC calculators for all possible offsets, the system divides the work into sequential stages that process different offset ranges, reducing the circuit logic required in each individual stage while maintaining overall calculation capability.
Solution Approach 2:
The patent introduces a new dimension to the problem by adding an offset parameter to the CRC calculation. Instead of simply calculating CRCs for fixed-size blocks, the system calculates CRCs with variable offsets, allowing overlapping portions to be handled through a single unified calculation framework rather than requiring separate parallel calculators for each overlap scenario.
2Reliability
If CRC calculators are used to calculate sequential CRCs with overlapping portions, then data transmission error detection capability is improved, but space requirements increase
Solution Approach 1:
The patent segments the data block processing into multiple stages, each handling a specific offset range. This segmentation allows the system to maintain comprehensive error detection coverage across all overlapping portions while using a single CRC calculator that processes data in sequential stages, thereby reducing the space requirements compared to having parallel calculators for each overlap scenario.
Solution Approach 2:
The patent makes a single CRC calculator universal by enabling it to handle multiple offset values through staged processing. The same calculator unit is reused across different stages with different offset configurations, allowing it to perform the function of multiple specialized calculators while occupying only the space of one, thus reducing overall space requirements while maintaining error detection capability.
Data Source
AI summary
To calculate sequential CRCs, a CRC pipeline may be used to calculate the sequential CRCs for a block of data The CRC pipeline includes a plurality of stages, where, in each subsequent stage a CRC calculated from a previous stage is used to calculate an offset CRC. For example, using at least one CRC calculator and CRC shifter, a stage in the pipeline removes an effect of first portion of the data represented by a previously calculated CRC from the CRC and then adds an effect of a second portion of data neighboring the first portion in a received data block to yield an offset CRC. For example, a stage may change CRC(0:63) to CRC(32:95) by removing the effect of bytes 0:31 and adding the effect of bytes 64:95. At each stage, the byte offset may get smaller until all the sequential CRCs have been calculated.


