RE: [Yaffs] Re: YAFFS and HW ECC

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: Charles Manning
Date:  
To: Roberts Nathan-mcg31137, tglx, Wookey
CC: YAFFS
Subject: RE: [Yaffs] Re: YAFFS and HW ECC
The best way to look at mkyaffsimage, IMHO, is as a hackable tool that
you reconfigure to your needs. mkyaffsimage is pretty straight forward,
so this is easily done.

mkyaffsimage was written quite a while back and has not been made
flexible to work with different OOB layouts. All that is needed is to
mess around with write_chunk which is a very short and, IMHO, easy to
understand function.

If someone wants to make mkyaffsimage more flexible and contribute it
back(eg. James Ng contributed a pitch for BE and LE), that would be fine
too.



> I understand what's been said but I'm unclear on how the
> tools (mkyaffsimage, mkyaffs, and nandwrite) can be used in
> conjunction with this mechanism. Please point out the flaw in
> the following
> analysis:
>
> It seems like mkyaffsimage generates an image
> that contains the OOB info based on how it wants the tags placed:
>
> typedef struct
> {
>     __u8  tagByte0;
>     __u8  tagByte1;
>     __u8  tagByte2;
>     __u8  tagByte3;
>     __u8  pageStatus;     // set to 0 to delete the chunk
>     __u8  blockStatus;
>     __u8  tagByte4;
>     __u8  tagByte5;
>     __u8  ecc1[3];
>     __u8  tagByte6;
>     __u8  tagByte7;
>     __u8  ecc2[3];
> } yaffs_Spare;

>
>
> Both nandwrite and mkyaffs will then use the MEMWRITEOOB
> ioctl to write these 16 bytes to the OOB. MEMWRITEOOB doesn't
> appear to use the oobfree info to figure out how to write the
> OOB info so it looks to me like it
> will write these 16 bytes as layed out above (which will not
> work with the hardware ecc placement scheme I am using).
>
> Is this just a case where the tools should really be using
> GETOOBSEL to figure out where the free bytes are and then
> program accordingly?
>
> >
> >tglx
> >
> >
> >
> >
> >
>
> _______________________________________________
> yaffs mailing list
>
> http://stoneboat.aleph1.co.uk/cgi-> bin/mailman/listinfo/yaffs
>