Dear All, I'm working on embedded system equipped with NAND Flash memory. The code is pretty old and corresponds to SHA1: 60f5ecebdeee37d56f33374c407376f596baa468 from: git://www.aleph1.co.uk/yaffs2 From my debugging I do see two bit flips (should be 1s, but I read 0s) happening in the same chunk of data (0x100), from which ECC is calculated. As fair as I know the ECC will be "correct" for two bit flops. I've looked to the yaffs_ecc.* files and found following comment: /* * This code implements the ECC algorithm used in SmartMedia. * * The ECC comprises 22 bits of parity information and is stuffed into 3 bytes. * The two unused bit are set to 1. * The ECC can correct single bit errors in a 256-byte page of data. * Thus, two such ECC blocks are used on a 512-byte NAND page. * */ So it seems like two bit flops are not detected - only single bit flop is detected and corrected. Is there any way to mitigate this issue? IMHO the NAND flash page for this data chunk shall be marked as BAD -> but we cannot detect such errors. Is there any plan to implement new algorithm? For example: https://www.micron.com/~/media/documents/products/technical-note/nand-flash/tn2963_ecc_in_slc_nand.pdf Best regards, Lukasz Majewski -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de