CRC Circuit Partitioning for Variable-Length Data Packets

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional CRC circuits are inefficient in terms of circuit use and power consumption due to the need for multiple sets of CRC hardware to handle data packets with non-integer multiples of word lengths, leading to increased chip area and power consumption.

Innovation Solution

A method and circuit architecture that performs error checking calculations using a single CRC circuit by partitioning data into full data lines and a remainder, with the option to add padding vectors to ensure all data lines have a uniform length, thereby eliminating the need for multiple CRC circuits and reducing power consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple sets of CRC hardware are used to handle data packets with non-integer multiples of word lengths, then the CRC calculation can be performed on all data packets, but the chip area and power consumption increase

Engineering Contradiction:
Improvecapability to handle various data packet lengthsVSAvoidchip area dedicated to CRC circuitry
Core Design Contradiction:
Adaptability or versatilityVSArea of stationary object

Solution Approach 1:

The patent implements a single CRC circuit that can process data packets of any length by partitioning them into full data lines and remainders. The circuit universally handles both integer and non-integer multiples of word lengths through a unified architecture that uses padding vectors and iterative processing, eliminating the need for multiple specialized CRC hardware units.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent segments data packets into full data lines (integer multiples of word length) and remainder portions. This segmentation allows the single CRC circuit to process each segment separately, with the remainder being handled through iterative processing or padding, thereby maintaining versatility without requiring additional hardware.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If multiple sets of CRC hardware are used to handle data packets with non-integer multiples of word lengths, then the CRC calculation can be performed on all data packets, but the power consumption increases

Engineering Contradiction:
Improvecapability to handle various data packet lengthsVSAvoidpower consumption of CRC circuitry
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by stationary object

Solution Approach 1:

The single universal CRC circuit processes all data packets regardless of length, activating only the necessary processing stages for each packet type. This avoids the continuous power consumption of multiple idle CRC hardware units, reducing overall power usage while maintaining full adaptability.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The circuit uses iterative processing for remainder portions, activating the CRC calculation only when needed rather than continuously. This periodic activation reduces power consumption compared to having multiple always-on CRC hardware units.

Inventive Principle:
Principle #19Periodic action

3Area of stationary object

If a single CRC circuit is used with data partitioning, then chip area is reduced, but the calculation speed may be affected

Engineering Contradiction:
Improvechip area dedicated to CRC circuitryVSAvoidCRC calculation speed
Core Design Contradiction:
Area of stationary objectVSProductivity

Solution Approach 1:

By segmenting data into full data lines and remainders, the circuit can process full data lines in parallel through the single CRC unit, maximizing throughput. The remainder processing, while sequential, affects minimal data volume, thus maintaining high overall calculation speed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The circuit performs preliminary processing by identifying and separating full data lines from remainders before CRC calculation. This preparation allows the single CRC circuit to focus on optimized processing of standardized data line lengths, improving calculation efficiency.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8312362B1Determining data transmission error and/or checking or confirming such error determinations
Publication Date: 2012.11.13 MARVELL ISRAEL (M L S L) LTD
  • US8312362B1 patent drawing
  • US8312362B1 patent drawing
  • US8312362B1 patent drawing

AI summary

A data partitioning circuit partitions received data and an appended error checking code into a plurality of data lines having a fixed length and a last line. A vector selector inserts a pad vector after the appended error checking code when the last line is less than the first length and not equal to the first fixed length minus a length of the appended error checking code, and selects one of a plurality of error checking vectors, the pad vector having a length providing the last line with the first fixed length when appended thereafter, and the plurality of error checking vectors comprising an initial vector and an error checking code feedback vector. An error checking code calculation circuit performs error checking calculations on the plurality of data lines and the last line to generate an error checking result.