ubifs: nand flash wear profiling for userspace application file i/o

Michal Suchanek hramrach at gmail.com
Fri Aug 7 05:53:36 PDT 2015


On 7 August 2015 at 14:30, Richard Weinberger
<richard.weinberger at gmail.com> wrote:
> On Fri, Aug 7, 2015 at 1:47 PM, Ильяс Гасанов <torso.nafi at gmail.com> wrote:
>> Hello.
>>
>> We are developing a GNU/Linux-based appliance, and our customers are
>> concerned that the defining application, which runs on it, wears out
>> its flash storage too quickly under certain circumstances. The h/w
>> supplier guarantees at least 10 000 rewrite cycles for its nand flash
>> blocks before wear out.
>
> 10000 is not much, is this MLC?
>
>> Is there a suitable method to count (or accurately estimate) the
>> distribution of rewrite cycles for ubifs flash blocks during a certain
>> period of application work cycle, e. g. for three days? The power is
>> not guaranteed to be 100% time on, without a single outage, so it
>> would be preferred if persistent data is used, like ubifs journal or
>> ubi wear-leveling peb contents, rather than volatile kernelspace
>> counters and such.
>
> ubinfo prints the maximum erase counter value, does this help?
> This info is also available via /sys/class/ubi/ubi0/max_ec.
>
> If you want the distribution you have to write a small script which
> reads the EC header of all blocks.
> But as UBI does wear leveling for you, the distribution should not
> matter. Please keep in mind that you need to define a sane
> WL threshold.
>

Also be aware that with MLC power outage can destroy already written
block which is in the same physical area as the currently programmed
block which ubifs currently does not handle AFAIK.

Thanks

Michal



More information about the linux-mtd mailing list