[Yaffs] YAFFS2 memory usage

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: Ross Younger
Date:  
To: yaffs
Subject: [Yaffs] YAFFS2 memory usage
Hi all,

I've ported YAFFS to eCos and am currently confirming the stability of the
port.

I've run into questions surrounding YAFFS's expected memory usage.


The board I am working with at the moment has a Samsung 1Gbit NAND chip (2k
pages x 64 pages per block x 1024 blocks), and I am using the whole NAND as
my filesystem.

I found a hint ("system requirements" in
http://www.yaffs.net/yaffs-direct-user-guide) that one should budget 2 bytes
of RAM per page of NAND. On my chip that comes out to 128kbytes. I then
found http://www.yaffs.net/yaffs-memory-footprint which feels a "better"
estimate given the greater number of inputs.

I have created a test filesystem with 10,000 files of around 10k each. By
the latter estimate above I expect to use around 1.74Mb. On querying my heap
usage, I'm coming in slightly under that at 1.6Mb.

I'm pretty sure this number is accurate as nothing else is calling malloc;
after I unmount the filesystem, heap usage drops to zero.

Admittedly this is a contrived test, but I'm slightly surprised that I came
close to a YAFFS1 estimate despite using the large-page code of YAFFS2;
wasn't there intended to be a saving somewhere? Is this estimate generally
reliable with both small-page and large-page devices? It seems to be more
like an upper bound than an average, which itself would be useful to have
confirmed.

Any insights would be gratefully received...

Thanks in advance,


Ross

-- 
Embedded Software Engineer, eCosCentric Limited.
Barnwell House, Barnwell Drive, Cambridge CB5 8UU, UK.
Registered in England no. 4422071.                 www.ecoscentric.com