Hi,
We are experiencing high numbers of NAND ECC errors in our DM368 based system and have seen very intermittent board lockups where uboot appears to start but then freezes. The only way to recover is to reflash uboot. Strangely there is no obvious corruption so the freezing is still a bit of a puzzle. I suspect these problems are related, at least in part, to our inclusion of a Micron MLC NAND however I'd like to get some feedback from the forum to confirm my suspicions.
The NAND in question is the Micron MT29F32G08CBACA. According to the datasheet this NAND requires ECC of 24 bits per 1080 bytes whereas the DM368 HW ECC engine apparently supports up to 4 bits per 512 bytes. The NAND has a page size of 4096 bytes with a 224 byte OOB region.
We have checked uboot and linux are using the davinci OOB layout and we are using the YAFFS2 filesystem.
We also have an unexplained anomoly in that blocks 0x5A and 0x5B are consistently marked as bad across all our NAND devices. When checked with nand dump these blocks contain all zero's and even nand scrub will not touch them. I cannot find anything in the datasheet so does anyone know why this should be?
By way of confirming our suspicions and to assist in our decision to change the hardware or not, I have the following questions:
- Can the DM368 realistically support this particular NAND using only 4 bit ECC?
- What are the consequences of only using 4 bit ECC on this NAND?
- Is it actually possible that using 4 bit ECC instead of the Micron specified could cause the system to lock up?
- Can we disable HW ECC and do 12 bit ECC detection in software such that performance is maintained?
Many thanks for any advice, your help is much appreciated.
Regards,
John.