Method for bch soft decoding and apparatus for performing the same

By optimizing the linear space solution and computation sharing mechanism of the BCH soft decoding algorithm, the complexity is reduced, enabling effective decoding under more error conditions and improving the bit error rate coverage of BCH codes.

CN116418352BActive Publication Date: 2026-05-19SAMSUNG ELECTRONICS CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
SAMSUNG ELECTRONICS CO LTD
Filing Date
2022-11-11
Publication Date
2026-05-19

AI Technical Summary

Technical Problem

Existing BCH soft decoding algorithms are complex when handling error modes and can only decode when the number of weak bits in the error is greater than or equal to r+1, making them ineffective in handling more error scenarios.

Method used

By finding the dimensional bound of the linear space solutions of the (t+r)-key-equation, the core processing is reduced to a small evaluation set associated with a linear basis of size r of the key equation, and a large amount of computation is shared between iterations, controlling the combinatorial ordering of solutions to the relevant linear equations, providing soft decoding capabilities with reduced complexity.

Benefits of technology

It achieves decoding capability when the number of weak bit errors is ≥r-1, significantly reducing complexity, and can still effectively decode when the number of weak bit errors is ≥r+1, thus improving the bit error rate coverage of BCH codes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116418352B_ABST
    Figure CN116418352B_ABST
Patent Text Reader

Abstract

A method for Bose-Chaudhuri-Hocquenghem (BCH) soft error decoding and an apparatus performing the method are provided. The method includes receiving a code word x, wherein the received code word x has t = t + r errors for some r ≥ 1; calculating a minimal monomial basis of an affine space V = {λ(x) ∈ F[x]: λ(x) · S(x) = λ'(x) (mod x 2t ), λ(0) = 1, deg(λ(x) ≤ t + r} where λ(x) is an error locator polynomial and S(x) is a syndrome; calculating a matrix A ≡ (λ j (β i )) i∈[w],j∈[r+1] , where W = {β1,..., β w} is a set of weak bits in x; constructing an r + 1 row submatrix from r + 1 rows of a subset of A such that the last column is a linear combination of the other columns; forming a candidate error locator polynomial using coefficients of the minimal monomial basis resulting from the constructed submatrix; performing a fast Chien search to verify the candidate error locator polynomial; flipping channel hard decisions at error locations found in the candidate error locator polynomial.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments of this disclosure are directed to algorithms for deterministically decoding Bose-Chaudhuri-Hocquenghem (BCH) codes having up to r errors exceeding (d-1) / 2 Hamming distance with a very high probability in error modes, which improves the raw bit error rate (BER) coverage of BCH and soft-BCH (SBCH) codes. Background Technology

[0002] Because of Chase, a well-known and widely used BCH soft decoding scheme, the BCH code is deterministically decoded by randomly flipping weak bits and then performing full hard decision (HD) BCH decoding on each flip. Other existing fast Chase decoders use partial decoding on each iteration, but the range of error modes covered by the decoder is smaller. The fast Chase proposed by Wu et al. increases the soft decoding capability compared to Chase soft decoding, which provides an improvement over the classic HD BCH decoder. However, existing algorithms require approximately t+r operations per iteration by processing a polynomial of the entire error-locator-polynomial (ELP) type, and decoding is only possible if the number of weak bits as errors is ≥r+1. Summary of the Invention

[0003] Embodiments of this disclosure provide the following methods: (1) finding and proving the dimension bound of the linear space solutions to the (t+r)-key-equation; (2) reducing the core processing to a small evaluation set associated with a linear basis of size r of the key equation; (3) significant computational sharing between iterations; and (4) controlling the combinatorial ordering of solutions to the relevant linear equations. Embodiments of this disclosure provide reduced complexity when there are more errors in the set of weak bits. Embodiments of this invention also provide soft decoding capabilities beyond the Wu algorithm.

[0004] The algorithm according to embodiments of this disclosure, by passing the evaluation set of the basis to an ELP-type polynomial, uses r operations in each iteration, and can decode when the number of weak bits as errors is ≥ r-1, and provides a significant reduction in complexity as the number of errors in the weak bits increases. The design according to embodiments of this disclosure is such that whenever the number of weak bits as errors is ≥ r+1 and When, and whenever the number of weak bits as errors is ≥ r-1 and At any time, it can be decoded, where w is the number of weak bits, c>0, and C>0 is the complexity budget.

[0005] According to one embodiment of this disclosure, a computer-implemented Bose-Chaudhuri-Hocquenghem (BCH) soft error decoding method is provided, comprising: receiving a codeword x through a communication channel, wherein the received codeword x has τ = t + r errors for a certain r ≥ 1, where t = (d - 1) / 2 and d is the minimum distance of the BCH code; calculating the affine space V = {λ(x) ∈ F[x]: λ(x) · S(x) = λ'(x) (mod x)} 2t The smallest monotonic basis of λ(0)=1, deg(λ(x)≤t+r} Where λ(x) is the error localization polynomial, S(x) is the corrector, and F[x] = GF(q), where for m > 1, q = 2. m ; Calculate matrix A≡(λ) j (β i )) i∈[w],j∈[r+1] Where W={β1,...,β w} is the set of weak bits in x; each subset is obtained by retrieving the set W” = R(W') from memory. Process it, and by sending it to B W” Add a row to calculate B W’ And for B W’ Perform Gaussian elimination, where R(W') is the reliability probability of the bits in W'; and where, when B W’ When the first r' columns are the transpose of the system matrix and deg(λ(x)) = t + r', where 1 ≤ r' ≤ r, perform the following: calculate u(x) = gcd(λ(x), λ'(x)), where λ'(x) is the derivative of λ(x); when u(x) is a scalar in F*, calculate λ(Φ\W') and subtract Z from it. λ(x),Φ Z λ(x),Φ ={β∈Φ:λ(β)=0}; when |Z λ(x),Φ When |=t+r', add (λ(x),Z λ(x),Φ For all (r', λ(x), Z) λ(x),Φ A set L such that 1 ≤ r' ≤ r, λ(x) ∈ V' r’ ,|Z λ(x),W |≥r'+1, and |Z λ(x),Φ |=t+r'; and the output set L.

[0006] According to a further embodiment of this disclosure, added to B W” The line is any odd-square polynomial in the codeword x.

[0007] According to a further embodiment of this disclosure, the method includes forming an error location polynomial from coefficients in a set L, and flipping a channel hard decision at the error location found in the received codeword.

[0008] According to a further embodiment of this disclosure, when B W’ When the first r' columns are the transpose of the system matrix, λ(x)∈V r’ It is unique and for every β∈W', λ(β)=0.

[0009] According to a further embodiment of this disclosure, the method includes terminating the processing of W' when deg(u(x))≥1.

[0010] According to a further embodiment of this disclosure, the method includes terminating the processing of W' when the first r' columns of BW' are not the transpose of the system matrix or deg(λ(x))≠t+r'.

[0011] According to a further embodiment of this disclosure, the method includes, before calculating u(x)=gcd(λ(x),λ'(x)), for each r≥ρ≥r'+2 and (W1,λ1(x)) pair such that λ(x)∈V' ρ and Where |W1|=ρ+1, and λ1(x)∈V ρ It is the only polynomial that makes λ1(W1) = 0, and calculate λ1'(β) for each β in W1.

[0012] According to a further embodiment of this disclosure, the method includes terminating the processing of W1 when λ1'(β) = 0 for any β in W1.

[0013] According to embodiments of this disclosure, a computer-readable non-transitory program storage device is provided, tangibly containing a computer-executable instruction program to perform method steps for Bose-Chaudhuri-Hocquenghem (BCH) soft error decoding. The method includes: receiving a codeword x via a communication channel, wherein the received codeword x has τ = t + r errors for some r ≥ 1, where t = (d - 1) / 2 and d is the minimum distance of the BCH code; calculating the affine space V = {λ(x) ∈ F[x]: λ(x) · S(x) = λ'(x) (mod x)} 2t The smallest monotonic basis of λ(0)=1, deg(λ(x)≤t+r} Where λ(x) is the error localization polynomial, S(x) is the corrector, and F[x] = GF(q), where for m > 1, q = 2. m ; Calculate matrix A≡(λ) j (β i )) i∈[w],j∈[r+1]Where W={β1,...,β w Let} be the set of weak bits in x; construct an r+1 row submatrix from a subset of A such that the last column is a linear combination of the other columns; form a candidate error-localization polynomial using the coefficients of the minimum monotonic basis generated from the constructed submatrix; perform a fast Chien search, where the candidate error-localization polynomial is verified; and flip the channel hard decision at the error location found in the candidate error-localization polynomial and return the decoded codeword x.

[0014] According to a further embodiment of this disclosure, constructing an r+1 row submatrix from a subset of A such that the last column is a linear combination of the other columns includes: retrieving the set W” = R(W') from memory for each subset. Processing is performed by sending a message to B. W” Add a row to calculate B W’ And for B W’ Perform Gaussian elimination, where R(W') is the reliability probability of the bits in W'. When B W’ The method comprises performing the following steps: 1 ≤ r' ≤ r, where the first r' columns are the transpose of the system matrix and deg(λ(x)) = t + r'. λ(x),Φ Among them, Z λ(x),Φ ={β∈Φ:λ(β)=0}; when |Z λ(x),Φ When |=t+r', add (λ(x),Z λ(x),Φ For all (r', λ(x), Z) λ(x),Φ A set L such that 1 ≤ r' ≤ r, λ(x) ∈ V' r’ |Z λ(x),W |≥r'+1, and |Z λ(x),Φ |=t+r'; and the output set L.

[0015] According to one embodiment of the present invention, a computer memory-based product is provided, comprising: a memory; and digital circuitry tangibly containing a program of instructions executable by a computer to perform a method or Bose-Chaudhuri-Hocquenghem (BCH) soft error decoding.

[0016] According to a further embodiment of the present invention, the memory is at least one of a solid-state drive, general-purpose flash memory, or DRAM. Attached Figure Description

[0017] Figure 1 This is a flowchart of an error decoding algorithm according to an embodiment of the present disclosure.

[0018] Figure 2 This is a block diagram of a novel architecture for implementing an error decoding algorithm according to embodiments of the present disclosure.

[0019] Figure 3 This is a block diagram of a system for implementing a novel architecture for error decoding algorithms according to embodiments of the present disclosure. Detailed Implementation

[0020] Introduction – Part 1

[0021] Let m > 1, q = 2 m F = GF(q), d is the minimum distance of the BCH code, t = (d-1) / 2, and α is the primitive element of F. <n<2 m Let k be the length of the BCH code, and k = n - 2t be the code dimension. Consider a BCH code whose evaluation set is A = {α} 1 ,…..,α n}, and the parity check matrix is ​​H=(α i·j (So ​​that 1≤i≤2t, 1≤j≤n).

[0022] Codeword X = (x1, ..., x n )∈GF(2) n The text Y = (y1, ..., y1) is sent and the word Y = (y1, ..., y2) is sent. n )∈GF(2) n Received. Error word: e = YX = (e1, ..., e n And E = {α} u Make e u =1} is the set of error locations. The decoder computes the standard BCH corrector: [S0,…,S d-2 ] T =H·Y=H·e, which is F (d-1) The vector in the vector. The corrector polynomial is:

