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.

AM3517 Yaffs2 Multiple Bit ECC

Other Parts Discussed in Thread: AM3517

Hi,

We are using a custom board based on AM3517. Its running on the older version of the kernel (2.6.32) and android (Froyo) based on the SDK 3 dev kit. We are using YAFFS2 as the file system. The customer has sent back quite a few units where the file system is getting corrupted. Currently the kernel has SW ECC and YAFFS2 does 1bit error correction I assume.


TI's documentation says that to enable 8 bit ECC UBIFS has to be used. Is there any work around to enable 4 bit or 8 bit BCH ECC on YAFFS2? Or is going down the UBIFS route the only choice?

Thanks

  • First, you need to know WHY the file system gets corrupted.

    I might have nothing to do with ECC. It might be a missing Capacitor (Energy storage) plus Diode on the VCC line of the flash. If the power loss is during a write/erase, you will have a lot of instable bits.

    So, first check the file system with the "nand" commands of uboot.
     Try to find out which type of failure it is.


    regards

    Wolfgang

  • Thank you Wolfgang.

    I've reported this to the hardware team. I'm not sure about this since we are using the SOM which TI uses in the EVM board. I'm assuming they would have ensured that.

    I was able to successfully change the filesystem to UBIFS and enable 8 bit BCH ECC in the kernel. Any ideas as to how I can test this?

    Can I read, modify and write raw Nand pages and see some error correction happening? I'm not completely aware as to how the ECC happens in UBIFS

  • What is the answer to Vaibhav's original question?

    "TI's documentation says that to enable 8 bit ECC UBIFS has to be used. Is there any work around to enable 4 bit or 8 bit BCH ECC on YAFFS2? Or is going down the UBIFS route the only choice?"

    This would be very useful to know.