All of lore.kernel.org
 help / color / mirror / Atom feed
* RE: RFC: detect and manage power cut on MLC NAND
@ 2015-03-12 10:31 Andrea Marson - DAVE Embedded Systems
  0 siblings, 0 replies; 52+ messages in thread
From: Andrea Marson - DAVE Embedded Systems @ 2015-03-12 10:31 UTC (permalink / raw)
  To: jlauruhn
  Cc: Andrea Scian - DAVE Embedded Systems, dedekind1, linux-mtd, richard

Hi Jeff,

thank you for your availability. I'd really love to discuss in more 
detail these matters.

About Write Protect (WP) pin, IIUC it must respect several constraints. 
For example it must not be transitioned while NAND is busy. What if it 
is set low while NAND is ready - that is it can accept new commands - 
but an erase operation is in progress? Does the erase operation complete 
anyway?

Andrea Marson
*DAVE Embedded Systems*



> Power loss is actually very complex.  The Write Protect (WP) pin was added =
> to NAND help lock the NAND when a power loss event is detected.  I have ext=
> ensive information on NAND and would be happy to discuss.  =20
>
>
> Jeff Lauruhn
> NAND Application Engineer
> Embedded Business Unit
> Micron Technology, Inc
>
>
> -----Original Message-----
> From: linux-mtd [mailto:linux-mtd-bounces@lists.infradead.org] On Behalf Of=
>   Andrea Scian
> Sent: Wednesday, March 11, 2015 10:01 AM
> To: Richard Weinberger; dedekind1@gmail.com
> Cc: mtd_mailinglist
> Subject: Re: RFC: detect and manage power cut on MLC NAND
>
>
> Hi all,
>
> and thanks for you feedback.
> You can find my comments below.
>
> Il 11/03/2015 10:09, Richard Weinberger ha scritto:
>> Am 11.03.2015 um 10:05 schrieb Artem Bityutskiy:
>>> On Wed, 2015-03-11 at 09:57 +0100, Richard Weinberger wrote:
>>>> Hi!
>>>>
>>>> Am 11.03.2015 um 08:20 schrieb Artem Bityutskiy:
>>>>> On Tue, 2015-03-10 at 13:51 +0100, Richard Weinberger wrote:
>>>>>>> WDYT about this?
>>>>>>> If it sounds reasonable is there any suggestion where to place such =
> a code?
>>>>>> Customers often use DYI uninterruptible power supplies using capacito=
> rs.
>>>>>> But managing a power cut is the least problem you have with MLC NAND.
>>>>> Why is it the least problem, what is the hardest one? I thought=20
>>>>> this one is the hardest.
>>>> IMHO the hardest ones are the problems we don't know yet as NAND=20
>>>> vendors are not really chatty about the MLC constraints.
>>>> We don't know much about data retention for example. At least we=20
>>>> have not much hard facts. Most of our knowledge is hearsay.
>>> Well, but from the problems we know paired pages seems to be the=20
>>> biggest one. E.g., what do we do if VID header gets corrupted because=20
>>> of an interrupted write to the page paired with the VID header page?=20
>>> Sounds like a hard problem to me.
>> It is a hard problem. But at least we know about it.
>>
> IIUC can I summarize like the following
>
> 1) power cut is one of the big problem we know about MLC NAND flash with UB=
> I
> 2) we are unaware of other big issue with MLC NAND
>
> Unfortunately I don't really know the MTD/UBI/UBIFS internals but (correct =
> me if I'm wrong) to me solving the power cut issue only by software (by usi=
> ng proper data structure, redundancy, NAND flash operation jornal and so on=
> ) is pretty hard to implement inside the Linux MTD stack.
>
> On the other hand, stuff like scrubbing (e.g. having a task like GC that pe=
> riodically scrub the required NAND erase block), paired page (e.g.
> carefully selecting LEB to PEB mapping to avoid reading/writing data into p=
> aired page in a wrong way) are still to be implemented but have, somehow, l=
> ess impact on the whole MTD stack.
>
> For sure I'm missing some other MLC NAND issue, but the above are the one t=
> hat I'm aware of.
>
> WDYT?
>
> Best Regards,
>
> --=20
>
> Andrea SCIAN
>
> DAVE Embedded Systems
>
>
>

^ permalink raw reply	[flat|nested] 52+ messages in thread
* RFC: detect and manage power cut on MLC NAND
@ 2015-03-10 11:57 Andrea Scian
  2015-03-10 12:51 ` Richard Weinberger
  2015-03-11  7:21 ` Artem Bityutskiy
  0 siblings, 2 replies; 52+ messages in thread
From: Andrea Scian @ 2015-03-10 11:57 UTC (permalink / raw)
  To: mtd_mailinglist


Dear All,

for testing and research purpose, I'm working with an Embedded Linux
product which mounts an MLC NAND.

