OneNAND: Check first or second pages for bad block information

Adrian Hunter ext-adrian.hunter at nokia.com
Mon Jan 22 03:45:03 EST 2007


ext Kyungmin Park wrote:
> I'm not sure we have to check 2nd page. Yes, Spec. says we will check 1st and 2nd ones.
> 
> It increase the boot time even though it's smaller one than others.

My experience is that the OneNAND bad block scanning time is very small (i.e. insignicant) compared with overall boot time.
For example:
	2048 blocks x 2 pages x 30 microseconds per page = 0.12 seconds

> Let me think, when we check 2nd page case.
> In initial bad, no need to check 2nd page.
> In runtime bad, it is only happend when first page write failed. But during write it has non-0xFF value. so next time it will be detected as invalid.
> 
> How do you think about it?

I cannot comment on how OneNAND actually works.  Also I do not have any experience of encountering bad blocks.  So I would follow the specification.

The specification says:

	Check "FFFFh" at the 1st word of sector 0
	of spare area in 1st and 2nd page

Based on the specification, I would presume that if a bad block goes un-noticed, it could be erased and written without error and only produce errors when the data is read back, by which time it is too late.

If you can guarantee that we never need to read the 2nd page to detect bad blocks, then the specification should be changed accordingly.




More information about the linux-mtd mailing list