[Yaffs] chunkId error in yaffs_ScanBackwards , mount failed

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: CHEN XUEQIN
Date:  
To: yaffs@lists.aleph1.co.uk
Subject: [Yaffs] chunkId error in yaffs_ScanBackwards , mount failed
Hi all:

     I use yaffs2 to save some user data in nand flash, like syslog message.
After some months, I found the nand flash part could not be mounted again. No
detail kernel message was available. So I added some debug code to yaffs_ScanBackwards.
Yaffs2 told chuldid error, chunkId value readed 0x0400067b, which wase large
than max value 0x000FFFFF. From the chunkId value, it seemed high-order bit
flip from 0 to 1 , thus turned into 0x0400067b. So the yaffs2 mount fail.


     In my yaffs kernel compile option, the yaffs2 tag ecc was disabled.
My questions:


     1. My flash type is sansumg MLC nand flash. Is there common that bit
flip in nand oob area?
     2. Yaffs2 tag ecc option should be enabled to correct the bit flip in
tags data?
     3. If yaffs2 tag ecc option is enabled, how about the filesystem read
and write performance in production environment ?


     Thanks for your advice and help.


Regards,
Xueqin Chen