Hi,
We are programming the boot device (2Gb NAND Macronix MX30LF2G18AC) for the AM3552 in an off-line programmer which is needed for production process. We are using a TI SW program "bin2nand" to embed the BCH8 ECC data into the files before we use them in the programmer. We are using Linux, uboot and UBIFS in our application. In general the process works, but not on every part. We have found that when there is even a single bit error within a page (compare between programming file and a read back of a part in the programmer) at certain locations being readout of the rootfs, the system will output a message such as " UBI warning: ubi_io_read: error -74 (ECC error) while reading 3023 bytes from PEB 22:106696, read only 3023 bytes, retry "... The PEB of 22 does correlate with the block # where we see the bit error with programmer read back. It is my understanding up to 8 bits of error per sub-page (512) should be able to be handled by the BCH8 ECC.
In development, we programmed the NAND ( ie, files copied from SDCARD ) using the SW tools in Linux and never ran into an issue. In this case, the BH8 ECC data is being generated from within the GPMC.
Perhaps the ECC calculation & data be adding in the bin2nand SW tool may not be completely correct. It works fine when there are no errors in the page but that is not the case when there is a bit error(s). It does have the correct format…. 64 Bytes.. (see shaded region in attached example ) and matches the format of figure 26-15 in the TRM spruh73m.pdf with the exception of the bytes 15, 29, 43, and 57 being “FF” in our files and “00” in the TRM.
I know the explanation is brief but I am really looking to get clue on where to look since this subject matter is fairly complex. Has anyone successfully used the bin2nand to generate the BCH8 ECC data for the AM3552 ? Was there any post processing of the output file needed ? If this method was not used, what method was ( adding ECC in data files for programmer)
Also, I understand there are issues/complexities with NAND ECC handling within UBFIS,. Are there setting/code we need to include /use for the ECC to be handled properly?
Thanks in advance for any guidance and assistance which can be provided.
Sincerely,
Larry Bernstein
