public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Graham Moore <grmoore@opensource.altera.com>
To: Richard Weinberger <richard.weinberger@gmail.com>
Cc: Dinh Nguyen <dinh.linux@gmail.com>,
	Dinh Nguyen <dinguyen@opensource.altera.com>,
	Brian Norris <computersforpeace@gmail.com>,
	David Woodhouse <dwmw2@infradead.org>,
	<yamada.m@jp.panasonic.com>,
	Josh Triplett <josh@joshtriplett.org>,
	"linux-mtd@lists.infradead.org" <linux-mtd@lists.infradead.org>,
	Linux List <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] mtd: denali: Disable sub-page writes in Denali NAND driver
Date: Thu, 5 Feb 2015 10:18:16 -0600	[thread overview]
Message-ID: <54D397C8.808@opensource.altera.com> (raw)
In-Reply-To: <CAFLxGvynJFPECTG5f_ZN_VpgkiZE01MUiJh4Yvj-Pf8MuOit7g@mail.gmail.com>



On 02/03/2015 04:23 PM, Richard Weinberger wrote:
...

>
> So this driver never worked?
> If it worked for some users we have to make sure that your change does not break
> existing setups.
> /me thinks of UBI.
>

Actually, we made this change to make UBIFS work.  So, yes, the driver 
never worked for UBI.  Worked fine for JFFS2, raw data.

A customer reported an issue with ECC errors when using UBIFS on NAND 
flash with Altera SoC.

We debugged it and found the ECC errors occur because the UBI subsystem 
is trying to write sub-pages in the NAND, but neither the NAND chip 
itself nor the Denali NAND controller support sub-page writes.

In more detail, the UBIFS tries to write a sub-page, but the controller 
writes a whole page instead.  The controller's buffer is initialized to 
FF, so all the data outside the subpage is FF.

But in this case, part of the page in the device is already non-FF.  And 
that data does not change when FF is written to it.

The Denali controller calculates ECC on the data written, but that data 
will not match the data in the device, and so the ECC is incorrect.

When a subsequent read occurs, the ECC will not match and an error will 
occur.

Thanks,
Graham Moore

  reply	other threads:[~2015-02-05 16:35 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-14 15:38 [PATCH] mtd: denali: Disable sub-page writes in Denali NAND driver dinguyen
2015-02-03 22:15 ` Dinh Nguyen
2015-02-03 22:23   ` Richard Weinberger
2015-02-05 16:18     ` Graham Moore [this message]
2015-02-06  8:29       ` Ricard Wanderlof
2015-02-06  9:28         ` Richard Weinberger
2015-03-31  1:33 ` Brian Norris

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=54D397C8.808@opensource.altera.com \
    --to=grmoore@opensource.altera.com \
    --cc=computersforpeace@gmail.com \
    --cc=dinguyen@opensource.altera.com \
    --cc=dinh.linux@gmail.com \
    --cc=dwmw2@infradead.org \
    --cc=josh@joshtriplett.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mtd@lists.infradead.org \
    --cc=richard.weinberger@gmail.com \
    --cc=yamada.m@jp.panasonic.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox