Flash Memory ECC Controller Using Row-Column Parity Checks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing Flash memory technologies, particularly Multiple Level Cell (MLC) Flash memories, face challenges in utilizing storage space efficiently due to the increased costs and chip area associated with enhancing error correction capabilities, as increasing the Error Correction Code (ECC) engine encoding/decoding bit count leads to wastefulness in storage space utilization.

Innovation Solution

A method that calculates first and second parity codes across rows and non-overlapping sets of columns in a data bit array, utilizing a microprocessor and control logic to enhance error correction capability without increasing the ECC engine encoding/decoding bit count, allowing for efficient use of remaining storage space.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the ECC engine encoding/decoding bit count is increased to enhance error correction capability, then the error correction capability is improved, but the chip area and costs are greatly increased

Engineering Contradiction:
Improveerror correction capabilityVSAvoidchip area
Core Design Contradiction:
ReliabilityVSArea of stationary object

Solution Approach 1:

The data bit array is divided into multiple rows and columns, with parity codes calculated separately for each row and column set. This segmentation allows the ECC engine to process smaller, manageable units of data independently, reducing the required encoding/decoding bit count while maintaining comprehensive error correction coverage across the entire data array.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a two-dimensional parity check structure by calculating parity codes across both rows and columns of the data bit array. This dimensional approach enables error detection and correction through multiple perspectives, achieving enhanced error correction capability without proportionally increasing the ECC engine's bit count, as the same parity bits serve multiple checking purposes.

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

2Reliability

If the ECC engine encoding/decoding bit count is increased to enhance error correction capability, then the error correction capability is improved, but the storage space utilization is reduced

Engineering Contradiction:
Improveerror correction capabilityVSAvoidstorage space utilization
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

By segmenting the data into rows and columns with overlapping parity checks, the patent reduces the total number of parity bits required compared to traditional single-dimension ECC schemes. This segmentation allows more of the Flash memory capacity to be used for actual data storage while maintaining robust error correction through the multi-dimensional parity structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The parity codes calculated for row and column checks serve multiple functions simultaneously - they detect errors in their respective dimensions and enable error correction through the intersection of failed checks. This multi-functionality reduces the overhead of error correction code bits, thereby improving storage space utilization while maintaining high error correction capability.

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

3Quantity of substance

If traditional error correction methods are used to utilize all storage space, then storage space utilization is improved, but the error correction capability is insufficient

Engineering Contradiction:
Improvestorage space utilizationVSAvoiderror correction capability
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent implements a two-dimensional error correction structure where parity codes are calculated across both rows and columns of the data array. This dimensional approach enables the system to detect and correct errors using the intersection of row and column parity checks, achieving superior error correction capability without significantly increasing storage overhead, thus maintaining high storage space utilization.

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

Solution Approach 2:

By dividing the data array into manageable rows and columns with distributed parity checks, the patent achieves comprehensive error correction coverage across the entire storage space. This segmentation allows errors to be detected and corrected locally through row-column intersection, providing robust error correction capability while utilizing nearly all available storage space for data.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8560916B2Method for enhancing error correction capability of a controller of a memory device without increasing an error correction code engine encoding/decoding bit count, and associated memory device and controller thereof
Publication Date: 2013.10.15 SILICON MOTION INC
  • US8560916B2 patent drawing
  • US8560916B2 patent drawing
  • US8560916B2 patent drawing

AI summary

A method for enhancing error correction capability of a controller of a memory device without increasing an Error Correction Code (ECC) engine encoding/decoding bit count includes: regarding a plurality of rows of a data bit array, respectively calculating a plurality of first parity codes; regarding a plurality of sets of columns of the data bit array, respectively calculating a plurality of second parity codes, wherein each set of the sets includes two or more of the columns, and the sets do not overlap; and performing encoding/decoding corresponding to the first and the second parity codes. An associated memory device and the controller thereof are further provided.