Flash Memory Controller Majority Vote ECC Error Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing Flash memory devices, particularly Multiple Level Cell (MLC) Flash memories, face challenges in balancing operation performance and system resource management due to unstable characteristics, leading to uncorrectable errors that current solutions fail to adequately address.

Innovation Solution

A method involving a controller that performs majority vote on data read at different times at the same address, temporarily storing data in buffering regions to generate and verify majority vote data, which replaces the latest retrieved data, thereby reducing uncorrectable errors and optimizing ECC performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If MLC Flash memories are used to increase storage density, then storage capacity is improved, but error stability deteriorates due to unstable characteristics

Engineering Contradiction:
Improvestorage densityVSAvoiderror stability
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The system performs preliminary reading of data multiple times at different times before final output. By reading data at multiple time points (first reading, second reading, third reading) and comparing results, the system proactively identifies and corrects errors before they affect data integrity, thereby maintaining reliability while using MLC Flash memories for high storage density

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback by comparing data read at different times and using this comparison to determine whether to output the data. The controller reads data multiple times, compares the readings, and only outputs data that passes the comparison test, creating a feedback loop that ensures data stability while maintaining high storage capacity

Inventive Principle:
Principle #23Feedback

2Reliability

If data is read multiple times at the same address to improve error correction, then reliability is improved, but time consumption increases

Engineering Contradiction:
Improveerror correctionVSAvoidtime consumption
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs partial reading actions by reading data only at specific time points (first, second, and third readings) rather than continuously or excessively. This partial action approach provides sufficient error correction capability through strategic sampling while avoiding unnecessary time consumption that would result from more frequent or prolonged reading operations

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If majority vote is performed on multiple data readings to correct errors, then uncorrectable errors are reduced, but device complexity increases

Engineering Contradiction:
Improveuncorrectable errorsVSAvoidcontroller operations
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The controller performs self-service by automatically comparing data from multiple readings and determining whether to output the data without external intervention. The majority vote mechanism is implemented within the controller itself, allowing it to self-correct errors and manage its own reliability without requiring additional complex external systems or manual error correction processes

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8631310B2Method for reducing uncorrectable errors of a memory device regarding error correction code, and associated memory device and controller thereof
Publication Date: 2014.01.14 SILICON MOTION INC
  • US8631310B2 patent drawing
  • US8631310B2 patent drawing
  • US8631310B2 patent drawing

AI summary

A method for reducing uncorrectable errors of a memory device regarding Error Correction Code (ECC) includes: performing majority vote according to data read at different times at a same address in order to generate majority vote data corresponding to the address; and checking whether the majority vote data has any uncorrectable error in order to determine whether to output the majority vote data as data of the address. For example, the method further includes: within the data read at different times at the same address, temporarily storing all of the data except for data of a last time into buffering regions/buffers, respectively, with the majority vote data being temporarily stored into a second buffering region/buffer to utilize a latest generated portion within the majority vote data to replace a latest retrieved portion within data in the second buffering region/buffer. An associated memory device and the controller thereof are further provided.