[Yaffs] Yaffs and ECC on mx21

Todd Poynor tpoynor at mvista.com
Fri Mar 10 17:29:41 GMT 2006


Livio Tenze wrote:
> I am trying to use the yaffs filesystem on my MX21 (arm) board.
> The problem I have is that the MX21 processor provides a Nand Flash 
> Controller (NFC) which cannot be disabled and it is involved in updating 
> the ecc data on the spare are of the nand device.
...
> When I test the yaffs.o module and I try to write a file, I obtain the 
> following messages:
> cp: cannot create regular file `/mnt/minicom.log': Cannot allocate memory
> and the nand device seems to be full.
> 
> What is the problem? May you help me?

All blocks are probably being retired with ECC errors, and possibly 
being marked as bad blocks due to byte reserved for that purposes being 
overwritten.  See /proc/yaffs.

The yaffs 512 byte page size filesystem hardcodes the SmartMedia Out Of 
Band area layout, which will probably be incompatible with the layout 
used by your H/W accelerator.  Converting yaffs to use the mtd layer's 
autoplace info could fix many of these situations.  But for now, folks 
hack the definitions of yaffs_guts.h: yaffs_Spare, yaffs_mtdif.c: 
yaffs_oobinfo, and maybe yaffs_tagscompat.c: yaffs_VerifyCompare, 
possibly the ECC calculation and comparison logic.

--
Todd



More information about the yaffs mailing list