[Yaffs] mount time

Charles Manning manningc2 at actrix.gen.nz
Fri Mar 10 00:43:21 GMT 2006


On Thursday 09 March 2006 04:39, Blair Barnett wrote:
> On Wed, 2006-03-08 at 07:04, Michael Trimarchi wrote:
> > >On a PXA255 200 MHz, with a FULL YAFFS2 128 MB Flash file system, I get
> > >about 10 secs to mount the file system. I haven't used Charles lazy tags
> > >patch yet.
> > >
> > >-blair
> >
> > What is the  "Charles lazy tags patch?". The only solution is Nand
> > Partitioning or what else?
> >
> >
> > Regards Michael
>
> Check out
> http://lists.aleph1.co.uk/pipermail/yaffs/2006q1/001917.html

This patch will only provide minimal speedup, linear according to the number 
of files in the system. It is, however s stepping stone required to achieve 
greater things.

>
> If you break a big file system into smaller partitions, you'll get a
> speed up in the mount time. However, The mount speed appears to be
> pretty linear, although much faster than a comparable JFFS2 file system.
> Thus 2 64 MB partitions that are full will take about 5 seconds each to
> mount.

Correct. Mount time is very close to linear for the amount of flash in use in 
the partition (ie. how much scanning needs to be done). This includes both 
in-use files + garbage.

For instance, if you were to do the following:

mount
fill 
umount
mount <-- measure time A
rm -rf
umount
mount <-- measure time B

you'd get very similar times for A and B because the garbage has not been 
collected. Garbage collection only happens as a side effect of writing to 
YAFFS.

Splitting a NAND into multiple partitions allows you to do things like use a 
small partition for quick booting, then post-boot mount other stuff. 

>
> Of course, you don't really want your file systems full, since you'll
> have no spares when you need to write a file, but I'm just talking about
> theoretical limits.

Bear in mind too that full systems also have to work harder at garbage 
collection, making writing potentially slower.


-- CHarles






More information about the yaffs mailing list