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.

DM816X NAND Mount ubifs ECC Errors

When I try to mount an empty ubifs create on top of /dev/mtd3 with the ubi device being /dev/ubi0_0, I see the following errors:

UBI error: ubi_io_read: error -74 (ECC error) while reading 129024 bytesfrom PEB 773:2048, read 129024 bytes

UBI error: ubi_io_read: error -74 (ECC error) while reading 129024 bytes from PEB 775:2048, read 129024 bytes

UBI error: ubi_io_read: error -74 (ECC error) while reading 129024bytes from PEB 10:2048, read 129024 bytes

UBI error: ubi_io_read: error-74 (ECC error) while reading 122880 bytes from PEB 777:8192, read 122880 bytes

UBI error: ubi_io_read: error -74 (ECC error) while reading 110592 bytes from PEB 9:20480, read 110592 bytes

The PEB (physical erase block) number changes every time I mount. After I wrote a program to mark those PEB as bad blocks, this error will come up with other PEBs. So it looks like the PEBs are not the problem. I did a "nandtest" with /dev/mtd3 and it returned without any issues, although further dig in the "nandtest" code indicates that nandtest calls read function in mtdchar.c which ignores ECC errors.

Could this be some NAND timing issue?

1. Our hardware: TI EVM DM816X.
   Our software: TI EZSDK 5_04_00_11 for dm816x
2. The NAND chip is the one that came with the EVM DM816X.  The chip is the Micron 3.3V 16bit 256MiBytes NAND flash. The flash works fine in u-boot. We are able to read and write new uboot images, kernel images, and save u-boot environment variables. It works fine in the booted kernel too, except when I try to mount the ubifs. Even with the "ECC errors", the ubifs mounts and as far as I can tell it works too. But I am just concerned about those ECC errors and why they should occur to different seemingly good blocks.
3. No changes to u-boot or kernel are made. The board switches (S3) is set to use 16-bit flash.

  • Tiebing,

    1. What is the sub-page size that you've configured file creating the filesystem.

    2. What is the page-size of the NAND device?

    3. Does the error occur during the first mount, or is it happening from second boot/mount onwards?