Memory Controller Decoding for Multi-Bit Non-Volatile Memory Errors

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory systems face challenges in efficiently correcting errors in non-volatile memory, particularly when the number of error bits exceeds one, leading to decoding failures and reduced data integrity.

Innovation Solution

A memory controller employs a decoding method that calculates syndromes from received words, estimates the number of error bits, and performs variable transformation on an error locator polynomial to correct errors of up to three bits using a simplified configuration by utilizing specific polynomial transformations and inverse operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional error correction methods are used, then decoding can be performed, but error correction capability is insufficient when error bits exceed one

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

Solution Approach 1:

The decoding process is segmented into distinct stages: syndrome calculation, error bit estimation, conditional variable transformation, and root calculation. This segmentation allows the system to handle different error scenarios (1-bit vs. 2-3 bit errors) through separate processing paths, improving error correction capability while managing complexity through structured organization of decoding operations

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies parameter changes by transforming the error locator polynomial through variable substitution (changing the mathematical parameter representation) when 2-3 bit errors are detected. This parameter transformation enables the decoding system to adapt its calculation approach based on the error condition, enhancing reliability for multi-bit errors while maintaining efficient processing through conditional logic

Inventive Principle:
Principle #35Parameter changes

2Reliability

If error correction is performed for multiple error bits, then data integrity improves, but decoding complexity increases

Engineering Contradiction:
Improvedata integrityVSAvoiddecoding process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The decoding system dynamically adjusts its processing complexity based on the detected error condition. When syndrome calculation indicates 1-bit errors, the system follows a simpler path; when 2-3 bit errors are detected, it activates the variable transformation and root calculation procedures. This dynamic adaptation ensures data integrity for multiple error types while optimizing resource usage by applying complex operations only when necessary

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The syndrome calculation results provide feedback that determines the subsequent decoding path. Based on the syndrome values, the system estimates the number of error bits and selects the appropriate correction methodology. This feedback mechanism enables the system to maintain high data integrity by accurately identifying error conditions while managing complexity through conditional processing based on real-time syndrome analysis

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS12362768B2Memory system, memory controller, and method of controlling non-volatile memory
Publication Date: 2025.07.15 KIOXIA CORP
  • US12362768B2 patent drawing
  • US12362768B2 patent drawing
  • US12362768B2 patent drawing

AI summary

A memory system includes a non-volatile memory and a memory controller. The memory stores data encoded with an error correction code for correcting errors of n (n is 3 or more) bits or less. The controller estimates the number of error bits by using syndromes calculated from a received word. When the number of error bits is two or three, the controller executes variable transformation on a variable of an error locator polynomial corresponding to the number of error bits with a first value or a second value based on the syndromes. The controller also executes, with the first/second values, calculation of roots of a transformed polynomial obtained by converting the error locator polynomial. The controller obtains roots of the error locator polynomial by variable inverse transformation on the roots of the transformed polynomial and corrects the error of the error locations corresponding to the obtained roots.