Single-XOR CRC Circuit Using Message Padding for Wide Data Words

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current cyclic-redundancy-check-code-computation circuits require a large number of transistors and components due to increasing data word lengths, leading to increased costs and slower computation speeds as bandwidths rise in electronic communications.

Innovation Solution

The implementation of a component-efficient CRC-code-computation logic using a single XOR matrix with message-padding logic, which transforms uneven message lengths into evenly divisible lengths by prepending padding bytes, reducing the need for multiple XOR matrices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If the number of XOR matrices is increased to handle larger data word lengths, then the CRC code computation accuracy is improved, but the number of circuit components increases

Engineering Contradiction:
ImproveCRC code computation accuracyVSAvoidnumber of circuit components
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent divides the message into multiple blocks, each block being processed by a single XOR matrix. The message is segmented such that each segment can be handled by one XOR matrix instance, allowing parallel processing while maintaining accuracy for large data word lengths without requiring a proportional increase in the number of XOR matrices.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of processing by implementing a hierarchical block structure where messages are divided into blocks that are further divided into segments. This multi-level segmentation allows the system to handle arbitrarily large data word lengths using a fixed number of XOR matrices by processing data in organized blocks rather than requiring one matrix per data element.

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

2Productivity

If the number of XOR matrices is increased to handle larger data word lengths, then the computation capability is improved, but the manufacturing cost increases

Engineering Contradiction:
Improvecomputation capabilityVSAvoidmanufacturing cost
Core Design Contradiction:
ProductivityVSEase of manufacture

Solution Approach 1:

The patent makes a single XOR matrix universal by designing it to process multiple blocks of data through segmented processing. The same XOR matrix instance can be reused across different blocks and segments, eliminating the need for multiple dedicated XOR matrices for each data element. This multi-functional approach maintains high computation capability while significantly reducing the total number of circuit components required.

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

Solution Approach 2:

The patent implements a block-based processing scheme where the XOR matrix processes one block at a time, then its state is recovered and reused for the next block. This allows the same hardware resources to be discarded (finished processing one block) and recovered (reused for the next block), maximizing resource utilization and reducing the need for redundant components.

Inventive Principle:
Principle #34Discarding and recovering

3Speed

If the number of XOR matrices is increased to handle larger data word lengths, then the processing speed is improved, but the computation time increases

Engineering Contradiction:
Improveprocessing speedVSAvoidcomputation time
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The patent segments the message into blocks that can be processed in parallel or in an optimized sequence. By dividing the data into manageable segments, the system can initiate processing of multiple blocks simultaneously or overlap processing stages, maintaining high processing speed while avoiding the sequential bottlenecks that would increase total computation time.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent ensures continuous useful action by implementing a pipeline where while one block is being processed, preparation for the next block can begin, and results from completed blocks can be finalized. This continuous processing approach eliminates idle time between operations and maintains high processing speed without extending the overall computation time proportionally to the data size.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS10644723B2Component-efficient cyclic-redundancy-check-code-computation circuit
Publication Date: 2020.05.05 SANDISK TECHNOLOGIES LLC
  • US10644723B2 patent drawing
  • US10644723B2 patent drawing
  • US10644723B2 patent drawing

AI summary

With CRC-code-computation logic used in electronic-communications hardware, many current implementations employ a number n of XOR matrices equal to the number of bytes in the fundamental data unit, or word, operated on by the CRC-code-computation logic. As the size, in bytes, of the fundamental-data-unit increases, due to increases in the widths of internal data-transmission components, the number n of XOR matrices in CRC-code-computation logic has correspondingly increased. A component-efficient CRC-code-computation logic employs message-padding logic in order to compute CRC codes using only a single XOR matrix. The message-padding logic takes advantage of certain characteristics of CRC codes to transform original input messages having lengths, in bytes, that are not evenly divisible by the length of the fundamental data unit into messages that are evenly divisible by the length of the fundamental data unit by prepending padding bytes to the original messages.