ubifs wear leveling across entire device

Adrian Hunter adrian.hunter at nokia.com
Mon Dec 7 15:05:30 EST 2009


twebb wrote:
>>> I'm confused about how wear leveling occurs across the entire device
>>> in the following example.  Could someone help me understand what I'm
>>> missing?
>>>
>>> 4 GiB flash device (nand MLC):
>>> 4 MTD partitions defined:
>>> 0 - "p1" - 0x00000000 - 0x00800000
>>> 1 - "p2" - 0x00800000 - 0x10000000
>>> 2 - "p3" - 0x10000000 - 0x80000000
>>> 3 - "p4" - 0x80000000 - 0x100000000
>>>
>>> kernel args specify 3 ubi volumes:
>>> ubi.mtd=p1 ubi.mtd=p2 ubi.mtd=p3
>>> (p4 is reserved and no volumes or filesystems sit on top of it)
>> That is 3 UBI devices not 3 UBI volumes
>>
> 
> Excuse me.  I'm new to using UBI and UBIFS and am not completely
> familiar with the terminology.  I think what I described in the
> example is 3 UBI devices, with a single volume associated with each
> device.  I had neglected to show that each UBI device had a single
> volume.
> 
> Maybe there's a better way to word my question.  Does UBI wear
> leveling occur independently across each MTD device (p1, p2, and p3
> only in example above) or does it somehow occur over the entire
> physical device (p1-p4 inclusive)?
> 
> I'm trying to understand this so I can determine how to partition the
> physical device to provide the best wear leveling, while still
> allowing a portion of the physical device (p4) to exist outside of any
> UBI device or volume.

Wear-levelling occurs within a single UBI device which is generally
a single MTD partition.

You need 1 MTD partition and 1 UBI device with 3 volumes.  Make the
3 volumes total less than the whole UBI device and you can add a 4th
volume later.



More information about the linux-mtd mailing list