[0023] S(x)=Σ 0≤i≤d-2 S i ·x i .

[0024] The receiver first attempts to decode using the standard Berlekamp-Massey (BM) algorithm combined with Chien search. If this fails, it continues with the fast soft decoding proposed according to embodiments of this disclosure. A failed BM means that the received word has τ = t + r errors for some r ≥ 1. The set of error locations is determined by... This indicates that E0 is unknown to the decoder. The following algorithm will succeed as long as the number of errors is 1 ≤ r' ≤ r. Initially, the soft decoder observes the set of weak bits. Typically, w ≡ |W| << n. The error - locator polynomial (ELP) polynomial is defined as:

[0025] λ*(x) = Π 1≤j≤t+r (1 - x·α j ).

[0026] Let E = {1 / β: β ∈ E0}. For β ∈ F, β ∈ E holds if and only if λ*(β) = 0. The task of the following soft - decoding algorithm is to first find λ*(x) and then E. Invoking the BCH key equation, the following affine polynomial space is defined:

[0027] V = {λ(x) ∈ F[x] such that λ(x)·S(x) = λ’(x) (mod x d-1 ), and λ(0) = 1, deg(λ(x)) ≤ t + r},

[0028] and

[0029] U = V + λ*(x).

[0030] Since λ*(x) ∈ V as described above, it has been shown that dim(U) = dim*(V) ≤ r, and

[0031] U = {λ(x) ∈ F[x] such that λ(x)·S(x) = λ’(x) (mod x d-1 ), and λ(0) = 0, deg(λ(x)) ≤ τ}.

[0032] It is also noted that for each λ(x) ∈ V, U = V + λ(x).

[0033] When |E ∩ W| ≥ r + 1, the algorithm according to the embodiment has a complexity

[0034]

[0035] W can be determined, for example, by the log - likelihood ratio, so this will be a common case. In fact, the larger |E ∩ W| is, the faster the algorithm becomes.

[0036] Introduction – Part 2

[0037] Using the above notations, let m ≥ 1, q = 2 m , F = GF(q), d = 2t + 1 be the code minimum distance, and t + r (t ≥ r ≥ 1) be the maximum number of errors that the subsequent algorithm can correct. This section outlines the BCH soft - decoding process without the details of the ECC and BCH context, without the details of the construction of the basis of V, and without the mathematical proofs.

[0038] In one embodiment, a false alarm (FA) refers to the processing of any polynomial exceeding its minimum value that the algorithm checks, and it is not an actual ELP. Specifically, it involves unnecessarily activating the computationally intensive Chien search. The algorithm according to one embodiment has a built-in mechanism that minimizes the use of the Chien search and reduces other verifications when an FA occurs. In particular, the algorithm according to one embodiment anticipates FA bursts and detects them with reduced complexity. Such FAs may be caused by an ELP with multiple errors in weak bits.

[0039] In the standard BCH soft decoding algorithm known as the Chase algorithm, each probe requires a Chien search performed by q×t products, while the algorithm according to one embodiment requires an average of O(r) products, which is a significant reduction. The proof of the low expectation number of the Chien search is based on two BCH probability bounds, called probability bounds 1 and 2 (PB1, PB2), which show that the upper limit of the false alarm probability is q. -1 Even q -s In some cases of interest, s > 1.

[0040] For N≥1, if for all 0≤k<(N-1) / 2:b k 2 =b 2k+1 Then b(x) = Σ 0≤k<N b k x k ∈F[x] is called an odd-square. In the following overview, the main input to the algorithm according to the embodiment is a random odd-square polynomial b(x)∈F[x]. This is a generalized form of the corrector subpolynomial.

[0041] A polynomial B(x) can be converted into a binary vector. For example, if B(x) = 1 + x + x 3 +x 5 Then the binary vector is 110101.

[0042] Note that the GCD (greatest common divisor) of two polynomials with degree ≤ N calculated using the Euclidean algorithm can be obtained using N. 2 To execute, use a product.

[0043] The theoretical justification for the algorithm given below is provided in the appendix of the detailed implementation.

[0044] enter

[0045] In this general setup, the input to the algorithm is:

[0046] (1) b(x)∈F[x], any odd square polynomial—this is a binary codeword;

[0047] (2) Integers (t, r, n, m), where 2 m >n>t≥r≥1,n>w≥r+1 andF=GF(2 m );

[0048] (3) Settings Where F* is a finite field such that n = |Φ| and w = |W|.

[0049] Here, Φ represents the code evaluation set, which is an auxiliary computation for decoding, and W represents weak bits, as described below. Weak bits are bits with a low probability of correct decoding.

[0050] Setup, symbol representation, processing principle, running memory

[0051] For 0 ≤ r' ≤ r, define:

[0052] V r’ ≡V 2t,t+r’,b(x) ≡{λ(x)∈F[x]:λ(x)·b(x)=λ'(x)(mod x 2t ),deg(λ(x))≤t+r',λ(0)=1},

[0053] V' r’ ={λ(x)∈F[x]:λ(x)·b(x)=λ'(x)(mod x 2t ),deg(λ(x))=t+r',λ(0)=1}, V≡V r ,

[0054] And write

[0055] W = {β1,...,β} W}, where β i It is the probability and index of weak bits.

[0056] Note that without loss of generality, we can assume dim(V) = r. ◆

[0057] For each λ(x)∈F[x] and set definition

[0058] λ(U)={λ(β):β∈U},

[0059] Z λ(x),U ={β∈U:λ(β)=0}. ◆

[0060] Let 1 ≤ r' ≤ r. Note that, according to the uniqueness lemma, if λ(x) ∈ V r’ It is separable, and for |Z|≥r’, where Z is the zero set of λ(x), i.e., λ(Z) = {0}, then λ(x) is the only polynomial in V r’ whose only Z is the zero set. ◆

[0061] Definition. For define Q* = {i ∈ [w]: β i ∈ Q}.

[0062] Definition

[0063] A ≡ (λ j (β i )) i∈[w],j∈[r+1]. ,

[0064] and for define A Q to be the matrix obtained from A by omitting all rows not in Q*, and B Q is the unique reduced row echelon (RRE) matrix, also called the semi-system matrix, whose row space is equal to that of A Q . ◆

[0065] If B = [I, C], i.e., B is the concatenation of I and C into a matrix, where I is the identity matrix, then the matrix B is called a system matrix. ◆

[0066] Set sorting and processing principle.

[0067] Subsets of W are sorted in a total order (<), usually in alphabetical order, such as depth-first order, where for any W1 and W2, subsets of W such that |W i | ≤ r + 1, if W1 < W2 then W1 is processed before W2. There exists a mapping R such that for each 1 ≤ |W’| ≤ r + 1, there exists which is unique, where |W”| = |W’| − 1, such that the following holds:

[0068] (1) Running memory. For each and j ≡ |W’| ≤ r + 1, the running memory stored before processing W’ contains {B W’(i) : i ∈ [j]}, where and for i ∈ [j]: |W’(i)| = i, and R(W(i)) = W(i − 1), which means the running memory is very small.

[0069] (2) Computation sharing. For each where |W’| ≤ r + 1, when processing W’, the decoder first computes B W’ . This is retrieved from the memory matrix BR(W’) Then, the minimum number of delta Gaussian elimination operations are performed to calculate B. W’ Each W' requires an average of O(r) products.

[0070] Output

[0071] According to one embodiment, the algorithm is a list decoder, which is a decoder that outputs a list of codewords. A codeword in the list is the original valid codeword. The output is a set L, which is all (r', λ(x), Z) λ(x),Φ The codeword array of ) makes:

[0072] 1≤r'≤r,λ(x)∈V' r’ ,|Z λ(x),W |≥r'+1, and |Z λ(x),Φ |=t+r'.

[0073] step

[0074] Figure 1 This is a flowchart of an error decoding algorithm according to an embodiment of the present disclosure. Referring now to this figure, the algorithm according to one embodiment begins in step 101 by receiving codeword x.

[0075] According to one embodiment of the algorithm, the minimum monotonic basis of V is first calculated in step 102: Then, in step 103, the matrix A defined above is calculated, and the following is also calculated:

[0076] {λ j (β):β∈Φ\W,j∈[r+1]}.

[0077] Methods for calculating the minimum monotonic basis of V and the matrix A are known in the art.

[0078] (ii) In step 104, each set is traversed in order according to the algorithm of one embodiment. Where |W'| ≤ r+1. When When (where r'+1≡|W'|≤r+1) is processed, the decoder retrieves W”=R(W') from the runtime memory, which is the read data and reliability probability, and adds the polynomial vector b(x) as a row to B. W” To calculate base B W’ And perform the minimum number of Gaussian elimination operations to produce a set of codewords. If in step 105, B W’ If the first r' columns are the transpose of the system matrix, then there exists an instant check that tells the decoder whether there exists a unique λ(x) ∈ V. r’This ensures that for every β∈W', λ(β)=0. If the answer is yes and deg(λ(x))=t+r', the following steps occur; otherwise, the processing of W' ends in step 109, where the output set L is given.

[0079] (s1) In step 106, the Euclidean algorithm is applied to calculate u(x) = gcd(λ(x),λ'(x)).

[0080] (s2) In step 107, if u(x) is a scalar in F* (i.e., λ(x) is separable), then compute λ(Φ\W') (i.e., Chien search) and subtract Z from it. λ(x),Φ Otherwise, if deg(u(x))≥1, the processing of W' ends in step 109.

[0081] (s3) In step 108, if u(x) is a scalar and |Z λ(x),Φ |=t+r', then (λ(x),Z λ(x),Φ ) is added to L.

[0082] As mentioned above, this process requires an average of O(r) products, instead of the standard O(r) in existing solutions. 3 )indivual.

[0083] Commentary and further reduction of false alarms in some different situations

[0084] (1) According to (i), in the algorithm according to one embodiment, for λ(x)∈V r’ and subsets The computation of λ(U), such as the Chien search when U = Φ, is done in a fast mode that requires r' products for each β, instead of t+r' in the standard method. This is because λ(x) - λ r+1 (x) is A linear combination of .

[0085] (2) According to probability bound 2 (PB2) described in the appendix below, in BCH decoding, for Where |W'|=r'+s (s≥1), there exists a λ(x)∈V' that is not an ELP. r’ The upper bound of the probability that λ(W') = {0} is q -s / (1-q -2 It was observed that if s = 1, the product of λ(x) will no longer appear in the algorithm.

[0086] (3) Assume s = a + 1, where a ≥ 1 and r ≥ r' + a + 1 = r' + s and there exists (where |W'|=r'+s) and separable λ(x)∈V'r’ Such that λ(W') = {0}. Such an event can be described as the event that a polynomial in each V overflows to zero within W compared to its degree.

[0087] (4) Based on the assumption in (3), for each 1≤b≤a such that r'+2b≤r and r'+1+a+b≤w, take any distinct β1,...,β b ∈W\W', and define:

[0088] λ1(x)≡(1-β1·x) 2 ·…·(1-β a ·x) 2 ·λ(x) and W1≡W'∪{β1,...,β a}

