Some questions on bit-flips and JFFS2

Thorsten Mühlfelder muehlfelder at enertex.de
Tue May 11 03:59:35 EDT 2010


Am Wednesday 05 May 2010 11:20:42 schrieb Ricard Wanderlof:
> > I did not really follow the discussion, so sorry if the following is
> > unrelated: I think it should not be too difficult to teach JFFS2 to
> > force GC on eraseblocks with bit-flips.
>
> I think in this case the partition in question just held a raw Linux
> kernel with no file system, so JFFS2 is out of the picture here.
>
> /Ricard

After investigating the problem I can tell you, that you are completly 
right ;-)
Atmel's flash tool Sam-ba 2.5 was used to flash the first NAND partition as 
follows:
1. Bootstrap
2. U-Boot bootloader
3. U-Boot environment variables
4. uImage Linux kernel
All these things are just written raw to predefined memory addresses and if 
some bit in there will flip, the system won't boot anymore.
So my idea was to create an image of that partition from within running Linux, 
check if the partition changes and if so write it back before shutdown. At 
least this may reduce the failing rate.
But unfortunately the Sam-Ba 2.5 tool has a bug: it uses different bad block 
table structure and Linux refuses to read/write every block, that was written 
by Sam-Ba 2.5 because it recognizes them as bad blocks.
So for now I have no idea what I can do to reduce the failing rate.
At least there is still no board using Samsung flash that has failed and I 
hope all problems are related to the Micron flash.

Kind regards
Thorsten



More information about the linux-mtd mailing list