[PATCH] UBI: add auto-resize feature

Artem Bityutskiy dedekind at infradead.org
Wed Jan 16 09:29:46 EST 2008


On Wed, 2008-01-16 at 17:03 +0200, Artem Bityutskiy wrote:
> >From df4d5783bde51db7a213db929252718dbc4381ca Mon Sep 17 00:00:00 2001
> From: Artem Bityutskiy <Artem.Bityutskiy at nokia.com>
> Date: Wed, 16 Jan 2008 15:44:24 +0200
> Subject: [PATCH] UBI: add auto-resize feature
> 
> The problem: NAND flashes have different amount of initial bad physical
> eraseblocks (marked as bad by the manufacturer). For example, for 256MiB
> Samsung OneNAND flash there might be from 0 to 40 bad initial eraseblocks,
> which is about 2%. When UBI is used as the base system, one needs to know
> the exact amount of good physical eraseblocks, because this number is
> needed to create the UBI image which is put to the devices during
> production. But this number is not know, which forces us to use the
> minimum number of good physical eraseblocks. And UBI additionally
> reserves some percentage of physical eraseblocks for bad block handling
> (default is 1%), so we have 1-3% of PEBs reserved at the end, depending
> on the amount of initial bad PEBs. But it is desired to always have
> 1% (or more, depending on the configuration).
> 
> Solution: this patch adds an "auto-resize" flag to the volume table.
> The volume which has the "auto-resize" flag will automatically be re-sized
> (enlarged) on the first UBI initialization. UBI clears the flag when
> the volume is re-sized. Only one volume may have the "auto-resize" flag.
> 
> So, the production UBI image may have one volume with "auto-resize"
> flag set, and its size is automatically adjusted on the first boot
> of the device.

Forgot to note that this is backward-compatible.

-- 
Best regards,
Artem Bityutskiy (Битюцкий Артём)




More information about the linux-mtd mailing list