CRC Syndrome Processing for Misaligned Parallel Data Blocks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional CRC processing systems face issues with data width misalignment between the input data block and the Next-State Decoder (NSD), leading to incomplete syndrome calculation and reduced data throughput, as they are designed for specific input data widths and cannot handle naturally aligned or misaligned data effectively.
Innovation Solution
The CRC apparatus employs multiple NSDs with different input widths (partial and full-width) and selectors to handle various data block alignments, allowing for concurrent processing of overlapping data blocks by selecting appropriate NSDs based on control information, ensuring continuous data processing without re-loading syndromes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If the input data width is set to the narrowest data width to handle misaligned data blocks, then data width compatibility is improved, but data throughput is reduced
Solution Approach 1:
The patent divides the single NSD into multiple NSDs with different input data widths (e.g., 8-bit, 16-bit, 32-bit, 64-bit). Each NSD is responsible for processing data blocks of its specific width, allowing the system to handle various data alignments without throughput penalty by selecting the appropriate NSD for each data block.
Solution Approach 2:
The system dynamically selects which NSD to use based on the alignment characteristics of each incoming data block. Control logic determines the appropriate NSD width match and routes data accordingly, enabling adaptive processing that maintains high throughput while handling diverse data width requirements.
2Productivity
If the input data width is increased to maintain high data throughput, then data throughput is improved, but handling of misaligned data blocks becomes problematic
Solution Approach 1:
The patent creates a universal CRC processing system that handles both aligned and misaligned data blocks across multiple width configurations. By providing multiple NSDs with different input widths and control logic that selects the appropriate NSD, the system achieves multi-functionality in handling various data alignment scenarios while maintaining high throughput.
Solution Approach 2:
The system changes the operational parameter of input data width by providing multiple NSDs configured for different widths. This allows the CRC processing to adapt to different data block alignments by selecting the NSD whose input width matches the actual data block width, thereby maintaining both throughput and compatibility.
3Device complexity
If a single NSD is used for CRC processing, then device complexity is reduced, but concurrent processing capability is lost
Solution Approach 1:
The patent enables continuous CRC processing by allowing multiple data blocks to be processed concurrently through different NSDs. While one NSD is processing a data block, another NSD can simultaneously process a different data block, eliminating idle time and maintaining continuous useful action across the entire system.
Solution Approach 2:
The system performs preliminary setup by configuring multiple NSDs with different input widths before processing begins. This preliminary configuration enables immediate concurrent processing of multiple data blocks without requiring dynamic reconfiguration during operation, thus maintaining simplicity while enabling parallelism.
Data Source
AI summary
Cyclic redundancy check (CRC) processing is applied to a received sequence of data blocks that are defined by respective sequences of sets of parallel data. For each data block, there is produced a sequence of syndromes that respectively correspond to the sets of parallel data within the data block. The final syndrome in the sequence of syndromes corresponds to all of the data in the data block. The time required for CRC processing can be reduced by concurrently producing first and second ones of the syndromes that respectively correspond to first and second ones of the sets that are respectively contained in first and second ones of the data blocks.


