public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Derek Ou <derek@siconix.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] NAND bad environment block handling
Date: Thu, 08 Jan 2009 11:27:45 -0700	[thread overview]
Message-ID: <496645A1.7010403@siconix.com> (raw)
In-Reply-To: <mailman.2543.1231435349.2783.u-boot@lists.denx.de>

Hi,

I think bad blocks are less likely to happen near the first block, which 
is guaranteed to be good.  It may be possible to find NAND chip that 
guarantee more blocks but I have not encountered one myself.

U-boot has the code to skip bad block when reading environment.  As 
Sylvain said, you just need to reserve enough spare blocks.  Like his 
sample,  if you have 2 spare blocks after the environment block and 
using your 1% probability, the chance of all 3 blocks are bad are 1 out 
of 1,000,000.  In this case, the environment will collide with the next 
partition, which could be your redundant environment or even Linux kernel.

Derek
> ------------------------------
> Hi,
>
> I'm wondering what the best way is to handle bad environment blocks in NAND.
>
> According to the spec of our supplier a delivered component is considered to be OK if less than 2% of the blocks are not bad.
> This means that for our products we need to take into account that worst case 2% of the blocks are bad. But even with 1% bad blocks we have an issue:
> If the bad blocks are distributed randomly we have a chance of 1/100 * 1/100 so 1 out of 10.000 that both U-Boot environment blocks are bad. 
> And actually things could even be worse if the bad blocks are caused by some manufacturing defect at our supplier and both environment blocks happen to be bad in a whole batch of ICs.
>
> Is there a solution for this?
> (obviously I am not considering the situation for a single system, where I just would relocate the environment block; this concerns a production situation).
>
> E.g. it would be nice if U-Boot could read the env from the next non-bad block at/after the env address.
>
> Has someone experience in this area? Ideas? Suggestions?
>
> Thanks alot!
> Frans Meulenbroeks
>   

       reply	other threads:[~2009-01-08 18:27 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <mailman.2543.1231435349.2783.u-boot@lists.denx.de>
2009-01-08 18:27 ` Derek Ou [this message]
2009-01-09  3:01 ` [U-Boot] Request for eMMC support in uboot Naveen Kumar GADDIPATI
2009-01-09  6:08   ` Jean-Christophe PLAGNIOL-VILLARD
     [not found] <mailman.2551.1231706115.2783.u-boot@lists.denx.de>
2009-01-13 14:55 ` [U-Boot] NAND bad environment block handling David.Kondrad at onqlegrand.com
2009-01-08 15:19 Frans Meulenbroeks
2009-01-08 16:06 ` Cote, Sylvain
2009-01-09  7:25   ` Frans Meulenbroeks
2009-01-08 19:57 ` Scott Wood
2009-01-09  7:21   ` Marcel Ziswiler
2009-01-09 21:23     ` Wolfgang Denk
2009-01-11 11:10 ` Schlaegl Manfred jun.
2009-01-11 13:26   ` Frans Meulenbroeks
2009-01-11 20:20     ` Schlaegl Manfred jun.
2009-01-11 13:28   ` Wolfgang Denk
2009-01-11 14:35     ` Frans Meulenbroeks
2009-01-11 21:56       ` Wolfgang Denk
2009-01-11 20:30     ` Schlaegl Manfred jun.

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=496645A1.7010403@siconix.com \
    --to=derek@siconix.com \
    --cc=u-boot@lists.denx.de \
    /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