[0089] It is considered that λ1(x) according to the above algorithm in the embodiment may be unnecessarily processed as part of the processing of subset W1. This undesirable possibility stems from the following fact:

[0090] deg(λ1(x))=t+r'+2b, |W1|=r'+a+b+1, a≥b, and λ1(W1)={0}.

[0091] Although the occurrence of (3) is very rare when λ(x) is not an ELP (see (2) above), it sometimes occurs when λ(x) is an ELP. This depends on the input of the algorithm. When (3) occurs, for some λ(x) ∈ V' r’ In one embodiment, the decoder performs the following preliminary step (s0) before (s1) under the condition that the minimum r' satisfies (3):

[0092] (s0) For every r ≥ ρ ≥ r' + 2 and (W1, λ1(x)) such that λ(x) ∈ V' ρ and (where |W1|=ρ+1), and λ1(x)∈V ρ The decoder computes λ1'(β) for each β in W1, and if λ1'(β) = 0 for any β in W1, the processor terminates processing W1.

[0093] It is observed that if for some β in W1, λ1'(β) = 0, then λ1(x) is indivisible. It should also be noted that the calculation of λ1'(β) only requires (t+ρ) / 2 products.

[0094] Overview

[0095] A decoding system according to one embodiment Figure 2 As shown in the figure. According to one embodiment, using Represents the (n,k,d) BCH codeword, where x i ∈GF(2), k is the code dimension, n is the code length, and d is the minimum distance of the BCH code. The codewords are transmitted through channel 10 and have independent and identically distributed transition probabilities P(z|x), where... And x∈GF(2). Hard decision decoder 11 receives the channel output and decodes the codeword. Let the log-likelihood ratio of symbol i be given the channel value z. i As And y is used as the hard decision for the channel, where The classic BCH decoder 12 is applied to y. If |{j|x j ≠y j For 1≤i≤n}|>t, where The classic BCH decoder fails and the BCH software decoder 13 according to the embodiment is applied.

[0096] According to one embodiment, the BCH soft decoder algorithm is summarized below.

[0097] Input: z, y

[0098] Output:

[0099] 1. Find a set of w weak bit positions (lowest likelihood ratio):

[0100]

[0101] The solution to the key equation 2.t+r forms an r-dimensional affine space.

[0102] Find a monotone affine basis: Λ={λ1(x)…λ r+1 (x)}.

[0103] With high probability, ELP is given as an affine combination of this basis:

[0104] λ(x)=b1·λ1(x)+b2·λ2(x)+…b r ·λ r (x)+λ r+1 (x).

[0105] 3. Effectively find r+1 positions from w positions, these positions will have certain coefficients {b} i} 1≤i≤r The ELP polynomial returns to zero:

[0106] a. Calculate the solution matrix:

[0107]

[0108] b. Iterate through all combinations of submatrices in the (r+1)th row of a subset of A to find a submatrice in the (r+1)th row such that the last column is a linear combination of the other columns.

[0109] This part receives the coefficients of the affine basis b and r+1 fault positions.

[0110] This is the main part of the algorithm, which is described in detail in steps (ii), s1, s2, and s3 above.

[0111] Computational sharing reduces the complexity of each check from O(r) 3 The value decreases to O(r).

[0112] c. Use the obtained coefficients to form candidate ELPs.

[0113] 4. Perform a fast Chien search to verify candidate ELPs and error locations.

[0114] 5. The error location found in step 3 is flipped for a hard decision on the channel and the decoded word is returned.

[0115] System Implementation

[0116] It should be understood that embodiments of this disclosure can be implemented in various forms of hardware, software, firmware, dedicated processes, or combinations thereof. In one embodiment, this disclosure can be implemented in hardware as an application-specific integrated circuit (ASIC) or a field-programmable gate array (FPGA). In another embodiment, this disclosure can be implemented in software as an application tangibly contained in a computer-readable program storage device. The application can be uploaded to and executed by a machine including any suitable architecture.

[0117] Furthermore, the methods and implementations of the embodiments of this disclosure can be used or incorporated into any memory-based product, such as solid-state drives (SSDs), universal flash memory (UFS) products, DRAM modules, etc.

[0118] Figure 3 This is a block diagram of a system for implementing a BCH soft decoding method according to embodiments of the present disclosure. Reference is now made to... Figure 3The computer system 31 used to implement this disclosure may in particular include a central processing unit (CPU) or controller 32, memory 33, and input / output (I / O) interface 34. The computer system 31 is typically coupled to a display 35 and various input devices 36, such as a mouse and keyboard, via the I / O interface 34. Supporting circuitry may include circuitry such as cache, power supply, clock circuitry, and communication buses. Memory 33 may include random access memory (RAM), read-only memory (ROM), disk drives, tape drives, etc., or combinations thereof. This disclosure may be implemented as routines 37 stored in memory 33 and executed by the CPU or controller 32 to process signals from signal source 38. Thus, the computer system 31 is a general-purpose computer system that becomes a purpose-specific computer system when executing the routines 37 of this disclosure. Alternatively, as described above, embodiments of this disclosure may be implemented as an ASIC or FPGA 37 that communicates signals with the CPU or controller 32 to process signals from signal source 38.

[0119] Computer system 31 also includes an operating system and microinstruction code. The various processes and functions described herein may be part of the microinstruction code or part of an application program (or a combination thereof) executed by the operating system. Furthermore, various other peripheral devices may be connected to the computer platform, such as additional data storage devices and printing devices.

[0120] It should also be understood that, since some of the system components and method steps described in the accompanying drawings can be implemented in software, the actual connections between system components (or process steps) may vary depending on how this disclosure is implemented. In view of the teachings provided herein, those skilled in the art will be able to consider these and similar implementations or configurations of this disclosure.

[0121] Although the present disclosure has been described in detail with reference to exemplary embodiments, those skilled in the art will understand that various modifications and substitutions may be made therein without departing from the spirit and scope of the present disclosure as set forth in the appended claims.

[0122] appendix

[0123] 1. Analysis of the key equation of BCH I: Beyond the (D-1) / 2 radius and dimension equation

[0124] 1.1 Introduction

[0125] Here F = GF(2) m ), m>1 and empty sum is zero.

[0126] Definition 1:

[0127] (i) For an n-dimensional vector space V and a subspace over F And for v∈V, we define the dimension of the affine space v+U as n, and write it as:

[0128] dim * F (v+U)=n.

[0129] (ii) For L≥N≥1, and b(x)=Σ 0≤k<N b k x k c(x)=Σ 0≤k<L c k x k ∈F[x], if for all 0≤k <N,c k =b k If this holds true, we will express that b(x) ≤ c(x).

[0130] Lemma 1. Let λ(x) ∈ F[x], where λ(0) = 1. Let K be the extended field of F containing all roots of λ(x). λ(x) is expressed as follows: λ(x) = Π 1≤j≤s (1-x·α j ) r(j) Where α1,…,α s If all elements in K* are distinct and r(j) ≥ 1, then the following equation holds:

[0131] λ'(x) / λ(x)=Σ 1≤j≤s,r(j)是奇数 α j · / (1-x·α j ).

[0132] Proof. We can write it as λ(x) = β 2 (x)·Π 1≤j≤s,r(j)是奇数 (1-x·α j Where β(x)∈K[x]. In other words, every polynomial can be uniquely represented as the product of a square polynomial and a polynomial with a multiplicity root of 1. Then the following holds.

[0133] λ'(x)=β 2 (x)·Σ 1≤j≤s,r(j)是奇数 α j ·Π 1≤v≤s,r(v)是奇数,v≠j (1-x·α v ),

[0134] And therefore:

[0135] λ'(x) / λ(x)=Σ 1≤j≤s,r(j)是奇数 α j · / (1-x·α j ). ◆

[0136] Lemma 2. Let λ(x)∈F[x], where λ(0)=1 and b(x)=Σ 0≤j≤N-1 b j x j Let K be the extended field of F containing all roots of λ(x). λ(x) is expressed as: λ(x) = Π 1≤j≤s (1-x·α j ) r(j) Where α1,…,α s ∈K* are all distinct and r(j)≥1. Then

[0137] (1)λ(x)·b(x)=λ'(x)(mod x N If and only if

[0138] (2)b k =Σ 1≤j≤s,r(j)是奇数 α j k+1 For all cases where 0 ≤ k ≤ N-1.

[0139] Note that here we do not assume the degrees of λ(x) and b(x), or even s≤N. Therefore, it holds even if b(x) = 0. Also note that when (2) holds, for 0≤k<(N-1) / 2: b k 2 =b 2k+1 .

[0140] Proof. Since λ(0)=1, λ(x)·b(x)=λ'(x)(mod x) N This is equivalent to b(x) = λ'(x) / λ(x) (mod x) N ), which is equivalent to:

[0141] Σ 0≤k<N b k x k =λ'(x) / λ(x) (according to Lemma 1)

[0142] =Σ 1≤j≤s,r(j)是奇数 α j · / (1-x·α j (mod x) N )

[0143] =Σ 1≤j≤s,r(j)是奇数 Σ 0≤k x k ·α j k+1 (mod x N )

[0144] =Σ 0≤k≤N-1 x k ·Σ 1≤j≤s,r(j)是奇数 αj k+1 (mod x N ),

[0145] And this is equivalent to b k =Σ 1≤j≤s,r(j)是奇数 α j k+1 For all cases where 0 ≤ k ≤ N-1.

[0146] The following lemma allows us to skip even iterations in the BCH Berlekamp Massey algorithm.

[0147] Lemma 3. Let λ(x)∈F[x], λ(0)=1. Assume N is odd and M=(N-1) / 2 and b(x)=Σ 0≤k≤N b k x k , satisfy b M 2 =b N and

[0148] λ(x)·b(x)=λ'(x)(mod x N ).

[0149] Then x in λ(x)·b(x) N The coefficient is zero and

[0150] λ(x)·b(x)=λ'(x)(mod x N+1 ).

[0151] Proof. Let K be the extended field of F containing all roots of λ(x). λ(x) can be expressed as: λ(x) = Π 1≤j≤s (1-x·α j ) r(j) , where α1,…,α s ∈K* are distinct and r(j)≥1. According to Lemma 2

[0152] b k =Σ 1≤j≤s,r(j)是奇数 α j k+1 For all 0≤k≤N-1.

[0153] also,

[0154] b N =b M 2 =(Σ 1≤j≤s,r(j)是奇数 α j M+1 ) 2 =Σ 1≤j≤s,r(j)是奇数 α j 2M+2=Σ 1≤j≤s,r(j)是奇数 α j N+1 .

[0155] Therefore, b k =Σ 1≤j≤s,r(j)是奇数 α j k+1 For all 0 ≤ k ≤ N. Therefore, by another direction of Lemma 2: λ(x)·b(x)=λ'(x)(mod x) N+1 Since all odd coefficients of λ'(x) are zero, x in λ'(x) N The coefficient is zero, and therefore x in λ(x)·b(x) N The coefficient is zero.

[0156] 1.2 Definition

[0157] Definition 2. For N≥1, and b(x)=Σ 0≤k<N b k x k ∈F[x], if for all 0≤k<(N-1) / 2, b k 2 =b 2k+1 b(x) is the square of an odd number.

