Flash Memory Controller ECC Length Adaptation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Flash memory controllers face inefficiencies in data access due to the increased ECC length, leading to reduced read speed and low encoding efficiency, especially when handling data tables smaller than the fixed chunk size, and the need to read entire chunks for decoding.

Innovation Solution

A flash memory controller that selects a specific encoding/decoding setting based on the erase count of blocks, allowing for varying ECC lengths, enabling the generation of encoded data with a suitable size for efficient writing and reading, thereby improving access efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If LDPC codes are used to increase ECC length for better error correction, then decoding capability is improved, but read speed decreases

Engineering Contradiction:
Improvedecoding capabilityVSAvoidread speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent dynamically changes the ECC length parameter based on the erase count of flash memory blocks. For blocks with low erase counts, shorter ECC lengths are used to improve read speed. For blocks with high erase counts, longer ECC lengths are used to enhance error correction capability. This parameter adaptation resolves the contradiction by matching ECC strength to actual block conditions rather than using a fixed length for all blocks.

Inventive Principle:
Principle #35Parameter changes

2Ease of manufacture

If fixed-size chunks are used for encoding, then encoding simplicity is maintained, but encoding efficiency decreases when data tables are smaller than chunk size

Engineering Contradiction:
Improveencoding simplicityVSAvoidencoding efficiency
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent introduces dynamic chunk sizing where the encoder adapts the chunk size based on the actual data size being encoded. When data tables are smaller than the traditional fixed chunk size, the encoder creates smaller chunks that match the data size, eliminating the need to pad and read unnecessary data. This dynamic adjustment maintains encoding simplicity while significantly improving encoding efficiency for variable-sized data.

Inventive Principle:
Principle #15Dynamics

3Reliability

If entire chunks are read for decoding, then decoding completeness is ensured, but decoding efficiency decreases for small data tables

Engineering Contradiction:
Improvedecoding completenessVSAvoiddecoding efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts only the necessary portion of data for decoding by using dynamic chunk sizing. Instead of reading entire fixed-size chunks, the system reads only the specific size needed for the data table being decoded. This extraction principle maintains decoding completeness for the actual data while eliminating the overhead of reading and processing unnecessary padding data, thereby improving decoding efficiency.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS12079483B2Method for accessing flash memory module, flash memory controller, and memory device
Publication Date: 2024.09.03 SILICON MOTION INC
  • US12079483B2 patent drawing
  • US12079483B2 patent drawing
  • US12079483B2 patent drawing

AI summary

A method for accessing a flash memory module includes: selecting a block in the flash memory module; selecting a specific encoding/decoding setting from a plurality of sets of encoding/decoding settings at least according to an erase count of the block, wherein the plurality of sets of encoding/decoding settings include different error correction code (ECC) lengths, respectively; utilizing the specific encoding/decoding setting to encode a data to generate an encoded data; and writing the encoded data into the block.