I know that one of the trouble with MLC flash on Linux with UBI/UBIFS is
the power cut management (ref.
http://www.linux-mtd.infradead.org/doc/ubifs.html#L_unstable_bits)

IIUC the solution inside MTD/UBI/UBIFS is not so simple and thus not so
quick to implement.

I'm wondering if anyone of you already think about managing power cut in
a different way: many embedded/industrial products already have some
big/huge bypass capacitor that are able to keep the system alive for
hundreds of milliseconds (this is useful for power supply
micro-interruptions), which are commonly enough to complete the latest
NAND operation.
Most of the has a GPIO/IRQ that tells whenever such a power cut happens,
so the kernel can take some actions with it (e.g., in our case, complete
the last NAND operation and prevent from starting newer operation, which
may corrupt the NAND pages).

WDYT about this?
If it sounds reasonable is there any suggestion where to place such a code?

Best Regards,

-- 

Andrea SCIAN

DAVE Embedded Systems

^ permalink raw reply	[flat|nested] 52+ messages in thread
[parent not found: <mailman.37176.1426610573.22890.linux-mtd@lists.infradead.org>]

end of thread, other threads:[~2015-03-26  8:55 UTC | newest]

Thread overview: 52+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-03-12 10:31 RFC: detect and manage power cut on MLC NAND Andrea Marson - DAVE Embedded Systems
  -- strict thread matches above, loose matches on Subject: below --
2015-03-10 11:57 Andrea Scian
2015-03-10 12:51 ` Richard Weinberger
2015-03-11  7:20   ` Artem Bityutskiy
2015-03-11  8:57     ` Richard Weinberger
2015-03-11  9:05       ` Artem Bityutskiy
2015-03-11  9:09         ` Richard Weinberger
2015-03-11 17:01           ` Andrea Scian
2015-03-11 17:23             ` Jeff Lauruhn (jlauruhn)
2015-03-11 17:29               ` Richard Weinberger
2015-03-11 21:16                 ` Jeff Lauruhn (jlauruhn)
2015-03-12 10:28                   ` Richard Weinberger
2015-03-12 22:57                     ` Jeff Lauruhn (jlauruhn)
2015-03-13 20:31                       ` Boris Brezillon
2015-03-13 23:51                         ` Jeff Lauruhn (jlauruhn)
2015-03-14  9:46                           ` Andrea Marson - DAVE Embedded Systems
2015-03-16 16:02                             ` Jeff Lauruhn (jlauruhn)
2015-03-17  8:00                               ` Andrea Scian
2015-03-14 10:32                           ` Boris Brezillon
2015-03-16 21:11                             ` Jeff Lauruhn (jlauruhn)
2015-03-17  9:30                               ` Andrea Scian
2015-03-17 10:02                                 ` Boris Brezillon
2015-03-17 16:42                                   ` Jeff Lauruhn (jlauruhn)
2015-03-18  8:45                                     ` RFC: detect and manage power cut on MLC NAND (linux-mtd Digest, Vol 144, Issue 70) Andrea Marson
2015-03-18 16:12                                       ` Jeff Lauruhn (jlauruhn)
2015-03-19  8:47                                         ` RFC: detect and manage power cut on MLC NAND Andrea Marson
2015-03-19  9:12                                           ` Boris Brezillon
2015-03-19 17:45                                             ` Jeff Lauruhn (jlauruhn)
2015-03-20  0:25                                             ` Iwo Mergler
2015-03-20  3:38                                               ` nick
2015-03-20  5:40                                                 ` Iwo Mergler
2015-03-20  8:26                                               ` Boris Brezillon
2015-03-20 17:15                                                 ` Nick Krause
2015-03-22 23:45                                                 ` Iwo Mergler
2015-03-23  2:18                                                 ` Iwo Mergler
2015-03-23  7:06                                                   ` Artem Bityutskiy
2015-03-23 19:05                                                     ` Boris Brezillon
2015-03-24  7:05                                                       ` Artem Bityutskiy
2015-03-19 18:00                                           ` Jeff Lauruhn (jlauruhn)
2015-03-20  8:07                                             ` Andrea Marson
2015-03-17 17:04                                 ` Jeff Lauruhn (jlauruhn)
2015-03-16  9:01                         ` Ricard Wanderlof
2015-03-16 17:27                           ` Jeff Lauruhn (jlauruhn)
2015-03-14 10:03                       ` Richard Weinberger
2015-03-12  9:32               ` Ricard Wanderlof
2015-03-23  4:08           ` Iwo Mergler
2015-03-23 21:15             ` Jeff Lauruhn (jlauruhn)
2015-03-24  1:17               ` Iwo Mergler
2015-03-24 16:50                 ` Jeff Lauruhn (jlauruhn)
2015-03-25  3:38                   ` Iwo Mergler
2015-03-25  8:33                     ` Ricard Wanderlof
2015-03-26  1:57                       ` Jeff Lauruhn (jlauruhn)
2015-03-26  8:55                         ` Ricard Wanderlof
2015-03-11  7:21 ` Artem Bityutskiy
     [not found] <mailman.37176.1426610573.22890.linux-mtd@lists.infradead.org>

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.