Variable BCH Error Correction Circuit for NAND Flash Decoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

As memory systems, particularly NAND flash memories, face increasing bit error rates due to the overlap of threshold voltage distributions in multi-level cell programming, existing error correction codes struggle to maintain reliable data integrity without significant changes in system design or operation.

Innovation Solution

The implementation of an error correction circuit using a Bose, Chaudhri, Hocquenghem (BCH) code with varying error correction ability, which generates a codeword comprising a message part, a first parity part, and a second parity part, allowing for error correction decoding using either partial or full codeword values, thereby adapting error correction capability based on the specific requirements of the data being processed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If error correction decoding is performed using partial read values corresponding to a partial codeword including the message part and the first parity part, then decoding speed is improved and power consumption is reduced, but error correction ability is limited compared to using the entire codeword

Engineering Contradiction:
Improvedecoding speedVSAvoiderror correction ability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The codeword is divided into multiple parts: a message part, a first parity part, and a second parity part. The first parity part contains parity information sufficient for basic error correction, while the second parity part provides additional error correction capability. This segmentation allows the system to perform rapid decoding using only the message part and first parity part when speed is critical, while maintaining the option to use all parts when maximum error correction ability is required.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements partial action by allowing error correction decoding to be performed using only a portion of the available parity information (message part + first parity part) rather than requiring the entire codeword. This partial decoding approach achieves acceptable error correction for many cases while significantly reducing decoding time and power consumption, with the option to perform full decoding if needed.

Inventive Principle:
Principle #16Partial or excessive action

2Reliability

If the entire codeword is used for error correction decoding, then error correction ability is maximized, but decoding time and power consumption increase

Engineering Contradiction:
Improveerror correction abilityVSAvoiddecoding time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The codeword structure is segmented into a message part, first parity part, and second parity part, where the first parity part is positioned and sized to enable rapid error correction for common error cases. This allows the decoder to achieve high error correction ability for typical scenarios without processing the entire codeword, thus reducing decoding time while maintaining reliability for the majority of cases.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs partial decoding using only the message part and first parity part for most operations, achieving sufficient error correction ability without the time penalty of processing the entire codeword. Full codeword processing is reserved for cases where maximum error correction is required or when partial decoding fails.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If the entire codeword is used for error correction decoding, then error correction ability is maximized, but power consumption increases

Engineering Contradiction:
Improveerror correction abilityVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The error correction code is segmented into multiple parity parts with different computational requirements. The first parity part is designed to provide adequate error correction for common cases with minimal computational effort, while the second parity part provides additional correction capability only when needed. This segmentation significantly reduces power consumption for typical operations while maintaining the option for full error correction when required.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs partial error correction decoding using only the message part and first parity part for most operations, achieving acceptable error correction ability with substantially reduced power consumption compared to processing the entire codeword. Full decoding is performed only when necessary, optimizing the trade-off between reliability and energy efficiency.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10985780B2Error correction circuit, and memory controller having the error correction circuit and memory system having the memory controller
Publication Date: 2021.04.20 SK HYNIX INC
  • US10985780B2 patent drawing
  • US10985780B2 patent drawing
  • US10985780B2 patent drawing

AI summary

Provided herein may be an error correction circuit, and a memory controller and a memory system. The error correction circuit may include an encoder configured to generate a codeword comprising a message part, a first parity part, and a second parity part, and a decoder configured to perform error correction decoding using read values corresponding to at least a portion of the codeword, wherein, the decoder is configured to perform error correction decoding based on a first or a second error correction ability such that error correction decoding using the first error correction ability is performed using partial read values corresponding to a partial codeword including the message part and the first parity part, and error correction decoding using the second error correction ability is performed using read values corresponding to the entire codeword, and wherein the second error correction ability is greater than the first error correction ability.