Author: Charles Manning Date: To: yaffs Subject: Re: [Yaffs] Older Linux (2.6.30)/YAFFS2/MTD/NAND and ECC
On Monday 09 July 2012 17:06:50 Brent Leever wrote: > Hi Charles-
> Thank you for the reply.
>
> It appears that using the "on-die ECC" capability of our MICRON NAND SLC
> 4Gb 8bit FLASH is the ticket. We are getting better results..
>
> I have one question:
>
> This part has a 64byte OOB area per 2k Block.
> From reading the data sheet.. there are 8 bytes per 512 byte for ECC parity
> bits.. so in a 2048 byte data block we have 32 bytes set aside for ECC.
> There is a 2 byte bad block marker. Leaving 30 bytes for "META DATA"
>
> If things are setup correctly, will YAFFS2 use that area for tags?
> You indicated below that YAFFS2 will to its own ECC on it's file system
> tags, which makes sense because the part does not provide ECC protection on
> some of memory set aside for META DATA.
>
> Is there not enough space for YAFFS2 in the OOB area or do we need to mount
> YAFFS2 with -o "use-inband-tags" ?
Correct.
The tags are a a struct yaffs_packed_tags2 which should take 28 bytes. This
can be whittled down to 19 bytes by using 3xbytes instead of 3xu32 for the
ecc.
If there is space in the oob to store tags then that will be a bit faster and
give slightly more storage. If not, then go with inband tags.