Re: [Yaffs] Questions about NAND spare space orgnizations wi…

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: ian@brightstareng.com
Date:  
To: yaffs
Subject: Re: [Yaffs] Questions about NAND spare space orgnizations with HWECC in Yaffs2
On Thursday 05 July 2007 00:32, He Yong wrote:
>   sorry, I made a mistake. the yaffs2's mini-ecc actually only
> checks the 16 bytes of ext tags (struct
> yaffs_PackedTags2TagsPart).

Yes, I call the tags ecc the "mini-ECC", it is not the main ECC
that covers the user's data. It protects the integrity of the
tags data.

> and generates 9 bytes of parity
> code (struct yaffs_ECCOther). but the sizeof(struct
> yaffs_ECCOther) = 12 byte, simply because the struct is 4-byte
> aligned, I made a little change to save 3 bytes for other
> usage (like mtd bad block mark).


Did you try using unsigned char's in place of the unsigned int's
in struct yaffs_ECCOther, see
http://balloonboard.org/lurker/message/20070702.161336.5e273493.en.html

It should be easy to reduce struct yaffs_PackedTags2 to just 20
bytes: 4 ints + 3 chars + 1 alignment byte -- so only 19 bytes
of real data. This should work without any introducing any
functional differences. The code in yaffs_packedtags2.c uses
sizeof(struct) for the length so I do not think there is any need
to change the i/o code if you can work with 20-byte tags.

-imcd