All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Lambrecht Jürgen" <J.Lambrecht@TELEVIC.com>
To: Leon Pollak <leonp@plris.com>
Cc: "linux-embedded@vger.kernel.org" <linux-embedded@vger.kernel.org>
Subject: Re: U-Boot <-> Kernel; NAND operation proposal
Date: Wed, 18 Dec 2013 11:03:15 +0100	[thread overview]
Message-ID: <52B172E3.5030503@televic.com> (raw)
In-Reply-To: <18990519.GPctzMhBYx@leonp.plris.com>

Hi Leon,

you better post this to linux-mtd@lists.infradead.org.
You will get a better response there.

On 12/04/2013 05:39 PM, Leon Pollak wrote:
> Hello, all.
>
> I beg your pardon ahead for possible stupidity and inconsistency of what
> I am going to say - this may be simply because of the lack of
> experience. Below is my story and proposal as the result.
>
> During the last 2 years, my product, which is based on DM368 (ARM7 based
> TI CPU) and Micron's NAND flashes (256MiB, 2K page) behaves unstably.
You have linux on ARM7, uClinux then?
> This means that some units from time to time refuse to boot for
> different reasons.
I think booting from NAND is a bad idea for embedded devices. NAND has 
bit-rot (also called 
read-disturb(http://ecos.sourceware.org/ml/ecos-discuss/2011-05/msg00074.html)) 
(http://www.linux-mtd.infradead.org/doc/ubifs.html#L_ubifs_mlc), even 
when just reading (the bootloader binary). So suddenly the boot binary 
could have e.g. a bit-flip.
But maybe you already have redundant boot images?
We always use NOR flash to boot.
>
> Today, after so long time and so many corrections, I can say that most
> of the problems (not all!), which lead to the unit unable to start to
> the end (to the application) where because of the incompatible modes of
> NAND operating between u-boot and kernel.
>
> For example, in the configuration I started from, which was supplied by
> some vendor as evaluation board, u-boot was configured to use 4-bit HW
> ECC, while kernel used 1-bit SW ECC.
>
> The OOB layouts used in both systems were different.
> Also BBT were configured differently.
>
> There were several other "small things", which combination was
> inconsistent and produced the incorrect NAND functioning, which finally
> in some cases made the unit inoperative.
>
> --
>
> The major issue here is that such inconsistencies are not manifested in
> some way, until the unit suddenly refuse to boot up after 2 weeks or 2
> years.
>
> All this lead me to the following thought (very draftly):
>
> Each NAND has the "spare free" area in the first (zero) block, which is
> used for storing CIS information. This information does not occupy all
(I think the experts on linux-mtd will know this stands for Card 
Information Structure, but I didn't ;-)
> the block, which usually is several hundreds of kilobytes.
> So, this "spare" place may be used for storing some descriptive
> information of ALL possible NAND flash and its service parameters.
> I am speaking about ECC bits, Sw/HW, OOB layout, BBT layout, patter
> places, bad block marks, and everything else you can imagine.
>
> Further, this information must be used both by u-boot and kernel. Or
> even by other components, for example, RBL/UBL in DM36x from TI.
I think that is a good idea. I recently also had nand flash issues with 
BBT layout.
You better also post this to the uboot and barebox (uboot v2) mailing 
list; I only know barebox:
barebox@lists.infradead.org

Kind regards,
Jürgen

>
> Thanks to all who read this.
> Best Regards


-- 
Jürgen Lambrecht
R&D Associate
Mobile: +32 499 644 531
Tel: +32 (0)51 303045    Fax: +32 (0)51 310670
http://www.televic-rail.com
Televic Rail NV - Leo Bekaertlaan 1 - 8870 Izegem - Belgium
Company number 0825.539.581 - RPR Kortrijk

  reply	other threads:[~2013-12-18 10:03 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-12-04 16:39 U-Boot <-> Kernel; NAND operation proposal Leon Pollak
2013-12-18 10:03 ` Lambrecht Jürgen [this message]
  -- strict thread matches above, loose matches on Subject: below --
2013-12-18 11:12 Leon Pollak
2013-12-18 11:54 ` Ricard Wanderlof
2013-12-18 12:11   ` Leon Pollak
2013-12-18 16:43     ` Peter Barada
2013-12-19 19:59     ` Gupta, Pekon
2013-12-20 21:49       ` Leon Pollak

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=52B172E3.5030503@televic.com \
    --to=j.lambrecht@televic.com \
    --cc=leonp@plris.com \
    --cc=linux-embedded@vger.kernel.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.