I have some basic nand flash questions -
How does the number of ECC bits matter ?
Who actually does error checking - Nand flash or the interfacing MCU ?
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.
The number of ECC bits matter a lot. The number of ECC bits means, the number of error bits it can correct in a given 512 bytes data. Assume that over a period of time flash developed more bit errors, then if we are using an algorithm that supports higher number of bits, then it will be easier to correct and less chances of failures. Basically it reduces the probability of error occurrence. The minimum ECC bits depends on the manufacturer specification as well the NAND technology used. For example SLC NAND is less prone to error and MLC NAND is more prone and TLC will be worst. A stronger ECC algorithm is required in case of MLC when compared to SLC.
Generally NAND flash controller doesn't compute ECC and does error correction. But these days there are NANDs available with built-in ECC engine support.
I hope I could clarify your question.
Hitesh,
Is your NAND vendor recommending 8-bit ECC? Then, it will be better to use 8-bit ECC. But you can still use the same MCU, provided you implement the ECC calculation and correction in software.
Check whether your NAND is SLC or MLC. If its SLC, you may not need 8-bit ECC, 4-bit might be sufficient. Well, it depends on the manufacturer recommendation.
Renjith,
The Flash is SLC. There is no recommended minimum ECC from either the MCU or Flash.
If I cannot use software ECC, Can I use Hardware ECC. Is it on the Nand?
Is there a life time vs error vs Ecc bits data available anywehre?
Hitesh,
Can I know which the NAND flash part that you are using? If possible can you share the datasheet?
Hardware ECC support is provided by the NAND Flash controller inside the MCU.
I'm not really sure about the life time/error/ecc bits data availability.
Renjith Thomas said:Hitesh,
Can I know which the NAND flash part that you are using? If possible can you share the datasheet?
Hardware ECC support is provided by the NAND Flash controller inside the MCU.
I'm not really sure about the life time/error/ecc bits data availability.
Here's the part datasheet -
http://www.toshiba.com/taec/components/Datasheet/TC58NVG1S3EBAI5.pdf
They also have a 8-bit ECC Nand. I don't have the datasheet yet.
Hitesh,
I checked the datasheet. It says, 1-bit ECC is sufficient for every 512bytes of data.
ECC: Error Correction Code. 1 bit correction per 512 Bytes is necessary
So I think 4-bit hardware ecc is more than enough for your case.