Author: Martin Chaplet Date: To: yaffs Subject: [Yaffs] strange OOB "corruption"
After using Yaffs2 without any problems during months, some of our
products start to have a strange behavior :
Some of the blocks are corrupted outside Yaffs state machine (data is lost)
I can't reproduce the issue from now but I can get some Nand raw dump.
Analyzing them, I extracted some strange OOB for these "fake" bad
blocks, here is the extracted OOB (of first page on concerned block) :
Many bytes change from one fake bad block to another but bytes 0-1 and
0x1E - 0x28 are always the same (1314 .... 2DE93C019FE59AFDFFEB)
In my mind, with Yaffs, a good block will start with FFFFFFFF and a bad
block with 0000000 (followed by 55AA padding).
I really don't understand how something can access to this layer (in my
mind, only Yaffs driver and mtd utils, through ioctls, can write it)
Anyway, I'm still trying to learn how Yaffs use this OOB to check
integrity of all bytes.
Is there any known leak in Yaffs which can cause this ?
Are the "1314" or "2DE9..." meaning something to you ?