NAND partitioning

Jörn Engel joern at wohnheim.fh-wedel.de
Mon Jan 31 10:29:43 EST 2005


On Mon, 31 January 2005 09:10:38 -0600, Josh Boyer wrote:
> On Mon, 2005-01-31 at 13:56 +0100, Jörn Engel wrote:
> > 
> > Problem would be trivial to solve, if said blocks were not scattered
> > across the device.  Do you have a good reason to need this?
> 
> If said blocks were not scattered across the device, then they could be
> in a static partition and there would be nothing to discuss :).  We just
> got done discussing this on IRC, so I'll try and summarize.
> 
> The main reason to not have static partitions is the concern of bad
> blocks on NAND and the effects that can have on the available space for
> updates, etc of binary data.  If a majority of a partition is bad
> blocks, either from the factory or from eventual wear, then you don't
> have much room for updating, etc.

Not sure if there really is a problem that needs solving.

Your concern is that you need R blocks for the raw data, pick an
arbitrary number A of blocks, but notice that A-R is less than B, the
number of bad blocks in the area.  Sure.

So now you simply pick a sufficiently large A.  Let's say that your
flashes have 5% bad blocks on average.  I'm too lazy to do the math
properly, but if you pick A = 1.2*R, then well over 99% of all flash
chips should have less than 20% bad blocks in you boot partition.

And for the remaining 0.something%, you are the one to argue why those
chips have a sufficient quality to hit the field.  I'd be scared.

Jörn

-- 
Invincibility is in oneself, vulnerability is in the opponent.
-- Sun Tzu




More information about the linux-mtd mailing list