All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michele De Candia (VT) <michele.decandia@valueteam.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] PATCH: bugfix for nand erase failure with bad blocks
Date: Wed, 17 Jun 2009 09:43:50 +0200	[thread overview]
Message-ID: <4A389EB6.4060808@valueteam.com> (raw)
In-Reply-To: <4A3898B5.8060309@valueteam.com>

Michele De Candia (VT) wrote:
> Scott Wood wrote:
>   
>> Wolfgang Denk wrote:
>>     
>>> Dear "Michele De Candia (VT)",
>>>
>>> In message <4A37F7BF.2090101@valueteam.com> you wrote:
>>>       
>>>>>> this patch fixes a bug for 'nand erase' command: when bad blocks 
>>>>>> are present into erasing area, they were skipped but the erased 
>>>>>> size was updated anyway.
>>>>>>             
>>>>> And what exactly is the bug in this behaviour?
>>>>>   
>>>>>           
>>>> I think that 'erase' should have the same behaviour of 'write' and 
>>>> 'read' commands: skip bad blocks until read/write size is reached. 
>>>> If you write a script that erases and then writes a NAND area and 
>>>> bad blocks are not skipped while erasing (as U-Boot actually does), 
>>>> the following 'write'  is successfully done but ECC checks fail on 
>>>> next read on the same area.
>>>>         
>>> I see - thanks for the explanation.
>>>
>>> Hm... actually I think the write should fail in such a case...
>>>
>>> Scott, what do you think?
>>>       
>> I think the current behavior is reasonable.  You're erasing a specific 
>> region of flash, not an amount needed to hold a certain amount of data.
>>
>>     
>  From this point of view you're in the right; maybe this would be 
> explained in 'README.nand' documentation or what do you think about add 
> ing an option to 'nand erase' command to consider 'size' field as the 
> effective blocks size to be erased and not as the area size?
>   
Moreover, I think that if you want to erase a specific NAND area, the 
correct way to use 'nand erase' command would be:

'nand erase start end'

If you want to erase  an area but you want to be sure that 'size' bytes 
were erased, you should use:

'nand erase off size'

In this case a bad block should be skipped and next block will be erased.

Obviously this behavior must be implemented.

What do you think about it?

>> While I can see the appeal of Michele's suggestion, I think it would 
>> be more error-prone as people trying to erase a region rather than 
>> just the size of data could erase too much.
>>
>> It definitely should not be an error to erase a region that happens to 
>> contain a bad block.  Bad blocks are expected and we need to work 
>> around them.
>>
>> -Scott
>>     
>
>
>   

  reply	other threads:[~2009-06-17  7:43 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-06-16 13:06 [U-Boot] PATCH: bugfix for nand erase failure with bad blocks Michele De Candia
2009-06-16 18:10 ` Wolfgang Denk
2009-06-16 19:51   ` Michele De Candia
2009-06-16 20:09     ` Wolfgang Denk
2009-06-16 20:19       ` Scott Wood
2009-06-17  7:18         ` Michele De Candia
2009-06-17  7:43           ` Michele De Candia [this message]
2009-06-17  7:44           ` Michele De Candia
2009-06-17 15:54             ` Scott Wood
2009-06-17 16:17               ` Michele De Candia
2009-06-17 22:04                 ` Scott Wood
2009-06-17 22:15                   ` Wolfgang Denk
2009-06-17 22:34                     ` Scott Wood
2009-06-19  7:01                       ` Michele De Candia
2009-06-17 22:11               ` Wolfgang Denk
2009-06-17  9:18         ` Wolfgang Denk

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=4A389EB6.4060808@valueteam.com \
    --to=michele.decandia@valueteam.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 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.