From: Bill Pringlemeir <bpringlemeir@nbsps.com>
To: Brian Norris <computersforpeace@gmail.com>
Cc: linux-mtd@lists.infradead.org
Subject: Re: [PATCH 1/2] mtd: nand: add erased-page bitflip correction
Date: Mon, 17 Mar 2014 19:01:41 -0400 [thread overview]
Message-ID: <87ob148m5m.fsf@nbsps.com> (raw)
In-Reply-To: <87wqfs8mgc.fsf@nbsps.com> (Bill Pringlemeir's message of "Mon, 17 Mar 2014 18:55:15 -0400")
> On 17 Mar 2014, computersforpeace@gmail.com wrote:
>> Subpage writing is performed within the MTD layer. Do you have any
>> examples aside from subpage writes? I really don't know the specifics of
>> how UBIFS tries to read blank pages (I think Artem replied pretty
>> in-depth to Pekon's UBIFS patches about this; I'll have to re-read), but
>> I did not understand them to be in the hot path.
>
> [snip]
>
>> I'm curious: which drivers are you looking at?
>
>> If MTD drivers are doing "subpage" writing by doing read/modify/write,
>> that does indeed seem to be rather broken. Or at least, it doesn't seem
>> very maintainable in the presence of bitflips like this. Can't subpage
>> writes be done where all "unprogrammed" data is assumed to be 0xff? (I'm
>> admittedly not very familiar with subpage programming implementations.)
On 17 Mar 2014, bpringlemeir@nbsps.com wrote:
> Sub page writing seems to be like this for many Freescale controllers
> (the only ones I am familiar with). I don't think the controllers can
> read a partial page. It must read/write full pages. As the MTD has no
> state about how many sub-pages are written, it does a
> 'read-modify-write' to ensure that already written data is preserved.
> Zero to three sub-pages may have already been written with 2k pages and
> 512 byte sub-pages chips.
> See:
> https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/mtd/nand/mxc_nand.c#n1099
> I beleive that the 'NAND_CMD_SEQIN' is sent before a
> 'NAND_CMD_PAGEPROG', by the MTD/nand base. This will read the page
> before programming it so that sub-pages are done correctly.
Sorry, this one is even more obvious.
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/mtd/nand/mpc5121_nfc.c#n367
As a matter of fact, I could be wrong about the 'mxc_nand'. Although
my bench mark data does say that the read is ~2x as fast as the writes
for the 'mxc_nand'.
Regards,
Bill Pringlemeir.
prev parent reply other threads:[~2014-03-17 23:10 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-11 9:11 [PATCH 1/2] mtd: nand: add erased-page bitflip correction Brian Norris
2014-03-11 9:11 ` [PATCH 2/2] mtd: gpmi-nand: use erased-page bitflip check Brian Norris
2014-03-11 10:12 ` [PATCH 1/2] mtd: nand: add erased-page bitflip correction Gupta, Pekon
2014-03-12 5:32 ` Brian Norris
2014-03-12 5:59 ` Elie De Brauwer
2014-03-12 6:59 ` Brian Norris
2014-03-12 12:45 ` Elie De Brauwer
2014-03-13 5:22 ` Brian Norris
2014-03-13 5:55 ` Gupta, Pekon
2014-03-13 6:28 ` Brian Norris
2014-03-13 7:01 ` Gupta, Pekon
2014-03-17 18:47 ` Brian Norris
2014-03-18 7:55 ` Ricard Wanderlof
2014-03-13 12:57 ` Ezequiel Garcia
2014-03-17 18:53 ` Brian Norris
2014-03-13 7:37 ` Elie De Brauwer
2014-03-12 8:06 ` Huang Shijie
2014-03-13 4:55 ` Brian Norris
2014-03-13 8:04 ` Huang Shijie
2014-03-17 16:46 ` Brian Norris
2014-03-17 17:50 ` Gupta, Pekon
2014-03-18 6:48 ` Huang Shijie
2014-03-13 21:32 ` Bill Pringlemeir
2014-03-17 19:46 ` Brian Norris
2014-03-17 22:55 ` Bill Pringlemeir
2014-03-17 23:01 ` Bill Pringlemeir [this message]
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=87ob148m5m.fsf@nbsps.com \
--to=bpringlemeir@nbsps.com \
--cc=computersforpeace@gmail.com \
--cc=linux-mtd@lists.infradead.org \
/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.