Interleaved Parallel CRC for 4-Bit SD Memory Bus Data

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for communicating with Secure Digital (SD) memory cards in 4-bit mode require inefficient unpacking and repacking of data for CRC calculations, leading to excessive processing overhead and the need for specialized hardware, which is costly and not suitable for cost-sensitive applications.

Innovation Solution

A mechanism for interleaved parallel CRC calculation using a 64-bit accumulator and an interleaved parallel CRC table allows CRC calculations to be performed directly on SD bus data in its natural order, eliminating the need for data unpacking and repacking, and enabling efficient software-based CRC operations without specialized hardware.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional CRC calculation is used for 4-bit SD mode, then CRC error checking can be performed, but excessive processing overhead is incurred due to unpacking and repacking operations

Engineering Contradiction:
ImproveCRC error checking capabilityVSAvoidprocessing overhead
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The invention segments the 4-bit SD bus data into four separate 1-bit streams, each processed independently through its own CRC calculation pipeline. This segmentation allows parallel processing of multiple data lines simultaneously, eliminating the need for sequential unpacking and repacking operations while maintaining CRC error checking capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The invention transitions from conventional single-stream CRC processing to multi-dimensional parallel processing by introducing four independent CRC calculation paths for the four SD bus lines. This dimensional expansion allows the system to process all four data lines concurrently, dramatically reducing processing overhead while preserving reliability.

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

2Productivity

If specialized hardware is used for CRC calculation in 4-bit mode, then processing efficiency is improved, but system cost and complexity increase

Engineering Contradiction:
ImproveCRC calculation efficiencyVSAvoidspecialized hardware requirements
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The invention creates a universal CRC processing architecture that can handle both 1-bit and 4-bit SD modes through the same software-based mechanism. By making the CRC calculation system multi-functional and mode-agnostic, specialized hardware becomes unnecessary, reducing system complexity and cost while maintaining high processing efficiency through optimized software implementation.

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

Solution Approach 2:

The invention uses software-based CRC calculation that replicates the functionality of hardware CRC units through programmed operations. By copying the essential CRC calculation logic into software form, the system achieves hardware-like efficiency without requiring actual hardware implementations, thereby reducing device complexity and cost.

Inventive Principle:
Principle #26Copying

3Ease of manufacture

If 1-bit SPI mode is used for SD communication, then software-based CRC calculation becomes feasible, but bandwidth is reduced to 25% of theoretical maximum

Engineering Contradiction:
Improvesoftware-based CRC implementationVSAvoiddata transfer bandwidth
Core Design Contradiction:
Ease of manufactureVSSpeed

Solution Approach 1:

The invention merges four separate 1-bit CRC calculation streams into a unified 4-bit parallel processing architecture. By combining the processing capabilities for all four SD bus lines into a single integrated software-based system, the invention achieves both the ease of software implementation and the high bandwidth of 4-bit mode, eliminating the need to choose between the two extremes.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS9003259B2Interleaved parallel redundancy check calculation for memory devices
Publication Date: 2015.04.07 RED HAT INC
  • US9003259B2 patent drawing
  • US9003259B2 patent drawing
  • US9003259B2 patent drawing

AI summary

In one embodiment, a mechanism for interleaved parallel cyclic redundancy check calculation for memory devices is disclosed. In one embodiment, a method includes generating an index value as part of a cyclic redundancy check (CRC) operation, the index value being a result of a first exclusive-or operation applied to both of input data directly as-is from a data bus and to data in a 64-bit accumulator utilized to store results of the CRC operation. The method also includes indexing an interleaved parallel CRC table with the index value to retrieve a 64-bit polynomial entry from the CRC table, performing a second exclusive-or operation on the retrieved polynomial entry and data in the 64-bit accumulator, storing the results of the second exclusive-or operation in the 64-bit accumulator, and transmitting contents of the 64-bit accumulator directly as-is to the data bus.