dangerous NAND_BBT_SCANBYTE1AND6

Brian Norris computersforpeace at gmail.com
Thu Apr 21 13:33:31 EDT 2011


Hi

On 4/21/2011 8:52 AM, Matthieu CASTET wrote:
> I believe NAND_BBT_SCANBYTE1AND6 behavior is very dangerous.
> We have a ST flash where ecc where but on bit 5 and 6.
> With new kernel all block are bad.
>
> Is this option is really needed ?
> ST datasheet say [1]. We already check the first Word.
> Why do we need to check the 6th Byte ?
>
>
> Matthieu
>
> PS : the code check 1st, 2nd, 6th, 7th Bytes. So it check too much bytes.
>
>
> [1]
> The devices are supplied with all the locations inside valid blocks erased
> (FFh). The Bad
> Block Information is written prior to shipping. Any block, where the 1st and 6th
> Bytes, or 1st
> Word, in the spare area of the 1st page, does not contain FFh, is a Bad Block.

I've tried my best to verify that any modifications I have made to bad 
block scanning comply with the data sheets, but I very well could have 
made mistakes (especially since there are so many different types of 
scanning patterns, and very few manufacturers are actually being 
consistent with these things).

That being said, I believe that the data sheet you quoted has some answer:
"Any block, where the 1st and 6th Bytes, or 1st Word, in the spare area 
of the 1st page, does not contain FFh, is a Bad Block."
AFAICT, this description means that x8 buswidth devices must scan bytes 
1 and 6 while x16 devices only need to scan the first word. So I bet 
your device is actually an x8 device and so the 1st/6th byte pattern is 
correct. I think the fact that this conflicts with your ECC patterns is 
something you must deal with.

 > PS : the code check 1st, 2nd, 6th, 7th Bytes. So it check too much bytes.

I've seen this before. This may be incorrect. Are you sure it's not 1st, 
2nd, 5th, 6th though? I believe the "2-byte scans" were chosen before to 
keep from having to differentiate between x8/x16 buses. Perhaps this 
should be changed. (volunteers?)

While we're on the subject: do people use x16 buses on NAND anymore?

Brian



More information about the linux-mtd mailing list