All of lore.kernel.org
 help / color / mirror / Atom feed
* ubifs: nand flash wear profiling for userspace application file i/o
@ 2015-08-07 11:47 Ильяс Гасанов
  2015-08-07 12:30 ` Richard Weinberger
  0 siblings, 1 reply; 4+ messages in thread
From: Ильяс Гасанов @ 2015-08-07 11:47 UTC (permalink / raw)
  To: linux-mtd

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.

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.

Best regards,
Ilyas Gasanov

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: ubifs: nand flash wear profiling for userspace application file i/o
  2015-08-07 11:47 ubifs: nand flash wear profiling for userspace application file i/o Ильяс Гасанов
@ 2015-08-07 12:30 ` Richard Weinberger
  2015-08-07 12:53   ` Michal Suchanek
  2015-08-07 12:55   ` Ильяс Гасанов
  0 siblings, 2 replies; 4+ messages in thread
From: Richard Weinberger @ 2015-08-07 12:30 UTC (permalink / raw)
  To: Ильяс
	Гасанов
  Cc: linux-mtd

On Fri, Aug 7, 2015 at 1:47 PM, Ильяс Гасанов <torso.nafi@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.

-- 
Thanks,
//richard

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: ubifs: nand flash wear profiling for userspace application file i/o
  2015-08-07 12:30 ` Richard Weinberger
@ 2015-08-07 12:53   ` Michal Suchanek
  2015-08-07 12:55   ` Ильяс Гасанов
  1 sibling, 0 replies; 4+ messages in thread
From: Michal Suchanek @ 2015-08-07 12:53 UTC (permalink / raw)
  To: Richard Weinberger
  Cc: Ильяс
	Гасанов,
	linux-mtd

On 7 August 2015 at 14:30, Richard Weinberger
<richard.weinberger@gmail.com> wrote:
> On Fri, Aug 7, 2015 at 1:47 PM, Ильяс Гасанов <torso.nafi@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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: ubifs: nand flash wear profiling for userspace application file i/o
  2015-08-07 12:30 ` Richard Weinberger
  2015-08-07 12:53   ` Michal Suchanek
@ 2015-08-07 12:55   ` Ильяс Гасанов
  1 sibling, 0 replies; 4+ messages in thread
From: Ильяс Гасанов @ 2015-08-07 12:55 UTC (permalink / raw)
  To: Richard Weinberger; +Cc: linux-mtd

Hi,

2015-08-07 15:30 GMT+03:00 Richard Weinberger <richard.weinberger@gmail.com>:
> 10000 is not much, is this MLC?

Maybe, I'm not sure. At least, this is the guaranteed value, not the
average one, afaik.

> ubinfo prints the maximum erase counter value, does this help?
> This info is also available via /sys/class/ubi/ubi0/max_ec.

Yes, it does for our purpose. We need to test it for some days though,
for precision reasons.

> 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.

That about covers it, thank you.

Best regards,
Ilyas Gasanov

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2015-08-07 12:55 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-08-07 11:47 ubifs: nand flash wear profiling for userspace application file i/o Ильяс Гасанов
2015-08-07 12:30 ` Richard Weinberger
2015-08-07 12:53   ` Michal Suchanek
2015-08-07 12:55   ` Ильяс Гасанов

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.