Hi: I've run yaffs2 in device, whose enviroment parameters : * kernel 2.6.23 * cpu: powerpc MPC8323 * nand: Samsung NAND 1GiB, 4 Level Cell, 3,3V 8-bit Sometimes I found bits filp in some key files. The program which used the damaged file wound go wrong. This bits flip could not be detected by hardware ECC. I thought some aggressive error step should be token to reduce problem. So I changed source code in yaffs_HandleChunkError from: void yaffs_HandleChunkError(yaffs_Device *dev, yaffs_BlockInfo *bi) { if (!bi->gcPrioritise) { bi->gcPrioritise = 1; dev->hasPendingPrioritisedGCs = 1; bi->chunkErrorStrikes++; if (bi->chunkErrorStrikes > 3) { bi->needsRetiring = 1; /* Too many stikes, so retire this */ T(YAFFS_TRACE_ALWAYS, (TSTR("yaffs: Block struck out" TENDSTR))); } } } to: void yaffs_HandleChunkError(yaffs_Device *dev, yaffs_BlockInfo *bi) { if (!bi->gcPrioritise) { bi->gcPrioritise = 1; dev->hasPendingPrioritisedGCs = 1; bi->chunkErrorStrikes++; bi->needsRetiring = 1; /* Too many stikes, so retire this */ T(YAFFS_TRACE_ALWAYS, (TSTR("yaffs: Block struck out" TENDSTR))); } } In the other words, with above patch, any write or verify error will cause yaffs2 to mark those block bad. Recently I found faults in some devices. The kernel print many continuous bad block. The log like this //3 continuous bad block block 773 is bad block 774 is bad block 775 is bad //7 continuous bad block block 777 is bad block 778 is bad block 779 is bad block 780 is bad block 781 is bad block 782 is bad block 783 is bad // 44 continuous bad block block 816 is bad block 817 is bad block 818 is bad block 819 is bad block 820 is bad block 821 is bad block 822 is bad block 823 is bad block 824 is bad block 825 is bad block 826 is bad block 827 is bad block 828 is bad block 829 is bad block 830 is bad block 831 is bad ... ... Here is my question: 1. Is my patch wrong? 2. Why the official yaffs2 code assume 3 chunkErrorStrike to retire a block? Reduce to 1 chunkErrorStrike will wrongly mark the good block bad? 3. Should I remove the patch? Thanks a lot for your advice.