Re: [Yaffs] Re: make yaffs2 work with 2.6.17+ kernels

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: Vitaly Wool
Date:  
To: Wookey
CC: yaffs
Subject: Re: [Yaffs] Re: make yaffs2 work with 2.6.17+ kernels
On 9/16/06, Wookey <> wrote:
> OK. Something is badly wrong here. A useful thing to do to get some
> clue what's going wrong is turn on some yaffs tracing. You can do this
> live when you have a shell and /proc as described on this page [I've
> just made as it didn't appear to be documented anywhere]:
>
> http://www.aleph1.co.uk/yaffsdebugging


Yeah, and I've just figured out what's wrong.
The problem is that YAFFS1 is basically incompatible with how NAND
treats OOB for a common (ie non-SmartMedia) NAND flash chips.
YAFFS1 actually reads yaffsSpare structure from an OOB which can not
be implemented now without special translation which I'm currently
trying to implement. The main problem is that
of course you can read RAW data from an OOB and treat it as yaffsSpare
structure BUT when you write yaffsSpare structure as RAW data you'll
*overwrite* 5th OOB byte which is used a cleanmarker for a standard
512b page NAND flash chip within Linux MTD/NAND subsystem.
I'll implement the translaion but it won't be *completely* vaild since
commonly 16-byte OOB has only 8 spare bytes, whereas yaffsSpare needs
10, excluding ECC. And that's something we can't easily solve.

Vitaly