[0158] Definition 3. For τ, N, L, ≥ 1, and b(x) = Σ 0≤k<L b k x k ∈F[x], defined

[0159] V N,τ,b(x) ={λ(x)∈F[x]:λ(x)·b(x)=λ'(x)(mod x N ),deg(λ(x))≤τ,λ(0)=1}

[0160] U N,τ,b(x) ={λ(x)∈F[x]:λ(x)·b(x)=λ'(x)(mod x N ),deg(λ(x))≤τ}

[0161] V N,τ,b(x),0 ={λ(x)∈F[x]:λ(x)·b(x)=λ'(x)(mod x N ),deg(λ(x))≤τ,λ(0)=0}

[0162] U N,b(x) ={λ(x)∈F[x]:λ(x)·b(x)=λ'(x)(mod x N )}

[0163] It is obvious that or dim*(V N,τ,b(x) ) = dim(U N,τ,b(x) ) - 1. According to the above lemma, if for a certain τ and L ≤ N, then b(x) is an odd square. Note that if V N,τ,b(x) is not empty and λ(x) is any element of V N,τ,b(x) , then

[0164] λ(x) + V N,τ,b(x),0 = V N,τ,b(x)

[0165] This means that when ,

[0166] dim*(V N,τ,b(x) ) = dim(V N,τ,b(x),0 ).

[0167] 1.3 Dimension Bounds 1 & 2

[0168] Lemma 4 (Dimension Bound 1). Let τ ≥ 1 and L > N ≥ 1 where N and L are even and b(x) ∈ F[x] be an odd square, b(x) = Σ 0≤k<L b k x k . Then, if

[0169] dim*(V N,τ,b(x) ) - dim*(V L,τ,b(x) ) ≤ (L - N) / 2.

[0170] Proof. For M ≥ 1, let V M ≡ V M,τ,b(x) . It will be shown by induction on the even s ∈ {0, 1,..., L - N} that

[0171] dim*(V N ) - dim*(V N+s ) ≤ s / 2.

[0172] For s = 0: Take the even 0 ≤ s < L - N, and M = N + s and λ(x) ∈ V M , and observe that the M - coefficients of p(x) = λ(x)·b(x) - λ’(x) are

[0173] Σ 0≤j≤τ λ j ·b M-j + λ M+1 . [[ID=​​​​​​​​0≤j≤τ λ j ·b N-j =0}, that is, V M+1 It is a (non-empty) affine space, defined by V M This is obtained through an additional linear homogeneous equation. From this, dim*(V) is derived. M )≤dim*(V M+1 )+1. Next, according to the previous lemma, when λ(x)·b(x)=λ'(x)(mod x) M+1 When ), then

[0175] λ(x)·b(x)=λ'(x)(mod x M+2 ).

[0176] Therefore V M+1 =V M+2 Therefore, it shows that dim*(V N+s )≤dim*(V N+s+2 )+1◆

[0177] As a corollary, we obtain:

[0178] Lemma 5 (Dimensional Bounds 2). Take τ≥1, L=2τ and L≥N≥1, where N is even and b(x)∈F[x] is the square of an odd number, b(x)=Σ 0≤k<L b k x k If there exists a separable σ(x) ∈ V L,τ,b(x) If deg(σ(x)) = τ, then:

[0179] dim*(V N,τ,b(x) )≤(LN) / 2.

[0180] Proof. This lemma is obtained from the preceding lemma and the following claim.

[0181] (*)V≡V L,τ,b(x) = {σ(x)}, that is, dim*(V L,τ,b(x) ) = 0.

[0182] To prove (*), take any λ(x) ∈ V and let K be the extended field of F containing all roots of σ(x) and λ(x). Then we can express

[0183] λ(x)=Π 1≤j≤s (1-x·α j ) r(j)

[0184] Where s≤τ and α1,...,α s ∈K* are distinct and r(j)≥1 and r(1)+r(2)+....+r(s)≤τ, and,

[0185] σ(x)=Π 1≤j≤τ (1-x·β j )

[0186] Where β1,…,β r ∈K* are distinct. Let A be defined as {β1,…,β...} τ} and {α j The symmetric difference of two sets is the set of elements of one of the two sets but not in their intersection. (The symmetric difference of two sets is the set of elements of one of the two sets but not in their intersection.) By Lemma 2:

[0187] Σ 1≤j≤τ ,β j k+1 =b k =Σ 1≤j≤s,r(j)为奇数 α j k+1 For all 0≤k≤L-1.

[0188] In other words:

[0189] 0 = Σ 1≤j≤τ ,β j k+1 +Σ 1≤j≤s,r(j)是奇数 α j k+1 =Σ α∈A α k+1 For all 0≤k≤L-1.

[0190] Note that |A|≤s+τ≤2τ, therefore if We arrive at a contradiction because this would produce a linear dependency of the columns of the a(2τ)×|A| Vandermonde matrix. Therefore Therefore, λ(x) = σ(x)

[0191] 1.4 Uniqueness Lemma 1 (UL1)

[0192] Note that the following lemma uses the fact that F has characteristic 2.

[0193] Lemma 6:

[0194] I. For every λ(x) ∈ F[x] such that λ(0) = 1, there exists a unique polynomial λ1(x) ∈ F[x] such that:

[0195] λ1(x)·u 2 λ(x) = λ(x), and λ1(0) = u(0) = 1, and λ1(x) is separable.

[0196] II. Assume that λ(x), b(x)∈F[x] satisfy:

[0197] λ(x)·b(x)=λ'(x)(mod x N And where λ(0) = 1,

[0198] And let λ1(x),u(x)∈F[x] be unique polynomials λ1(x),u(x)∈F[x] such that:

[0199] λ1(x)·u 2 Given that λ(x) = λ(x) and λ1(0) = u(0) = 1, and λ1(x) is separable,

[0200] but

[0201] λ1(x)·b(x)=λ1'(x)(mod x N And λ(0) = 1.

[0202] III. Let τ, N≥1, and b(x)∈F[x], and assume that there exists a unique λ(x)∈F[x] such that:

[0203] λ(x)·b(x)=λ'(x)(mod x N ), and λ(0)=1, and deg(λ(x))≤τ.

[0204] Then λ(x) is separable.

[0205] prove.

[0206] I. In some extended field K, there exists a unique λ1(x) and u(x)∈K[x] such that:

[0207] λ1(x)·u 2 (x)=λ(x) and λ1(0)=u(0)=1.

[0208] Due to u 2 (x) = gcd(λ(x),λ'(x)) and gcd is calculated by the Euclidean algorithm, so u 2 (x)∈F[x], and therefore λ1(x) and u(x) must be in F[x] (not only in the extended ring K[x]).

[0209] II. Based on the assumptions in II, we can conclude that:

[0210] λ1(x)·u 2 (x)·b(x)=(u 2 (x)·λ1(x))'(mod x N )=u 2 (x)·λ1'(x)(mod x N ).

[0211] Divide both sides by u 2 (x), we get:

[0212] λ1(x)·b(x)=λ1'(x)(mod x N ).

[0213] III. Let λ1(x), u(x) ∈ F[x] be unique polynomials λ1(x), u(x) ∈ F[x] such that:

[0214] λ1(x)·u 2 λ(x) = λ(x), and λ1(0) = u(0) = 1, and λ1(x) is separable.

[0215] Then according to II

[0216] λ1(x)·b(x)=λ1'(x)(mod x N And λ(0)=1, and obviously: deg(λ1(x))≤τ, therefore by uniqueness u(x)=1 and therefore λ1(x)=λ(x). Thus, λ(x) is separable.

[0217] 1.5 Basic Rules for Non-homogeneous Linear Equations

[0218] For completeness, the following known facts are provided.

[0219] Fact. Let A be an M×(N+1) matrix over a field K (a general field with arbitrary characteristics), and B be an (M+1)×N matrix over K obtained by adding an additional row (called v) to the bottom of A. If for each x∈R≡{x=[x1,....,x...} N ,x N+1 ] T ∈K N+1 :x N+1 =1}, the following holds true

[0220]

[0221] Then v is in the row space of A.

[0222] Proof. Let...

[0223] U = {x = [x1, ..., x} N ,x N+1 ] T ∈K N+1 :x N+1 =0, A·x=0} (Solution set of the homogeneous system of equations)

[0224] U' = {x = [x1, ..., x...} N ,xN+1 ] T ∈K N+1 :x N+1 =0,B·x=0},

[0225] C* is a matrix obtained from matrix C by omitting the last column (including the case where C includes a row).

[0226] because Then U' = U. From this, we can deduce v* = u·A*, for some u, i.e., K. M The row vector in the array. Let w = vu·A, then

[0227] w = [0,...,0,ξ], for some ξ∈K,

[0228] And since w is in the row space of B, for all x∈V': w·x=0, therefore w=0, which means v is in the row space of A. ◆

[0229] 1.6 Dimensional Equation

[0230] Lemma 7 (Dimensional Equality): Take τ≥1, L=2τ and L≥N≥1, where N is an even number, and b(x)=Σ 0≤k<L b k x k ∈F[x] is an odd square. If there exists a separable σ(x) ∈V L,τ,b(x) If deg(σ(x)) = τ, then:

[0231] dim*(V N,τ,b(x) )=(LN) / 2.

[0232] Proof. For i≥1, write it as V i ≡V i,τ,b(x) Recall Lemma 5dim*(V N )≤(LN) / 2. For N∈[L] and λ(x)=Σ 0≤j≤τ λ j x j For any x ∈ F[x] such that λ0 = 1, the following holds: λ(x) ∈ V N If and only if

[0233] (1)λ(x)·b(x)=λ'(x)(mod x N ),

[0234] This is equivalent to:

[0235] (2) Linear equation L i :≡Σ 0≤j≤i λ j ·b i-j +(i+1)·λ i+1=0, for all 0≤i≤N-1 (we define λ) j =0, for j>τ).

[0236] Note that the linear equation i is independent of N. By Lemma 3 above, when N∈[L-1] is odd, then...

[0237] λ(x)·b(x)=λ'(x)(mod x N )λ(x)·b(x)=λ'(x)(mod x N+1 ).

[0238] Therefore, based on the above facts, the formal linear equation L N Linear equations of the form L1,...,L on F are linearly dependent on F. N-1 (considered as F) τ+1 (coefficient vector in the text). Therefore, (1) is equivalent to:

[0239] (3)L i :=Σ 0≤j≤i λ j ·b i-j +i·λ i+1 =0, for all even numbers i∈{0,...,N-1}.

[0240] According to Lemma 5 above, V L ={σ(x)}, i.e., dim*(V L ) = 0. Therefore, when we substitute (3) N = L, we get {L i Let :i∈{0,2,4,...,L-2}} be an independent set of τ linear equations of form with τ unknowns. Therefore, for even numbers N∈[L], we obtain V N It is {L i The solution set of i∈{0,2,...,N-2}}. Therefore, we have reduced the number of independent linear equations by (LN) / 2, hence dim(V N = (LN) / 2. ◆

[0241] Commentary. This proof is also an alternative proof to the uniqueness lemma 2 below. ◆

[0242] 1.7 Examples related to dimension equations

[0243] We have

[0244] L i :≡Σ 0≤j≤i λ j ·b i-j +(i+1)·λ i+1 =0, for all 0≤i≤N-1 (we define λ) j=0, for j>τ).

[0245] so

[0246] L0:≡λ0·b0+λ1=b0+λ1=0,

[0247] L1:≡λ0·b1+λ1·b0=b1+λ1·b0=0.

[0248] Note that b1 + λ1·b0 = b0 2 +λ1·b0=b0·(b0+λ1), therefore L1 is linearly dependent on L0

[0249] 1.8. Applying the dimension equality to the normalizer polynomial of BCH

[0250] Let t ≥ r ≥ 1, d = 2t + 1, n > k ≥ 1, where n* - k* = d, and consider the [n*, k*] BCH code, where the transmitted codeword has τ = t + r errors, located at... Let E' = {1 / β:β∈E0}.

[0251] Define a corrector for 0 ≤ k ≤ 2τ⁻¹:

[0252] S k =Σ 1≤j≤t+r ,α j k+1 For all 0≤k≤2τ-1.

[0253] The decoder knows the corrector {S} k} 0≤k≤d-2 Define the corrector polynomial:

[0254] S(x)=Σ 0≤k≤2τ-1 ,S k ·x k ,

[0255] And define ELP:

[0256] λ*(x)=Π 1≤j≤τ (1-x·α j )∈F[x].

[0257] According to Lemma 2:

[0258] λ*(x)·S(x)=λ*'(x)(mod x 2τ ).

[0259] Therefore, according to Lemma 7, the affine space V 2τ,τ,S(x) The dimension is 0, and,

[0260] (*1) Affine space V = V 2t,τ,S(x) It has dimension r.

[0261] In the next section, this (low) dimension of V plays a role in achieving low complexity. Note

[0262] V={λ(x)∈F[x]:λ(x)·S(x)=λ'(x)(mod x 2t ),λ(0)=1deg(λ(x)≤τ}.

[0263] The decoder "knows" this space and can find its base.

[0264] 2. Analysis of the Key Equations of BCH II

[0265] 2.1 Polynomial division for solving key equations

[0266] (λ(x),σ(x))∈F[x] 2 The recursion order, denoted by ord(λ,σ), is defined as follows:

[0267] ord(λ,σ)=max{degλ,1+degσ}. ◆

[0268] Lemma 8.

[0269] I. Take even numbers N≥1λ(x),γ(x),b(x)∈F[x],b(x)=Σ 0≤k≤N-1 b k x k, And assume:

[0270] (1)λ(0)=1

[0271] (2)λ(x)·b(x)=γ(x)(mod x N ).

[0272] (3)ord(λ,γ)≤N / 2,

[0273] And (λ(x), γ(x)) is the pair with the smallest order for (1)-(3) to hold. Then the following holds: gcd(λ(x), γ(x)) = 1. Now take σ(x), ω(x), ∈ F[x], and the following holds as well:

[0274] (1)σ(0)=1

[0275] (2)σ(x)·b(x)=ω(x)(mod x N ).

[0276] (3)ord(σ,ω)≤N / 2.

[0277] Then there exist c(x)∈F[x] such that c(0)=1, deg(c(x))>1, and σ(x)=λ(x)·c(x), and ω(x)=γ(x)·c(x).

[0278] II. If we add the following assumption:

[0279] (4)λ'(x)=γ(x) and σ'(x)=ω(x),

[0280] Then the following holds: There exist u(x)∈F[x] such that u(0)=1 and c(x)=u(x). 2 [II. Also derived from I. and Lemma 10 below].

[0281] III. From this, we can conclude that the other direction of I is also true: if λ(x), γ(x)∈F[x] satisfies (1)-(3) and gcd(λ(x),γ(x))=1, then (λ(x)),γ(x)) is the pair with the smallest order for which (1)-(3) holds.

[0282] prove.

[0283] I. If there exist g(x)∈F[x] such that g(x)|λ(x) and g(x)|γ(x) and deg(g(x))>0, then g(0)≠0, therefore we will have g(0)·(λ(x) / g(x))·b(x)=g(0)·(γ(x) / g(x))(mod x) N This contradicts the minimization of λ(x). Therefore, gcd(λ(x),γ(x))=1.

[0284] Next, the following holds true: b(x)=γ(x) / λ(x))(mod x N And b(x) = ω(x) / σ(x) (mod x) N ).so:

