optimum geometry

Jörn Engel joern at wohnheim.fh-wedel.de
Tue Jan 22 07:00:21 EST 2002


Hi!

> Yes, you're right. The overhead per-block is 12 bytes, but probably more
> important than that is the fact that more nodes have to be split up between
> blocks rather than being written out in one go - meaning an extra 70-odd 
> byte header, and worse compression.

I did a quick test and had 292 saved Bytes per eraseblock. Compared to
your numbers, 2/3 of the savings are due to better compression, so the
numbers can only be a rough measure.
With f being the filesystem size and e being the erase block size, the
optimum should be roughly: e = sqrt(60*f)

Reasoning:
Going from e to e/2, you waste 300*f/e Bytes.
Going up from e to 2*e, you waste 5*e Bytes.
Minimum is reached, when both effects are equal, thus:
5*e = 300*f/e
e^2 = 60f
e = sqrt(60f)

But again, this depends on compression, so take it with a grain of
salt.

Jörn

-- 
If you treat your beta-testers as if they're your most valuable
resource, they will respond by becoming your most valuable resource.
-- Eric Raymond in "The cathedral and the bazaar"




More information about the linux-mtd mailing list