This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

UCD3138: About Error Correction Code of the Data Flash

Part Number: UCD3138

Hi there

Accordint to the Technical Reference Manual, the Data FLASH is specified as a high endurance memory with embedded Error Correction Code. 

Is there any way, registers, some function return value, or whatever, to know it has corrected the memory bit?

And I want to know how many bits could be corrected in the same time. If the number of error bits exceed the abbility of correction, what is gonna happen? Could I know in any way the error bits are not corrected throughly and I have to take care of them.

  • The error correction can correct one bad bit for every 32 bit word.  There's no hardware information on whether the correction is being employed or not.

    If you look at our EVM codes, we generally use checksums for vital data in data flash.  This will tell you if data has been corrupted by many sources, including program faults as well as data flash overuse.  In addition, you can implement write counters in the data flash to see if you have gone over the 20K limit, and move to a different set of pages at that point.