Flash Memory Controller Adaptive ECC Encoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The use of low-density parity-check codes (LDPCs) in flash memory controllers increases error correction capability but results in higher ECC lengths, leading to reduced read speed due to increased data amounts, and traditional encoders output fixed-size chunks, resulting in low encoding efficiency for smaller data tables.

Innovation Solution

A flash memory controller that determines the type of data to be written and selects specific encoding/decoding settings based on data length, generating encoded data with suitable sizes for efficient writing and reading, improving access efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

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

Engineering Contradiction:
Improveerror correction capabilityVSAvoidread speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent applies parameter changes by dynamically adjusting the ECC length and encoding/decoding settings based on the type of data being processed. Different data types (e.g., large files vs. small files) receive different ECC configurations, allowing the system to optimize between error correction capability and read speed according to actual needs rather than using a fixed ECC length for all data.

Inventive Principle:
Principle #35Parameter changes

2Ease of manufacture

If traditional fixed-size chunk encoding is used, then encoding simplicity is maintained, but encoding efficiency decreases for smaller data tables

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

Solution Approach 1:

The patent implements dynamics by making the encoder adaptable to different data sizes. Instead of using a fixed chunk size, the system dynamically selects encoding parameters based on the actual data type and size, allowing efficient encoding of various data table sizes while maintaining the simplicity of the encoding process through automated parameter selection.

Inventive Principle:
Principle #15Dynamics

3Reliability

If decoder reads entire chunks for decoding, then decoding capability is maintained, but decoding efficiency decreases for small data tables

Engineering Contradiction:
Improvedecoding capabilityVSAvoiddecoding efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies local quality by tailoring the decoding process to the specific data being processed. Instead of uniformly decoding entire chunks for all data types, the system adjusts decoding parameters and chunk sizes according to the specific data table characteristics, improving decoding efficiency for small data tables while maintaining robust decoding capability for larger data.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS12039171B2Method for accessing flash memory module, flash memory controller, and memory device
Publication Date: 2024.07.16 SILICON MOTION INC
  • US12039171B2 patent drawing
  • US12039171B2 patent drawing
  • US12039171B2 patent drawing

AI summary

A method for accessing a flash memory module includes: determining a type of data to be written into the flash memory module; selecting a specific encoding/decoding setting from a plurality of sets of encoding/decoding settings at least according to the type of data, wherein the plurality of sets of encoding/decoding settings correspond to different data lengths, respectively; utilizing the specific encoding/decoding setting to encode the data to generate encoded data; and writing the encoded data into a block of the flash memory module.