[0285] γ(x) / λ(x)=ω(x) / σ(x)(mod x N ),

[0286] mean:

[0287] γ(x)·σ(x)=ω(x)·λ(x)(mod x N ),

[0288] Therefore, according to (3):

[0289] γ(x)·σ(x)=ω(x)·λ(x).

[0290] Since (λ(x), γ(x)) = 1, we have λ(x)|σ(x). Let c(x) = λ(x) / σ(x), then the following holds: c(0) = 1 and:

[0291] γ(x)·λ(x)·c(x)=ω(x)·λ(x), that is: γ(x)·c(x)=ω(x). ◆

[0292] II. Here we assume λ'(x) = γ(x) and σ'(x) = ω(x). Since σ(x) = λ(x)·c(x), then σ'(x) = λ'(x)·c(x) + λ(x)·c'(x), therefore ω(x) = γ(x)·c(x) + λ(x)·c'(x) means

[0293] λ(x)·c'(x)=0, that is, c'(x)=0.

[0294] Claim: For p(x)∈F[x], if p'(x)=0, then p(x)=q(x) 2 For some q(x)∈F[x].

[0295] Proof: Given

[0296] p(x)=Σ 0≤i≤n a i ·x i Then p'(x)=Σ 1≤i≤n,i是奇数 a i ·x i-1 .

[0297] From p'(x) = 0, we can conclude that:

[0298] p(x)=Σ 0≤i≤n,i是偶数 a i ·x i ,

[0299] therefore:

[0300] p(x)=(Σ 0≤i≤n,i是偶数 (a i ) 1 / 2 ·x i / 2 ) 2 ◆

[0301] 2.2 Polynomial Division for Solving Key Equations - BCH Generalization

[0302] Lemma 9. Let N≥1σ(x),λ(x)∈F[x],σ(0)=λ(0)=1 and b(x)=Σ 0≤k≤N-1 b k x k ∈F[x]\{0}, and assume:

[0303] (1)λ(x)·b(x)=λ'(x)(mod x N ) and σ(x)·b(x)=σ'(x)(mod x N )

[0304] (2)N≥deg(λ(x))+deg(σ(x))

[0305] (3)σ(x)|λ(x)

[0306] Then there exist ω(x)∈F[x] such that ω(0)=1 and λ(x)=ω(x) 2 ·σ(x).

[0307] Proof. Let K be the extended field of F containing all roots of λ(x) and all roots of σ(x). Express λ(x) and σ(x) in terms of λ as:

