[Yaffs] Re: YAFFS fs images not working the way I expect

Charles Manning manningc2@actrix.gen.nz
Sun, 24 Oct 2004 16:33:26 +1300


On Saturday 23 October 2004 07:35, David Wuertele wrote:
> Thomas> OOB info is part of the filesystem.
>
> If it is, the designer made a boo-boo!  It isn't called "out-of-band"
> for nothing!

YAFFS uses the "OOB area" to store tags. I did this on purpose as a way t=
o=20
improved the performance etc of YAFFS. I can asure you this was no booboo=
.

Hundreds of thousands of devices have been shipped with YAFFS, so I can=20
assure you it's working.

It isn't really "out of band". That's really a pretty dopey name. All chi=
p=20
vendors call it the "spare area". All block drivers use this area to stor=
e=20
ECC and other info such as logical block number etc. YAFFS tages this one=
=20
step further and uses the spare area to store file tags data.


>
> Thomas> ECC is part of error correction in the NAND layer. How should
> Thomas> this work without?
>
> 1.  ECC is optional in the NAND layer
>
> 2.  ECC should be a component of the NAND driver, not of the
>     filesystem.
>
> Thomas> nandwrite from MTD/utils programs images with OOB info, ECC
> Thomas> and is bad block aware.
>
> But I need to pre-load my flash with a programmer.  This is for the
> purposes of mass production, and there's no way to do it on a machine
> already running linux.  How am I going to get my YAFFS partition onto
> the flash?

I'm having a problem understanding what you can't do.

Under Linux you can use mkyaffs to load a YAFFS image into a NAND partiti=
on.

If you're using a device programmer then have a look at the basic algorit=
hm=20
in mkyaffs:

Erase the device/partition, then write the info into the page and spare=20
areas, skipping over bad blocks.

-- CHarles