The erasure Code is based on Reed Solomon Codes. Every code word and primitive polynomial used is also of degree ‘m’. ‘n’ gets set from ‘m’ which is ((1<<’m’)-1) .There could be shortened ‘n’ which will be less than ‘n’ . The codewords ‘n’ – ‘n_short’ are assumed to be 0 . If the code has ‘t’error correcting capability then ‘k’ = ‘n’ – 2*’t’. The erasure code is completely configurable to any ‘m’ , ‘n_short’ or ‘t’. The maximum number of erasures that can be corrected are 2*’t’ whereas the maximum number of errors that can be corrected are ‘t’ when number of erasures are 0. For every error bit correction, it consumes 2 parity code words and every erasure code word consumes 1 parity code word. The number of parity blocks is 2*’t’. Every erasure has one piece of additional information which is its location in codeword space so it can correct more number of erasures than maximum number of errors where the locations of errors is not known. Errors_correctable = floor((2*tt-no_eras)/2) The Erasure correcting Code consists of
-- Encoder
-- Decoder
1. Phi Calculator
2. Syndrome Calculator
3. Berlekamp Massy Circuitry
4. Parallel Chien Search
5. Forney Circuit
Encoder: It has programmable input data bus width. The whole encoding can be completed in 1 cycle
Decoder:
-- Phi Calculator: It takes in erasure locations and number of erasures and generates phi
-- Syndrome Calculator: It can generate all syndromes in as little as 1 clock, or serially in as large as ‘n_short’ clocks
-- BerlekampMasy Circuit: it generates error locator polynomial to Chien search engine
-- Parallel Chien Search Engine: It can generate error locations in as little as 1 clock or as large as ‘n_short’ clocks
-- Forney Circuitry: It can give the correction for error data at error locations indicated by Chien Search
Contact: By email : manish03@gmail.com manish@secantecinc.com By phone: 408 807 1195