[0308] (4)λ(x)=Π 1≤j≤s (1-x·α j ) r(j) And σ(x)=Π 1≤j≤s’ (1-x·α' j ) r’(j) ,

[0309] Where α1,...,α s ∈K* are distinct and r(j)≥1. Similarly, α'1,…,α' s’ ∈K* are distinct and r'(j)≥1. Let A be defined as {α j :1≤j≤s, r(j) is odd} and {α' j The symmetric difference of {1≤j≤s', r'(j) is an odd number}. From Lemma 2, we can deduce that for 0≤k≤N-1:

[0310] Σ 1≤j≤s,r(j)是奇数 α j k+1 =b k =Σ 1≤j≤s’,r’(j)是奇数 α' j k+1 .

[0311] In other words,

[0312] 0 = Σ 1≤j≤s,r(j)是奇数 α j k+1 +Σ 1≤j≤s’,r’(j)是奇数 α' j k+1 =Σ β∈A β k+1 .

[0313] if We arrive at a contradiction because this would result in a linear dependence of the columns of an N×|A| Vandermonde matrix, where |A|≤s+s'≤N. Therefore And therefore s = s' and:

[0314] {α j :1≤j≤s, r(j) is odd}={α' j :1≤j≤s',r'(j) is an odd number}.

[0315] definition

[0316] f(x) = Π 1≤j≤s,r(j)是奇数 (1-x·α j ).

[0317] In summary, there exist polynomials g(x) and h(x) in F[x] such that g(0) = h(0) = 1 and:

[0318] (5)λ(x)=(g(x)) 2 ·f(x) and σ(x)=(h(x)) 2 ·f(x).

[0319] Since σ(x)|λ(x), then h(x)|g(x). Define ω(x) = g(x) / h(x), then ω(0) = 1 and ω(x) 2 σ(x) = λ(x).

[0320] 2.3 The Continuation Principle of Reed-Solomon (RS)

[0321] Lemma 10. Take N≥1λ(x), γ(x), b(x)∈F[x], λ(0)=1, b(x)=Σ 0≤k≤N-1 b k x k ,λ(x)=Σ 0≤k≤τ λ k x k And assume:

[0322] (1)λ(x)·b(x)=γ(x)(mod x N ).

[0323] (2)deg(γ(x))<τ <N。

[0324] For every L>N, the following holds true: There exists a unique... Makes it possible for

[0325] (3) B(x) = Σ 0≤k≤L-1 b k x k :

[0326] (4) λ(x)·B(x) = γ(x) (mod x L ).

[0327] Proof. Define, for k = N:(L - 1) inductively define in increasing order:

[0328] (5) b k = Σ 1≤j≤τ λ j ·b k-j .

[0329] Since λ0 = 1, it is equivalent to

[0330] (6) 0 = Σ 0≤j≤τ λ j ·b k-j .

[0331] This is equivalent to (4) by (1). Since (6) implies (5), uniqueness follows by induction.

[0332]

[0333] 2.4 Continuation Principle of BCH

[0334] Lemma 11. Take L > N ≥ 1, λ(x) ∈ F[x], λ(0) = 1 and b(x) = Σ 0≤k≤N-1 b k x k ∈ F[x] and assume:

[0335] (1) λ(x)·b(x) = λ’(x) (mod x N ) and deg(λ(x)) < N.

[0336] Then there exists such that

[0337] (2) For odd 0 < k < L, b k = b 2 (k-1) / 2 holds,

[0338] and for B(x) = Σ 0≤k≤L-1 b k x k :

[0339] (3) λ(x)·B(x) = λ’(x) (mod x L ).

[0340] Note that, by Lemma 9, these {b k : N < k ≤ L} are unique.

[0341] Proof. Let K be the extended field of F containing all roots of λ(x). λ(x) can be expressed as: λ(x) = Π 1≤j≤s (1-x·α j ) r(j) Where α1,…,α s ∈K are distinct and r(j)≥1. According to Lemma 2, from λ(x)·b(x)=λ'(x)(modx) N The conclusion is:

[0342] b k =Σ 1≤j≤s,r(j)是奇数 α j k+1 For all 0≤k≤N-1.

[0343] Now define:

[0344] b k =Σ 1≤j≤s,r(j)是奇数 α j k+1 For all N≤k≤L-1.

[0345] Then (2) is derived through another direction of Lemma 2, that is, (3) for B(x)=Σ 0≤k≤L-1 b k x k Established◆

[0346] 2.5 BCH Probability Bounds 1 (PB1) for the Solution of the Key Equation

[0347] Lemma 12. Take t>s≥1, and randomly sample odd squares b(x) with a uniform distribution. 0≤k<2t b k x k ∈F[x].

[0348] I. There exist separable λ(x)∈F[x] such that:

[0349] (1)λ(x)·b(x)=λ'(x)(mod x 2t The upper bound of the probability of ) and λ(0)=1 and deg(λ(x))=ts is q. -s .

[0350] II. The upper bound of the probability that there exists any polynomial λ(x)∈F[x] such that (1) holds is q. -s / (1-1 / q 2 )

[0351] prove.

[0352] I. Recall that the set of odd-square polynomials with degree < 2t is:

[0353] V = {b(x) = Σ 0≤k<2t b k x k ∈ F[x] : 对于所有 0 ≤ k < t - 1,b k 2 = b 2k+1}.

[0354] Now define:

[0355] W = {λ(x) ∈ F[x] : (λx) is separable, λ(0) = 1, and deg(λ(x)) = t - s}.

[0356] Note that when b(x) ∈ V and λ(x) ∈ W satisfy

[0357] λ(x)·b(x) = λ’(x) (mod x 2t ),

[0358] it also satisfies:

[0359] (2) λ(x)·b(x) = λ’(x) (mod x 2t-2s ) and λ(0) = 1 and deg(λ(x)) = t - s.

[0360] For λ(x) ∈ W and 1 ≤ j ≤ t, define:

[0361] U λ(x),j = {b(x) ∈ V : λ(x)·b(x) = λ’(x) (mod x 2j )}.

[0362] According to Lemma 11 and its proof, U λ(x),t exactly contains one polynomial, and according to (2), this polynomial is also in U λ(x),t-s . On the other hand, it can be clearly seen from the definition and Lemma 10 and its proof that for b(x) = Σ 0≤k<2t b k x k ∈ U λ(x),t-s , the following holds: A = {b k : 0 ≤ k < 2(t - s)} is uniquely determined by the key equation, and B = {b k : 2(t - s) ≤ k < 2t, k is even} can be freely chosen from F, and C = {b k : 2(t - s) ≤ k < 2t, k is odd} is uniquely determined by A and B through the equation b k 2 = b 2k+1 (for all 0 ≤ k < t - 1). It follows that:

[0363] |U λ(x),t-s | = qs .

[0364] Next, note that by using Lemma 11 and its proof for λ1(x) and λ2(x)∈W, λ1(x)≠λ2(x), the following holds.

[0365]

[0366] Now, randomly sample b(x) from a uniformly distributed V, and let R be the event of b(x) in the following:

[0367] U≡∪ λ(x)∈W U λ(x),t-s .

[0368] Then for some λ(x)∈W, the following holds: b(x) is a function of U λ(x),t-s The (random) elements. Therefore, based on the above, b(x) in U λ(x),t The probability of it being in the middle is exactly q. -s Therefore, the probability that there exists a separable λ(x) ∈ F[x] such that (1) holds is:

[0369] Pr(R)·q -s ,

[0370] This proves I.

[0371] II. From UL1 above (see Section 1.4), it can be seen that if λ(x)∈F[x] satisfies (1) above, then there exists a unique polynomial λ1(x),u(x)∈F[x] such that:

[0372] (a1)λ1(x)·u 2 (x)=λ(x) and λ1(0)=u(0)=1 and λ1(x) is separable.

[0373] as well as

[0374] (a2)λ1(x)·b(x)=λ1'(x)(mod x 2t ).

[0375] Note that u(x) can also be 1. Let j = deg(u(x)), then deg(λ1(x)) = ts - 2j. It has been proven above that when we randomly sample b(x) from V, the upper limit of the probability of satisfying (a2) is q. -s-2j Therefore, the upper limit of the probability of satisfying (1) is:

[0376] q -s ·(1+q -2 +q -4 +....)=q -s / (1-1 / q 2) ◆

[0377] 2.6 General Polynomial Division Principles Related to RS and BCH

[0378] Interpolation. For γ1,...,γ N , distinct elements of F*, and for p(x) ∈ F[x] (where deg(p(x)) < N), there exist unique coefficients a1,...,a N 0 ∈ F such that

[0379] p(x) = Σ j∈[N] a j · Π i∈[N]\{j} (1 - x·γ i ).

[0380] Proof. Define p j (x) = Π i∈[N]\{j} (1 - x·γ i ). It suffices to show that {p j (x)} j∈[N] is linearly independent. Take a1,....,a N ∈ F and define

[0381] p(x) = Σ j∈[N] a j · p j (x),

[0382] then for j ∈ [N] the following holds

[0383] p(1 / γ j ) = a j · Π i∈[N]\{j} (1 - γ i / γ j ).

[0384] Thus, if p(x) = 0, then for all j ∈ [N], a j ​​​​​​​​​​​​​​​​​​​​​​

[0389] Proof. We express λ(x) = 1 + x·λ1(x), where λ1(x) ∈ F[x]. (1) This means:

[0390] b(x)=σ(x) / (1+x·λ1(x))(mod x N )=σ(x)·(Σ 0≤i≤N-1 (x·λ1(x)) i (mod x) N ). ◆

[0391] Lemma 14. Let M, N≥1, and λ(x), σ(x)∈F[x] such that λ(x) is separable and λ(0)=1 and M=deg(λ(x))>deg(σ(x)). Let

[0392] b(x)=Σ 0≤k<N b k x k ∈F[x]

[0393] It is the only polynomial (see Lemma 13) such that:

[0394] (1)λ(x)·b(x)=σ(x)(mod x N ).

[0395] Let K be an extended field of F containing all roots of λ(x), and we can uniquely represent λ(x):

[0396] λ(x)=Π 1≤j≤M (1-x·α j ),

[0397] Where α1,...,α t ∈K* are distinct scalars.

[0398] There exist a1,…,a M ∈F makes

[0399] (2)b k =Σ 1≤j≤M a j ·α j k For all 0≤k <N。

[0400] When M≤N / 2, a1,…,a M It is unique.

[0401] Proof. Based on the above claim, there exist unique a1,…,a M ∈F makes

[0402] σ(x)=Σ j∈[M] a j ·Πi∈[N]\{j} (1-x·α i ).

[0403] From (1), we can conclude that:

[0404] b(x)=Σ j∈[M] a j / (1-α j ·x)(mod x N )

[0405] =Σ j∈[M] a j ·Σ 0≤i≤N-1 (α j ·x) i

[0406] =Σ 0≤i≤N-1 Σ j∈[M] a j ·(α j ·x) i

[0407] =Σ 0≤i≤N-1 x i ·Σ j∈[M] a j ·α j i .

[0408] This proves (2). When M≤N / 2, uniqueness is derived from the same Vandermonde independence argument as BCH. ◆

[0409] 3. Analysis of Key Equations III

[0410] 3.1 Uniqueness and Extended Lemma

[0411] For N, τ≥1 and b(x)∈F[x], we define:

[0412] V N,τ,b(x) ≡{λ(x)∈F[x]:λ(x)·b(x)=λ'(x)(mod x N ),deg(λ(x))≤τ,λ(0)=1}.

[0413] Note that for all λ(x)∈V N,τ,b(x) The roots of λ(x) are non-zero. The following lemma eliminates some singularities in our solution. This means that if there is an ELP in V, then any polynomial in V with r roots in W that are common to the ELP is actually that ELP.

[0414] Lemma 15 (Uniqueness Lemma 2 (UL2)). Let t≥1, r≥1 and b(x)∈F[x] be odd squares, and b(x)=Σ 0≤k<L bk x k And assume λ(x), σ(x) ∈ V=V 2t,t+r,b(x) Where λ(x) is separable. It is also assumed that for some... |D|=r, for each β∈(β -1 )=σ(β -1 If β∈D and σ(x)=0, then σ(x)=λ(x) holds.

[0415] Proof. Let K be the extended field of F containing all roots of λ(x) and all roots of σ(x). We can represent λ(x) and σ(x) in the following way:

[0416] λ(x)=Π 1≤j≤t+r (1-x·α j )

[0417] σ(x)=Π 1≤j≤t’+r (1-x·β j ) r(j)

[0418] Where 0 ≤ t' ≤ t, r(j) ≥ 1 and α1,...,α t+r ∈K* are distinct, and β1,...,β t’+r ∈K* are all distinct. Note as well as Therefore, we can assume α without loss of generality. i =β i Let B = {i ∈ [r]: r ∈ D, for i ∈ [r] : r ∈ D}. j For all even numbers, b = |B|. Note that t' ≤ tb. For all 0 ≤ k ≤ 2t-1, according to Lemma 2:

[0419] Σ 1≤j≤t+r α j k+1 =b k =Σ 1≤j≤t’+r,r(j)是奇数 β j k+1 .

[0420] Therefore, for each 0≤k≤2t-1:

[0421] Σ 1≤j≤t+r α j k+1 +Σ 1≤j≤t’+r,r(j)是奇数 β j k+1 =0,

[0422] In other words,

[0423] Σ 1≤j≤r,r(j)是偶数 α j k+1+Σ r+1≤j≤t+r α j k+1 +Σ r+1≤j≤t’+r,r(j)是奇数 β j k+1 =0.

[0424] Let A1 = {α} j :j∈B},A2={α j :r+1≤j≤t+r},A3={β j If r+1≤j≤t'+r, and r(j) is an odd number, then the following holds true: |A1|=b and |A2|=t and |A3|=t'≤tb.

[0425] therefore

[0426] |A1|+|A2|+|A3|≤b+t+(tb)≤2t.

[0427] Notice

[0428]

[0429] And define

[0430] C = A1∪A2∪A3\A2∩A3.

[0431] Then |C|≤2t and, based on the above, for each 0≤k≤2t-1:

[0432] Σ γ∈C γ k+1 =0.

[0433] If C is not an empty set, we arrive at a contradiction because this would result in a linear dependence of the columns of a (2t)×|C| Vandermonde matrix (where |C|≤2t). Therefore And therefore Furthermore, A2∪A3=A2∩A3, that is, A2=A3. Therefore, λ(x)=σ(x).

[0434] Recall that the transformation x→x 2 It is a 1-1 linear transformation of F from F to F2.

[0435] Lemma 16 (Extended Lemma). Let t≥1, r>s≥1, b(x)∈F[x] be odd squares, and b(x)=Σ 0≤k<L b k x k And take λ(x)∈V 2t,t+r,b(x) , where deg(λ(x)) = t + s. Then for each p(x) ∈ F(x) such that p(0) = 1, deg(p(x)) ≤ (rs) / 2 and f(x) = p 2(x), the following holds: f(x)·λ(x) ∈ V 2t,t+r,b(x) .

[0436] Proof. Note that f’(x) = 0, so for all g(x) ∈ F[x], (f(x)·g(x))’ = f(x)·g’(x). Thus, since

[0437] λ(x)·b(x) = λ’(x) (mod x N )

[0438] then

[0439] f(x)·λ(x)·b(x) = f(x)·λ’(x) (mod x N ) = (f(x)·λ(x))’ (mod x N ).

[0440] Furthermore, deg(f(x)·λ(x)) ≤ t + r, and (f·λ)(1) = 1. Thus f(x)·λ(x) ∈ V 2t,t+r,b(x) .

[0441] 3.2 Dimension Bound 3 (DB3)

[0442] Lemma 17. Let N, τ ≥ 1, b(x) = b(x) = Σ 0≤k<N b k x k ∈ F[x] be an odd square. Then if

[0443] Δ ≡ dim*(V N,τ+1,b(x) ) - dim*(V N,τ,b(x) ) ≤ 1.

[0444] Proof. Note that the case τ ≥ N - 1 is trivial: if we add the polynomial λ(x) = x τ+1 to any basis of V N,τ,b(x) , we obtain a basis of V N,τ+1,b(x) , so in this case Δ = 1. Henceforth assume τ < N - 1. The polynomial λ(x) = Σ 0≤i≤τ λ<00​​​​​​​​​​​​​​​​

[0446] Similarly, the polynomial λ(x) = Σ 0≤i≤τ+1 λ i x i ∈F[x] in V N,τ+1,b(x) In, if and only if λ0 = 1 and

[0447] Σ 0≤i≤k λ i ·b k-i +(k+1)·λ k+1 =0, for all 0≤k <N。

[0448] Let δ i,k For GF(2)Kronecker delta, that is, for integers i, k: δ i,k =0 GF(2) (if i = j) and δ i,k =1 GF(2) (If i ≠ j). Consider F N+1 The following N row vectors:

[0449] v0 = [b0, 1, 0, ..., 0]

[0450] v1 = [b1, b0, 0, ..., 0]

[0451] v2 = [b2, b1, b0, 1, ..., 0]

[0452] v3 = [b3, b2, b1, b0, 0, ..., 0]

[0453] v4=[b4,b3,b2,b1,b0,1,0,…,0]

[0454] v5=[b5,b4,b3,b2,b1,b0,0,…,0]

[0455] v6=[b6,b5,b43,b3,b2,b1,b0,1,0,…,0]

[0456] v N-1 =[b N-1 ,b N-2 ,b N-3 ,….,b2,b1,b0,],

[0457] Let A be an N×N matrix with rows v0,...,v N-1 Then the following holds: Polynomial λ(x) = 1 + Σ 1≤i≤τ λ i x i ∈F[x] in V N,τ,b(x) In, if and only if

[0458] A·[1,λ1,...,λ τ [,0,...,0]=0,

[0459] and polynomials

[0460] λ(x)=1+Σ 1≤i≤τ+1 λ i x i ∈F[x] in V N,τ+1,b(x) In, if and only if

[0461] A·[1,λ1,...,λ τ ,λ τ+1 ,0,...,0]=0.

[0462] Therefore, dim*(V) N,τ+1,b(x) )-dim*(V N,τ,b(x) )≤1◆

[0463] As a corollary, we obtain:

[0464] Lemma 18 (Dimensional Boundary 3)

[0465] Let τ≥1, s≥1, b(x)∈F[x] be odd squares, and b(x)=Σ 0≤k<N b k x k Then, if dim*(V N,τ+s,b(x) )-dim*(V N,τ,b(x) )≤s.

[0466] 3.3 Dimensional bounds on intermediate-degree ELPs 4 (DB4)

[0467] Lemma 19 (Dimensional Boundary 4). Take t ≥ r ≥ r' > r” ≥ 0 and odd squares b(x) ∈ F[x] and assume

[0468] (*) There exist separable λ(x) ∈ V of degree t+r'. 2t+2r,t+r’,b(x) .

[0469] Then the following holds true:

[0470] I.dim*(V 2t,t+r’,b(x) ) = r' and dim*(V 2t,t+r,b(x) )≤r.

[0471] II. Define r* = max{r1: r1 ≤ r and dim(V 2t,t+r(1),b(x) If )=r1}. Then r'≤r*.

[0472] III.dim*(V 2t,t+r”,b(x) )≥r”

[0473] prove.

[0474] I. According to the dimension equation:

[0475] dim*(V 2t,t+r’,b(x) ) = r',

[0476] And according to DB3

[0477] dim*(V 2t,t+r,b(x) )-dim*(V 2t,t+r’,b(x) )≤r-r'.

[0478] Therefore, we can conclude that:

[0479] dim*(V 2t,t+r,b(x) )≤r.

[0480] II. Based on the proof in I.

[0481] III. Using DB3 dim*(V 2t,t+r’,b(x) )-dim*(V 2t,t+r”,b(x) )≤r'-r”, therefore dim*(V 2t,t+r”,b(x) )≥r”.◆

[0482] 4. Lemma of Polynomial Degree Reduction and Probability Bounds

[0483] 4.1 Reduce the key equation by one degree.

[0484] Lemma 20. Let b(x) = Σ 0≤k<N-1 b k x k ∈F[x] and λ(x)∈F[x] (where λ(0)=1), and assume

[0485] (1)λ(x)·b(x)=λ'(x)(mod x N ),

[0486] And assume that α∈F* is the inverse of the root of λ(x), i.e., (1-α·x)|λ(x). Definition

[0487] λ*(x)=λ(x) / (1-α·x) and b*(x)=Σ 0≤k<N-1 (b k +α k+1 )·x j .

[0488] Then the following holds true:

[0489] (2)λ*(x)·b*(x)=λ*'(x)(mod x N ).

[0490] Proof. Note.

[0491] b(x)+α / (1-αx)(mod x N )

[0492] =b(x)+Σ 0≤k<∞ α k+1 ·x k =b*(x)(mod x) N )

[0493] Therefore, according to (1): λ(x)·b(x)*=(1-α·x)·λ*(x)·(b(x)+α / (1-αx))(mod x N )

[0494] =((1-α·x)·λ*(x))'+α·λ*(x)(mod x N )

[0495] =((1-α·x)·λ*(x)'+α·λ*(x))+α·λ*(x)(mod x N )=(1-α·x)·λ*(x)'(modx N ).

[0496] Therefore, divide by (1-αx):

[0497] λ*(x)·(b(x)+α / (1-αx))=λ*(x)'(mod x N ),

[0498] This proves (2). ◆

[0499] 4.2 Reduce the degree of the key equation to any order

[0500] As a corollary of Lemma 20, we obtain:

[0501] Lemma 21. Let s≥1 and b(x)=Σ 0≤k<N-1 b k x k ∈F[x] and λ(x)∈F[x] (where λ(0)=1), and assume

[0502] (1)λ(x)·b(x)=λ'(x)(mod x N ),

[0503] And assume α1,…,α s ∈F* are the distinct inverses of the roots of λ(x), i.e., (1-α) i ·x)|λ(x), for i∈[s]&α i ≠α j (For i, j ∈ [s], i ≠ j). Definition

[0504] λ*(x)=λ(x) / (Π i∈[s] (1-α i ·x)) and b*(x)=Σ 0≤k<N-1 (b k +Σ i∈[s] α i k+1 )·x j .

[0505] Then the following holds true:

[0506] (2)λ*(x)·b*(x)=λ*'(x)(mod x N ). ◆

[0507] 4.3 BCH probability bound 2 (PB2) for the solution of the key equation

[0508] Introduction. Next, we derive probabilistic observations. The event A below is the prototype of the event in the main soft decoding algorithm, where the solution to the key equation is proven to be an incorrect ELP candidate, thus requiring some additional complexity. The probability of this event in the first version will be shown to be close to q. -1 And in the second version, it is close to q -2 In the second version, the number of false positives is small, so the increased complexity due to the need for Chien search for false alarms is negligible.

[0509] Lemma 22. Let t≥r≥1, s≥1 and b(x)=Σ 0≤k<2t b k x k ∈F[x]. Fixed, distinct α1,…,α r+s ∈F*. The following holds true: the upper bound of the probability of subsequent event A is q. -s / (1-q -2 ).

[0510] Event A: There exist λ(x)∈F[x] (where λ(0)=1) and deg(λ(x))=t+r such that:

[0511] (1)λ(x)·b(x)=λ'(x)(mod x 2t ),and

[0512] (2)(1-α i ·x)|λ(x), for i∈[r+s]&α i ≠α j (For i, j ∈ [r+s] i ≠ j).

[0513] Proof. Definition.

[0514] λ*(x)=λ(x) / (Πi∈[r+s] (1-α i ·x), and b*(x)=Σ 0≤k<N-1 (b k +Σ i∈[r+s] α i k+1 )·x j .

[0515] According to Lemma 21, the following holds:

[0516] (3)λ*(x)·b*(x)=λ*'(x)(mod x 2t ), and λ*(0)=1.

[0517] Also note that deg(λ*(x)) = ts. From PB1 above, the upper bound of the probability of this event is q. -s / (1-q -2 ).

[0518] 5. Minimal monotonic basis and dimension setting of the affine space of a polynomial

[0519] 5.1 Minimum Monotonic Basis

[0520] If deg(p) i (x)) <deg(p i+1 (x))(for i∈[s-1]), then the polynomial {p i (x)} 1≤i≤s The sequence is called monotonic. For an s-dimensional subspace If A is monotonic and is also a basis of U, then This is called a monotonic basis. Note that although many monotonic bases of U can exist, the sequence {deg(p)} is a monotonic basis. i (x))} 1≤i≤s A is unique for a given U and is independent of the monotonic basis we choose. A = {p} i (x)} 1≤i≤s A polynomial is called a canonical basis of U if every polynomial in A is a monic polynomial and if for all i∈[s], x j The coefficients for j = deg(p) i (x) for all p a (x) is zero, where a∈[s], a≠i. The canonical basis is unique through the following [GU]. Take p*(x)∈F[x]\U, and define the affine space W=U+p*(x). If {p i (x)} 1≤i≤s It is a monotonic basis of U and p s+1 (x)∈F[x]\U, then This is called a monotonic basis of W. If B is monotonic and deg(p)s+1 If (x) is the smallest among all such bases, then B is called the smallest monotonic basis of W. Note that when When it is the smallest monotonic basis of W, then deg(p) s+1 (x) is not in {deg(p i (x))} 1≤i≤s In, and therefore deg(p s+1 (x))=min{deg(p(x)):p(x)∈W}≡μ. On the other hand, if p(x)∈U and deg(p(x))=μ and {p i (x)} 1≤i≤s If p is any monotonic basis of U, then for p s+1 (x)=p(x), the following holds: {p i (x)} 1≤i≤s+1 It is the smallest monotonic basis of W.

