Processor CRC Instruction for Fast Checksum Without Offload Hardware

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data processing systems face inefficiencies in performing cyclic redundancy checks (CRCs), particularly due to the overhead of using hardware offload engines and the slowness of software calculations, which degrade network performance and consume processing resources.

Innovation Solution

Implementing a user-level instruction set architecture (ISA) extension within a general-purpose processor to perform CRC operations directly, using XOR operations and polynomial arithmetic, eliminating the need for offload hardware and lookup tables, and enabling rapid CRC calculations through dedicated hardware within the processor pipeline.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If CRC calculations are performed in hardware using a dedicated offload engine, then calculation speed is improved, but device complexity and overhead increase

Engineering Contradiction:
ImproveCRC calculation speedVSAvoidhardware engine complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent combines the CRC calculation function with the existing network processor by adding a CRC calculation unit to the data processing pipeline. This merging approach allows the processor to perform both general data processing and specialized CRC calculations without requiring a separate dedicated hardware engine, thus improving calculation speed while avoiding the complexity overhead of standalone offload hardware.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The network processor is designed with multi-functionality, capable of performing both general-purpose data processing and specialized CRC calculations through its integrated CRC calculation unit. This universal design eliminates the need for separate dedicated hardware engines for different calculation types, reducing overall system complexity while maintaining high calculation speed.

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

2Device complexity

If CRC calculations are performed in software using lookup tables, then device complexity is reduced, but calculation speed deteriorates

Engineering Contradiction:
Improveprocessing simplicityVSAvoidCRC calculation speed
Core Design Contradiction:
Device complexityVSSpeed

Solution Approach 1:

The patent replaces the software-based lookup table approach with a hardware-based CRC calculation unit integrated into the processor pipeline. This substitution transitions the implementation from software (mechanical/system-level operations) to dedicated hardware circuitry, dramatically improving calculation speed while keeping the processor architecture relatively simple through systematic integration.

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

Solution Approach 2:

The CRC calculation unit is pre-configured with the necessary calculation logic and polynomial coefficients directly in hardware. This preliminary preparation of calculation parameters eliminates the need for runtime lookup table accesses in software, enabling direct hardware computation that is both faster and simpler than software-based approaches.

Inventive Principle:
Principle #10Preliminary action

3Loss of time

If stateless hardware offload is implemented, then overhead is reduced, but implementation difficulty increases

Engineering Contradiction:
Improveoverhead timeVSAvoidimplementation ease
Core Design Contradiction:
Loss of timeVSEase of manufacture

Solution Approach 1:

The patent merges the CRC calculation function directly into the network processor's data processing pipeline, eliminating the need for separate stateless hardware offload components. This integration achieves low overhead by having the CRC unit process data in-place within the pipeline without requiring separate state management or additional data transfers, while maintaining implementation ease through systematic architectural integration.

Inventive Principle:
Principle #5Merging (Combining)

4Ease of manufacture

If lookup tables are used for software CRC calculations, then implementation simplicity is improved, but memory footprint increases

Engineering Contradiction:
Improveimplementation easeVSAvoidmemory footprint
Core Design Contradiction:
Ease of manufactureVSQuantity of substance

Solution Approach 1:

The patent replaces the software lookup table implementation with a hardware-based CRC calculation unit that computes checksums directly through circuit-level operations. This substitution eliminates the need for large lookup tables in memory, significantly reducing the memory footprint while maintaining implementation simplicity through dedicated hardware logic designed for efficient CRC computation.

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

Data Source

PatentUS10379938B2Performing a cyclic redundancy checksum operation responsive to a user-level instruction
Publication Date: 2019.08.13 INTEL CORP
  • US10379938B2 patent drawing
  • US10379938B2 patent drawing
  • US10379938B2 patent drawing

AI summary

In one embodiment, the present invention includes a method for receiving incoming data in a processor and performing a checksum operation on the incoming data in the processor pursuant to a user-level instruction for the checksum operation. For example, a cyclic redundancy checksum may be computed in the processor itself responsive to the user-level instruction. Other embodiments are described and claimed.