In our platform, SLC Micron NAND 2GB with 512K Block size and min I/O 4K is used for software storage. Software component are flashed using MFG tool (configured for imx6d). Right after the flashing, Random bitflips are seen in some partitions mostly large in number on rootfs partition while dump with "nanddump" utilities.
Though NAND is configured with 16 bit ECC strength for bit correction, In rootfs partition, Bitflip in erased page can't be recovered since OOB is also erased. Hence error -EBADMSG is shown in log during booting.
After good study and search on various forum, Following link seems to be an interesting patch for this issue.
This patch suggest to do two things
1. Setting erase threshold to ecc strength in BCH register
2. Manually correcting bitflip in gpmi_ecc_read_page if erase page with bitflip found.
Now I have three questions for Freescale community.
1. I would like to know why this patch has not been considered. Are they any side effect if this patch is applied ?
2. Setting a value for erase threshold in BCH register, whether bitflip in OOB region is also counted for the value ? or
bitflip in data region is alone counted for the value ?
3. Can you point out any mechanism to detect bitflip in OOB region of erased pages other that comparing it with 0xff ?
We are using IMX6d auto processor and yocto BSP 3.10.17 kernel.