Time-Multiplexed LFSR CRC Generation for Lower Area and Power

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

As computing environments evolve, the increasing complexity and size of linear feedback shift registers (LFSR) required for cyclic redundancy check (CRC) calculations consume more space and power, especially with higher bits per data word, leading to inefficiencies in data transfer reliability.

Innovation Solution

A method for generating CRC values using smaller and fewer LFSR circuits by separating CRC calculations into sub-calculations and employing programmable XOR engines with table lookups, allowing for shared LFSR circuits between link CRC and end-to-end CRC calculations, and time-multiplexing across multiple links.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If LFSR circuits are designed to handle more bits per data word, then data transmission capability is improved, but hardware surface area increases significantly

Engineering Contradiction:
Improvedata transmission capabilityVSAvoidhardware surface area
Core Design Contradiction:
Adaptability or versatilityVSArea of stationary object

Solution Approach 1:

The patent divides the LFSR circuit into multiple smaller LFSR instances, each handling a portion of the data word. For example, a 64-bit data word is processed by multiple smaller LFSRs working in parallel or sequentially, rather than one large LFSR. This segmentation reduces the surface area of each individual LFSR while maintaining the overall data transmission capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces time multiplexing as an additional dimension, allowing a single LFSR circuit to service multiple links sequentially over time. The LFSR is shared across multiple PCIe links by switching its input/output connections based on which link currently needs CRC calculation, effectively reducing the number of physical LFSR circuits needed.

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

2Reliability

If multiple LFSR circuits are implemented for multiple CRC values, then data transmission reliability is improved, but power consumption increases

Engineering Contradiction:
Improvedata transmission reliabilityVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by stationary object

Solution Approach 1:

The patent merges multiple LFSR circuits into a single shared LFSR that services multiple PCIe links through time multiplexing. Instead of having separate LFSR instances for each link (which would consume more power), one LFSR is time-shared across multiple links, reducing overall power consumption while still providing CRC calculation capability for all links.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The single LFSR circuit is designed to be universal, capable of calculating CRC values for multiple different PCIe links and multiple different data widths. By configuring the LFSR to handle different input sizes and serving multiple links, it replaces what would traditionally require multiple dedicated LFSR circuits, thereby reducing power consumption.

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

3Measurement precision

If LFSR circuit size increases with more bits per data word, then CRC calculation accuracy is improved, but device complexity increases

Engineering Contradiction:
ImproveCRC calculation accuracyVSAvoidLFSR circuit complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the CRC calculation task across multiple smaller LFSR circuits rather than using one large complex LFSR. Each smaller LFSR handles a specific portion or specific link, making individual circuits simpler while collectively achieving the required CRC accuracy for the full data width through coordinated operation.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8738990B2Cyclic redundancy check generation via distributed time multiplexed linear feedback shift registers
Publication Date: 2014.05.27 NVIDIA CORP
  • US8738990B2 patent drawing
  • US8738990B2 patent drawing
  • US8738990B2 patent drawing

AI summary

Cyclic redundancy check (CRC) values are efficiently calculated using an improved linear feedback shift register (LFSR) circuit. CRC value generation is separated into two sub-calculations, which are then combined to form a final CRC value. A programmable XOR engine performs logic functions via a table lookup rather than via a random logic circuit. LCRC and ECRC calculations are performed using a single shared LFSR circuit. Multiple links share the same CRC value generator. One advantage of the present invention is that CRC values are generated using smaller and fewer LFSR circuits relative to conventional circuit designs. As a result, a CRC value generator utilizing the disclosed techniques consumes less surface area of an integrated circuit and consumes less power, resulting in cooler operation.