[0521] 5.2 Setting the Main Dimensions of the Algorithm

[0522] Let t≥r≥1 and odd squares b(x)∈F[x] and assume V≡V 2t,t+r,b(x) By using the dimension equation, if there exist separable σ(x) ∈ V such that deg(σ(x)) = t + r, then:

[0523] (*)dim*(V)=r.

[0524] Typically, given b(x) and r, we cannot know in advance whether such σ(x) exists before running the algorithm. However, due to DB4 II (see Section 3.3 above), (*) is the only case of interest for subsequent algorithms. Therefore, let... It is the smallest monotonic basis of V. Note that we can always find the smallest monotonic basis of V by solving the associated linear equations using Gaussian elimination. Let μ = deg(λ) r+1 (x)). As mentioned earlier.

[0525] μ = min{deg(λ(x)):λ(x)∈V}. In fact, V 2t,μ,b(x) ={λ r+1 (x)} and for 1≤j:

[0526] If j < μ:

[0527] If j ≥ μ:

Claims

1. A digital electronic circuit tangibly comprising an instruction program executed by the digital electronic circuit to perform method steps for a Bose-Chaudhuri-Hocquenghem (BCH) soft error decoding method, comprising the following steps: The codeword x is received through a digital electronic communication channel, wherein the received codeword x has τ = t + r errors for a certain r ≥ 1, where t = (d - 1) / 2 and d is the minimum distance of the BCH code; Calculate the affine space V = {λ(x) ∈ F[x]: λ(x)·S(x) = λ'(x) (mod x) 2t The smallest monotonic basis of λ(0)=1, deg(λ(x)≤t+r} Where λ(x) is the error localization polynomial, S(x) is the corrector, and F[x] = GF(q), where for m > 1, q = 2. m ; Calculate matrix A≡(λ) j (β i )) i∈[w],j∈[r+1] Where W={β1,...,β w } is the set of weak bits in x; For each subset, retrieve the set W” = R(W') from memory. Processing is performed by sending a message to B. W” Add a row to calculate B W’ And for B W’ Perform Gaussian elimination, where R(W') is the reliability probability of the bits in W'; and Among them, when B W’ When the first r' columns are the transpose of the system matrix and deg(λ(x)) = t + r', where 1 ≤ r' ≤ r, execute: Calculate u(x) = gcd(λ(x), λ'(x)), where λ'(x) is the derivative of λ(x); When u(x) is a scalar in F*, calculate λ(Φ\W') and subtract Z from it. λ(x),Φ Z λ(x),Φ ={β∈Φ:λ(β)=0}; When |Z λ(x),Φ When |=t+r', add (λ(x),Z λ(x),Φ For all (r', λ(x), Z) λ(x),Φ A set L such that 1 ≤ r' ≤ r, λ(x) ∈ V' r’ |Z λ(x),W |≥r'+1, and |Z λ(x),Φ |=t+r'; and Output set L to the digital electronic communication channel.

