Nonvolatile Memory ECC Decoding With PGZ-BM Error Locator Switching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current memory systems face inefficiencies in decoding error correction codes due to high computational complexity, particularly when calculating higher degree error locator polynomials, which increases latency and affects error correction capabilities.

Innovation Solution

A memory system that employs a combination of the Peterson-Gorenstein-Zierler (PGZ) algorithm for calculating low degree error locator polynomials in parallel and the Berlekamp-Massey (BM) algorithm for higher degree polynomials, using an initial value obtained from the PGZ algorithm when lower degree polynomials fail to determine error locations, to reduce latency and improve error correction.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the Berlekamp-Massey (BM) algorithm is used to calculate higher degree error locator polynomials, then error correction capability is improved, but computational complexity and latency increase

Engineering Contradiction:
Improveerror correction capabilityVSAvoiddecoding latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the error locator polynomial calculation into two distinct phases: first calculating low degree polynomials (degree 1 to k) using the PGZ algorithm in parallel, then calculating higher degree polynomials (degree k+1 to 2t-1) using the BM algorithm sequentially. This segmentation allows the system to benefit from both the speed of parallel PGZ calculation for low degree polynomials and the comprehensive error correction capability of BM for higher degree polynomials, thereby reducing overall decoding latency while maintaining strong error correction capability.

Inventive Principle:
Principle #1Segmentation

2Loss of time

If parallel calculation of low degree error locator polynomials is performed using PGZ algorithm, then decoding latency is reduced, but error correction capability for higher degree errors is limited

Engineering Contradiction:
Improvedecoding latencyVSAvoiderror correction capability
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The patent performs preliminary calculation of low degree error locator polynomials using the PGZ algorithm in parallel before proceeding to calculate higher degree polynomials. By completing the low degree calculations first and using their results as initial values for the subsequent BM algorithm, the system reduces overall computation time while ensuring that both low and high degree error patterns can be corrected, thus maintaining comprehensive error correction capability.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If higher degree error locator polynomials are calculated sequentially, then comprehensive error correction is achieved, but computational complexity increases

Engineering Contradiction:
Improveerror correction capabilityVSAvoidcomputational complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent divides the polynomial calculation workload into two segments: low degree polynomials calculated in parallel using PGZ algorithm, and higher degree polynomials calculated sequentially using BM algorithm. This segmentation reduces the overall computational complexity by leveraging the efficiency of parallel PGZ calculation for the majority of low degree polynomials, while reserving sequential BM calculation only for the necessary higher degree cases, thereby achieving comprehensive error correction with reduced computational burden.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11831335B2Memory system and control method of controlling nonvolatile memory
Publication Date: 2023.11.28 KIOXIA CORP
  • US11831335B2 patent drawing
  • US11831335B2 patent drawing
  • US11831335B2 patent drawing

AI summary

A memory system includes a memory controller. The memory controller executes first calculation of obtaining a first degree to k-th degree error locator polynomials (1≤k<t) by using a syndrome, determines whether error locations can be calculated by the error locator polynomials up to the k-th degree, obtains an initial value of a parameter to be used for second calculation of obtaining error locator polynomials up to t-th degree when it is determined that the error locations cannot be calculated, executes the second calculation using the initial value, calculates the error locations by using an error locator polynomial determined to be able to calculate the error locations among the first degree to k-th degree error locator polynomials or by using error locator polynomials obtained in the second calculation, and corrects errors in the calculated error locations.