|
|
|
|
|
BCH Error Correction Code (ECC) Software
|
|
ChannelScience is pleased to provide FREE source code for BCH encoding and decoding functions (written in C by Neal Glover)!
This is a 1.489MB zip file, which contains version 4.00 of the source code. The software, files, and other information included are provided for educational purposes, AS IS, and without any warranty or claim of fitness for any purpose. Use it at your own risk. Review the license included in the download. If you do not agree with all of these terms, do not use the software.
Neal's white paper Extending the Life of Software BCH Encoders and Decoders Flash Memory Applications explains some of the advanced techniques he uses in his BCH ENDEC software.
An overview of the capabilities of version 4.00 of the code is provided in Neal's white paper Fast Software BCH Encoder and Decoder -FastBchEnDecR400-.
For reference, the previous version (R300) of the BCH software and white paper are still available.
Please register your email address to be notified (very infrequently) when new software updates, white papers, or training are available.
Another popular source for ECC source code is The Error Correcting Codes (ECC) Page.
Open source IP cores for ECC encoders and decoders are available from OpenCores. Search their site for the type of ECC you are looking for (CRC, BCH, Reed-Solomon, LDPC, ...), or browse "Projects" for "ECC core."
For those who are new to the topic, a BCH (Bose Chaudhuri Hocquenghem) code is a random bit error correcting code (ECC), widely used in flash (solid-state) non-volatile memory (NVM).
|
|
|
|
Neal Glover was instrumental in moving the hard disk drive industry to more powerful error correction codes in the early 1990s. He has been interested in the practical application of error correcting codes for more than 30 years.
Neal has taught short courses on the subject and holds a number of patents in the field. He started two small businesses to provide error correction products and services to the magnetic and optical storage industries.
He enjoys programming in MATLABŪ and "C" and has developed an extensive finite field function library for prototyping error correction algorithms in MATLABŪ.
Neal and Trent Dudley wrote the classic 1991 textbook Practical Error Correction Design for Engineers, revised 2nd edition>.
|
|
|
|
|
|
|
|