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