UBI - exclude bootloader blocks from wear levelling

Darwin Rambo drambo at broadcom.com
Mon Dec 21 18:12:20 EST 2009


My understanding is that wear levelling occurs across each ubi device, and if there were 4 volumes on it, then the wear levelling would be spread efficiently over the single large device. Then you probably get better wear levelling than if you had 4 smaller devices and 4 volumes. 

I'm guessing that statistically it is better to wear level across as large a device as possible, since the wearing would be shared among many more blocks and all logical volumes reap the benefit.

A small device/volume with heavy activity would wear itself out quicker than if it were part of a larger management scheme.

Of course, having separate mtd partitions may make sense for other reasons.

Darwin

-----Original Message-----
From: twebb [mailto:taliaferro62 at gmail.com] 
Sent: Monday, December 21, 2009 2:52 PM
To: Darwin Rambo
Cc: Lauren Del Giudice; linux-mtd at lists.infradead.org
Subject: Re: UBI - exclude bootloader blocks from wear levelling

> Wear levelling is done across a "ubi device" (not the whole nand device) which is associated with a mtd partition. Your bootloader and kernel mtd partitions will not be wear levelled, only your ubi file system partitions. i.e. ubi doesn't know about non-ubi mtd partitions.
>
> I think that's the gist of it.
>
> Darwin
>

That's my understanding also.

Could you maybe clarify another point?  If I wanted to exclude some
blocks that contain boot code (like Lauren's question), and the
leftover space on the NAND device was ultimately going to be used for
four different volumes, does it make the most sense to...

a) define one MTD partition that includes all NAND space (except the
blocks reserved for boot code); and then define one UBI device that
attaches to the MTD device and includes the four volumes (ubi0_0,
ubi0_1, ubi0_2, ubi0_3)

OR

b) define four MTD partitions that include all NAND space (except the
blocks reserved for boot code); and then define four UBI devices that
attach to the MTD devices and each UBI device has one volume
associated with it (ubi0_0, ubi1_0, ubi2_0, ubi3_0)?

Thanks,
twebb





More information about the linux-mtd mailing list