Nonvolatile Memory ECC Decoding With PGZ-BM Error Locator Switching
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
3Reliability
If higher degree error locator polynomials are calculated sequentially, then comprehensive error correction is achieved, but computational complexity increases
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.
Data Source
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.


