Flash Memory ECC Controller with Selective BCH-RS Decoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Flash memory devices face significant errors in reading multi-bit data due to overlapping threshold voltage distributions, which increase with the number of bits stored, leading to unreliable data retrieval.

Innovation Solution

The implementation of ECC controllers that generate and store first and second error correction codes, allowing selective correction of errors based on the number of errors detected, using a high-speed BCH code for fewer errors and a high-performance RS code for more errors, to enhance data reliability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If multi-bit data is stored in each memory cell to increase storage capacity, then the storage density is improved, but the error rate increases due to overlapping threshold voltage distributions

Engineering Contradiction:
Improvestorage capacityVSAvoiderror rate
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The error correction process is segmented into two distinct stages: first ECC correction for 1-bit errors and second ECC correction for multi-bit errors. This segmentation allows the system to handle different error types with appropriate correction methods, improving overall reliability while maintaining multi-bit storage capacity

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

First ECC data is generated and stored alongside the multi-bit data before reading operations. This preliminary error correction code is specifically designed to correct 1-bit errors, which are the most common error type in flash memory, thereby preventing these errors from propagating and reducing the burden on subsequent correction stages

Inventive Principle:
Principle #10Preliminary action

2Reliability

If a single strong error correction code is used to correct all errors, then the error correction capability is improved, but the decoding complexity and time increase

Engineering Contradiction:
Improveerror correction capabilityVSAvoiddecoding complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The error correction code system is divided into two separate ECC schemes: first ECC with simpler decoding for common 1-bit errors, and second ECC with more complex decoding for rare multi-bit errors. This segmentation reduces the average decoding complexity while maintaining comprehensive error correction capability

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The first ECC is designed to handle the majority of error cases (1-bit errors) with a simplified correction approach. Only when the first ECC determines that errors exceed its correction capability does the system activate the second ECC, avoiding the overhead of always using the more complex correction method

Inventive Principle:
Principle #16Partial or excessive action

3Device complexity

If a single error correction code is used for all error cases, then the system design is simplified, but the correction speed varies for different error amounts

Engineering Contradiction:
Improvesystem design simplicityVSAvoidcorrection speed
Core Design Contradiction:
Device complexityVSSpeed

Solution Approach 1:

The error correction system dynamically selects between first ECC and second ECC based on the detected error pattern and magnitude. The decoding controller adapts the correction strategy in real-time, using the faster first ECC for simple cases and the more powerful second ECC only when necessary, thereby optimizing overall correction speed

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system replaces a static, single-error-correction-code approach with a dynamic, conditional correction system that substitutes mechanical always-on complex decoding with intelligent error pattern recognition and selective correction method activation

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS8788905B2Flash memory device error correction code controllers and related methods and memory systems
Publication Date: 2014.07.22 SAMSUNG ELECTRONICS CO LTD
  • US8788905B2 patent drawing
  • US8788905B2 patent drawing
  • US8788905B2 patent drawing

AI summary

An ECC controller for a flash memory device storing M-bit data (M: a positive integer equal to or greater than 2) includes an encoder and a decoder. The encoder generates first ECC data for input data to be stored in the flash memory device using a first error correction scheme and generates second ECC data for the input data using a second error correction scheme. The input data, the first ECC data, and the second ECC data are stored in the flash memory device. The decoder calculates the number of errors in data read from the flash memory device and corrects the errors in the read data using one of the first ECC data and the second ECC data selectively based on the number of the errors.