2. The digital electronic circuit as described in claim 1, wherein, Add to B W” The line in question is any odd-square polynomial in the codeword x.

3. The digital electronic circuit of claim 1, wherein the method steps further include forming the error location polynomial from the coefficients in the set L, and flipping the channel hard decision at the error location found in the received codeword.

4. The digital electronic circuit as described in claim 1, wherein, When B W’ When the first r' columns are the transpose of the system matrix, λ(x)∈V r’ It is unique and for every β∈W', λ(β)=0.

5. The digital electronic circuit as described in claim 1, wherein the method steps further include terminating the processing of W' when deg(u(x))≥1.

6. The digital electronic circuit of claim 1, wherein the method steps further include when B W’ The processing of W' is terminated when the first r' columns are not the transpose of the system matrix or deg(λ(x))≠t+r'.

7. The digital electronic circuit of claim 1, wherein the method step further comprises, before calculating u(x)=gcd(λ(x),λ'(x)), for each r≥ρ≥r'+2 and (W1,λ1(x)) pair such that λ(x)∈V' ρ and Where |W1|=ρ+1, and λ1(x)∈V ρ It is the only polynomial that makes λ1(W1) = 0, and calculate λ1'(β) for each β in W1.

8. The digital electronic circuit of claim 5, wherein the method steps further include terminating the processing of W1 when λ1'(β) = 0 for any β in W1.

9. A computer-readable, non-transitory program storage device tangibly comprising a computer-executable instruction program to perform method steps for Bose-Chaudhuri-Hocquenghem (BCH) soft error decoding, the method steps comprising the following steps: The codeword x is received through a digital electronic communication channel, wherein the received codeword x has τ = t + r errors for a certain r ≥ 1, where t = (d - 1) / 2 and d is the minimum distance of the BCH code; Error correction is performed on the codeword to generate an error-corrected codeword; as well as The data included in the corrected codewords is output to the digital electronic communication channel. The error correction process includes: Calculate the affine space V = {λ(x) ∈ F[x]: λ(x)·S(x) = λ'(x) (mod x) 2t The smallest monotonic basis of λ(0)=1, deg(λ(x)≤t+r} Where λ(x) is the error localization polynomial, S(x) is the corrector, and F[x] = GF(q), where for m > 1, q = 2. m ; Calculate matrix A≡(λ) j (β i )) i∈[w],j∈[r+1] Where W={β1,...,β w } is the set of weak bits in x; Construct an r+1 row submatrix from a subset of A such that the last column is a linear combination of the other columns; Candidate error-locating polynomials are formed using the coefficients of the minimum monotone basis generated from the constructed submatrix; Perform a fast Chien search, wherein the candidate error-localizing polynomials are verified; and The channel hard decision is flipped at the error location found in the candidate error localization polynomial, and the decoded codeword x is returned.

10. The computer-readable program storage device of claim 9, wherein constructing an r+1 row submatrix from a subset of A such that the last column is a linear combination of the other columns comprises: For each subset, retrieve the set W” = R(W') from memory. Processing is performed by sending a message to B. W” Add a row to calculate B W’ And for B W’ Perform Gaussian elimination, where R(W') is the reliability probability of the bits in W'; Among them, when B W’ When the first r' columns are the transpose of the system matrix and deg(λ(x)) = t + r', where 1 ≤ r' ≤ r, execute: Calculate u(x) = gcd(λ(x), λ'(x)), where λ'(x) is the derivative of λ(x); When u(x) is a scalar in F*, calculate λ(Φ\W') and subtract Z from it. λ(x),Φ Among them, Z λ(x),Φ ={β∈Φ:λ(β)=0}; When |Z λ(x),Φ When |=t+r', add (λ(x),Z λ(x),Φ For all (r', λ(x), Z) λ(x),Φ A set L such that 1 ≤ r' ≤ r, λ(x) ∈ V' r’ |Z λ(x),W |≥r'+1, and |Z λ(x),Φ |=t+r'; and Output set L.

11. The computer-readable program storage device of claim 10, wherein the addition to B W” The line mentioned above is an arbitrary odd-square polynomial in codeword x.

12. The computer-readable program storage device of claim 10, wherein, When B W’ When the first r' columns are the transpose of the system matrix, λ(x)∈V r’ It is unique and for every β∈W', λ(β)=0.

13. The computer-readable program storage device of claim 10, the method further comprising terminating the processing of W' when deg(u(x))≥1.

14. The computer-readable program storage device of claim 10, wherein the method further comprises when B W’ The processing of W' is terminated when the first r' columns are not the transpose of the system matrix or deg(λ(x))≠t+r'.

15. The computer-readable program storage device of claim 10, the method further comprising, before computing u(x) = gcd(λ(x), λ'(x)), for each r ≥ ρ ≥ r' + 2 and (W1, λ1(x)) pair such that λ(x) ∈ V' ρ and Where |W1|=ρ+1, and λ1(x)∈V ρ It is the only polynomial that makes λ1(W1) = 0, and calculate λ1'(β) for each β in W1.

16. The computer-readable program storage device of claim 15, the method further comprising terminating processing of W1 when λ1'(β) = 0 for any β in W1.

17. A product based on computer memory, comprising: Memory; and A digital circuit tangibly contains a program of instructions executed by a computer to perform a method for soft error decoding of Bose-Chaudhuri-Hocquenghem (BCH), said method comprising the following steps: The codeword x is received through a digital electronic communication channel, wherein the received codeword x has τ = t + r errors for a certain r ≥ 1, where t = (d - 1) / 2 and d is the minimum distance of the BCH code; Perform error correction on the codeword to generate an error-corrected codeword; and The data included in the corrected codewords is output to the digital electronic communication channel. The error correction process includes: Calculate the affine space V = {λ(x) ∈ F[x]: λ(x)·S(x) = λ'(x) (mod x) 2t The smallest monotonic basis of λ(0)=1, deg(λ(x)≤t+r} Where λ(x) is the error localization polynomial, S(x) is the corrector, and F[x] = GF(q), where for m > 1, q = 2. m ; Calculate matrix A≡(λ) j (β i )) i∈[w],j∈[r+1] Where W={β1,...,β w } is the set of weak bits in x; For each subset, retrieve the set W” = R(W') from memory. Processing is performed by sending a message to B. W” Add a row to calculate B W’ and to B W’ Perform Gaussian elimination, where R(W') is the reliability probability of the bits in W'; Among them, when B W’ When the first r' columns are the transpose of the system matrix and deg(λ(x)) = t + r', where 1 ≤ r' ≤ r, execute: Calculate u(x) = gcd(λ(x), λ'(x)), where λ'(x) is the derivative of λ(x); When u(x) is a scalar in F*, calculate λ(Φ\W') and subtract Z from it. λ(x),Φ Z λ(x),Φ ={β∈Φ:λ(β)=0}; When |Z λ(x),Φ When |=t+r', add (λ(x),Z λ(x),Φ For all (r', λ(x), Z) λ(x),Φ A set L such that 1 ≤ r' ≤ r, λ(x) ∈ V' r’ |Z λ(x),W |≥r'+1, and |Z λ(x),Φ |=t+r'; and Output set L.

18. The product based on computer memory according to claim 17, wherein, The memory is at least one of a solid-state drive, general-purpose flash memory, or DRAM.

19. A method for soft error decoding of Bose-Chaudhuri-Hocquenghem (BCH), comprising the following steps: The codeword x is received through a digital electronic communication channel, wherein the received codeword x has τ = t + r errors for a certain r ≥ 1, where t = (d - 1) / 2 and d is the minimum distance of the BCH code; Calculate the affine space V = {λ(x) ∈ F[x]: λ(x)·S(x) = λ'(x) (mod x) 2t The smallest monotonic basis of λ(0)=1, deg(λ(x)≤t+r} Where λ(x) is the error localization polynomial, S(x) is the corrector, and F[x] = GF(q), where for m > 1, q = 2. m ; Calculate matrix A≡(λ) j (β i )) i∈[w],j∈[r+1] Where W={β1,...,β w } is the set of weak bits in x; For each subset, retrieve the set W” = R(W') from memory. Processing is performed by sending a message to B. W” Add a row to calculate B W’ And for B W’ Perform Gaussian elimination, where R(W') is the reliability probability of the bits in W'; and Among them, when B W’ When the first r' columns are the transpose of the system matrix and deg(λ(x)) = t + r', where 1 ≤ r' ≤ r, execute: Calculate u(x) = gcd(λ(x), λ'(x)), where λ'(x) is the derivative of λ(x); When u(x) is a scalar in F*, calculate λ(Φ\W') and subtract Z from it. λ(x),Φ Z λ(x),Φ ={β∈Φ:λ(β)=0}; When |Z λ(x),Φ When |=t+r', add (λ(x),Z λ(x),Φ For all (r', λ(x), Z) λ(x),Φ A set L such that 1 ≤ r' ≤ r, λ(x) ∈ V' r’ |Z λ(x),W |≥r'+1, and |Z λ(x),Φ |=t+r'; and Output set L to the digital electronic communication channel.

20. The method of claim 19, wherein, Add to B W” The line in question is any odd-square polynomial in the codeword x.