[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