From: Boris Brezillon <boris.brezillon@collabora.com>
To: Richard Weinberger <richard@nod.at>
Cc: Vignesh Raghavendra <vigneshr@ti.com>,
Tudor Ambarus <Tudor.Ambarus@microchip.com>,
Steve deRosier <derosier@gmail.com>,
"Zoltan Szubbocsev, zszubbocsev" <zszubbocsev@micron.com>,
linux-mtd <linux-mtd@lists.infradead.org>,
Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
Miquel Raynal <miquel.raynal@bootlin.com>,
tglx <tglx@linutronix.de>,
Piotr Wojtaszczyk <WojtaszczykP@cumminsallison.com>,
"Bean Huo, beanhuo" <beanhuo@micron.com>
Subject: Re: [EXT] [PATCH v2 3/3] mtd: rawnand: micron: Address the shallow erase issue
Date: Wed, 6 May 2020 23:11:16 +0200 [thread overview]
Message-ID: <20200506231116.2d16b747@collabora.com> (raw)
In-Reply-To: <130342272.192940.1588798779898.JavaMail.zimbra@nod.at>
On Wed, 6 May 2020 22:59:39 +0200 (CEST)
Richard Weinberger <richard@nod.at> wrote:
> ----- Ursprüngliche Mail -----
> >> UBI scans only headers during attach. If you don't touch these, no way.
> >
> > Sorry, I misunderstood what you meant by payload. UBI should schedule
> > the PEB for erase if the EC/VID header is corrupted.
>
> UBI even tries to recover from such a situation. If only the EC header is bad,
> it will create a new one. Only of the VID header is bad/missing and the payload
> is corrupted (ECC errors or bit-flips) it will erase it.
Yep, I remember that, though in the case of a corrupted EC, UBI will
schedule a PEB recovery, and if the payload is corrupted, the read
should fail when copying the LEB content to another block.
>
> A missing VID header plus good payload will cause UBI to stop attaching since it
> violates the IO model.
Sure, and that's not what we want to do anyway. We basically have 2
choices here:
1/ overwrite all pages starting from page 0 and ending at page 15. This
will lead to ECC errors on already written pages, and 0-filled pages
for others (unless we go for a raw write, in which case it might
actually lead to ECC errors depending on the engine).
2/ track already written pages (by reading them first), and only writes
those that have not been written yet. That means no ECC error in that
case, and no corrupted EC/VID header as well.
Clearly, #2 would help mitigate the perf penalty incurred by the Micron
workaround, but if it's not an option, maybe we can just start with
#1 (which is basically what Miquel implemented).
______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/
next prev parent reply other threads:[~2020-05-06 21:11 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-03 11:40 [PATCH v2 0/3] Fix proposal for the Micron shallow erase issue Miquel Raynal
2020-05-03 11:40 ` [PATCH v2 1/3] mtd: rawnand: Add the nand_chip->erase hook Miquel Raynal
2020-05-03 15:01 ` Boris Brezillon
2020-05-03 11:40 ` [PATCH v2 2/3] mtd: rawnand: Add the nand_chip->write_oob hook Miquel Raynal
2020-05-03 15:09 ` Boris Brezillon
2020-05-03 17:02 ` Miquel Raynal
2020-05-03 11:40 ` [PATCH v2 3/3] mtd: rawnand: micron: Address the shallow erase issue Miquel Raynal
2020-05-03 16:10 ` Steve deRosier
2020-05-03 16:34 ` Boris Brezillon
2020-05-03 16:36 ` Miquel Raynal
2020-05-03 19:57 ` Steve deRosier
2020-05-06 8:37 ` [EXT] " Bean Huo (beanhuo)
2020-05-06 8:28 ` [EXT] " Bean Huo (beanhuo)
2020-05-06 8:45 ` Boris Brezillon
2020-05-06 15:50 ` Bean Huo (beanhuo)
2020-05-06 16:04 ` Boris Brezillon
2020-05-06 16:09 ` Bean Huo (beanhuo)
2020-05-06 16:29 ` Boris Brezillon
2020-05-06 16:50 ` Bean Huo (beanhuo)
2020-05-06 18:44 ` Richard Weinberger
2020-05-06 19:01 ` Boris Brezillon
2020-05-06 19:23 ` Richard Weinberger
2020-05-06 20:40 ` Boris Brezillon
2020-05-06 20:59 ` Richard Weinberger
2020-05-06 21:11 ` Boris Brezillon [this message]
2020-05-07 9:28 ` Bean Huo (beanhuo)
2020-05-07 9:40 ` Boris Brezillon
2020-05-07 9:28 ` Bean Huo (beanhuo)
2020-05-07 9:30 ` Boris Brezillon
2020-05-07 10:02 ` Richard Weinberger
2020-05-07 12:20 ` Richard Weinberger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200506231116.2d16b747@collabora.com \
--to=boris.brezillon@collabora.com \
--cc=Tudor.Ambarus@microchip.com \
--cc=WojtaszczykP@cumminsallison.com \
--cc=beanhuo@micron.com \
--cc=derosier@gmail.com \
--cc=linux-mtd@lists.infradead.org \
--cc=miquel.raynal@bootlin.com \
--cc=richard@nod.at \
--cc=tglx@linutronix.de \
--cc=thomas.petazzoni@bootlin.com \
--cc=vigneshr@ti.com \
--cc=zszubbocsev@micron.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.