Multi-Channel ECC Circuit Using Horizontal and Vertical Codes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional error correction techniques in multi-channel memory systems are inefficient as they do not fully utilize error checking and correction codes, leading to imbalanced error handling across channels, which affects performance.

Innovation Solution

The method involves generating both horizontal and vertical error correction codes for data packets in multi-channel systems, combining them to create encoded packets, and using decoding processes to correct errors, allowing for more effective error management across channels.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If error correction code is added to each channel independently, then error checking and correction can be performed for each channel, but the error correction code cannot be fully utilized when error distribution is imbalanced across channels

Engineering Contradiction:
Improveerror correction capabilityVSAvoidutilization of error correction code
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent merges data from multiple channels to form combined data packets, and generates error correction codes that protect these combined packets. This allows the error correction code to be applied across channels, fully utilizing its capability even when error distribution is imbalanced. The combined error correction code can correct errors that would exceed the correction capability of individual channel codes.

Inventive Principle:
Principle #5Merging (Combining)

2Reliability

If error correction code is added to memory system, then data correctness can be ensured, but operating speed becomes slower due to extra debugging step

Engineering Contradiction:
Improvedata correctnessVSAvoidoperating speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent segments the error correction process into horizontal and vertical components. Horizontal error correction codes are generated for individual channels, and vertical error correction codes are generated for combined data from multiple channels. This segmentation allows parallel processing of error correction operations, reducing the overall time required while maintaining data correctness.

Inventive Principle:
Principle #1Segmentation

3Reliability

If error correction code is added to memory system, then data correctness can be ensured, but operating bit length becomes longer

Engineering Contradiction:
Improvedata correctnessVSAvoidoperating bit length
Core Design Contradiction:
ReliabilityVSLength of moving object

Solution Approach 1:

The patent creates error correction codes that serve multiple functions: horizontal error correction codes protect individual channel data, while vertical error correction codes protect combined data from multiple channels. This multi-functionality allows a single error correction framework to handle both individual and combined error scenarios, optimizing the use of bit length for error correction without sacrificing data correctness.

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

Data Source

PatentUS9059745B2Error checking and correction method applied in a multi-channel system and related circuit
Publication Date: 2015.06.16 MAXIO TECHNOLOGY (HANGZHOU) CO LTD
  • US9059745B2 patent drawing
  • US9059745B2 patent drawing
  • US9059745B2 patent drawing

AI summary

An exemplary method of error checking and correction applied in a multi-channel system, includes: performing error checking and correction encoding upon a first data packet of a first channel and a second data packet of a second channel, and generating a first horizontal error correction code and a second horizontal error correction code; performing error checking and correction encoding upon a first mixed data packet and a second mixed data packet, and generating a first vertical error correction code and a second vertical error correction code; and combining the first data packet, the first horizontal error correction code and the first vertical error correction code into the first encoded data packet of the first channel, and combining the second data packet, the second horizontal error correction code and the second vertical error correction code into the second encoded data packet of the second channel.