Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.dsp > #35299 > unrolled thread

BCH Encoding/Decoding

Started byRandy Yates <yates@digitalsignallabs.com>
First post2020-11-24 17:20 -0500
Last post2020-11-28 04:27 +0000
Articles 2 — 2 participants

Back to article view | Back to comp.dsp


Contents

  BCH Encoding/Decoding Randy Yates <yates@digitalsignallabs.com> - 2020-11-24 17:20 -0500
    Re: BCH Encoding/Decoding spope384@gmail.com (Steve Pope) - 2020-11-28 04:27 +0000

#35299 — BCH Encoding/Decoding

FromRandy Yates <yates@digitalsignallabs.com>
Date2020-11-24 17:20 -0500
SubjectBCH Encoding/Decoding
Message-ID<87d0025rd9.fsf@digitalsignallabs.com>
I've notieced that in order to decode a page of in-band data, the linux
kernel code first computes the out-of-band ECC bytes on the given
in-band data (calc_ecc). It is also passed the received oob data
recv_ecc. 

If (byte-by-byte) the calc_ecc does not match the recv_data, then
the page is decoded. 

Why not compute the decoded ECC and compute the locator
vector/polynomial right off? Are these operations much
more expensive than encoding and comparing?

--Randyh

[toc] | [next] | [standalone]


#35300

Fromspope384@gmail.com (Steve Pope)
Date2020-11-28 04:27 +0000
Message-ID<rpsjk3$ds9$1@blue-new.rahul.net>
In reply to#35299
Randy Yates  <yates@digitalsignallabs.com> wrote:

>I've notieced that in order to decode a page of in-band data, the linux
>kernel code first computes the out-of-band ECC bytes on the given
>in-band data (calc_ecc). It is also passed the received oob data
>recv_ecc. 
>
>If (byte-by-byte) the calc_ecc does not match the recv_data, then
>the page is decoded. 
>
>Why not compute the decoded ECC and compute the locator
>vector/polynomial right off? Are these operations much
>more expensive than encoding and comparing?

TL;dr it comes down to evaulating a lower-degree polynomial,
thus requires less computation.

Assume it is a systematic (n,k) BCH code, it is most efficient to
re-encode the message part of the codeword, and then XOR the
resulting (n-k) check symbols with the (n-k) received check
symbols.  Then the syndrome (power sum symmetric function)
can be computed by evaluating using these (n-k) polynomial coefficients
instead of all n coefficients.

The quick exit if there is no mismatch is an optimization.

[toc] | [prev] | [standalone]


Back to top | Article view | comp.dsp


csiph-web