[PATCH] OneNAND: Runtime badblock check support

Artem Bityutskiy dedekind1 at gmail.com
Wed Jul 22 02:19:50 EDT 2009

On Wed, 2009-07-22 at 11:39 +0900, Kyungmin Park wrote:
> Hi,
> On Tue, Jul 21, 2009 at 8:05 PM, Kyungmin Park<kmpark at infradead.org> wrote:
> > Hi
> >
> > On Tue, Jul 21, 2009 at 7:56 PM, Artem Bityutskiy<dedekind1 at gmail.com> wrote:
> >> Hi,
> >>
> >> On 07/21/2009 05:53 AM, Kyungmin Park wrote:
> >>>
> >>> At bootloader, we don't need to read full page. It takes too long time.
> >>> Instead it only read pages required for boot.
> >>>
> >>> Signed-off-by: Kyungmin Park<kyungmin.park at samsung.com>
> >>> ---
> >>
> >> I do not understand the commit message. Could you please provide a better
> >> one which explains what the patch is really doing and why.
> >
> > Right, the page means all blocks. It doesn't scan all blocks at boot
> > time. only some block contains kernel part are read and boot.
> >
> > The goal is simple, Avoid double scanning at boot time. One time for
> > bootloader, Another is kernel.
> > As you know at bootloader, only load kernel in normal case. it means
> > we only read the kernel bad blocks and handle it.
> > and jump to the kernel. that's all
> >

I understand the double-scanning issue. But I still do not understand
how your patch is avoiding it? If the boot-loader has scanned the
flash, it should pass the bad-block bitmap to the kernel. If you have
on-flash BBT, then probably this is not a problem.

> Experimental idea.
> How about to integrate the bbt scan and ubi scan?

It is possible, but isn't it better to just have on-flash BBT and
forget about any scanning for bad blocks at all?

We could go even further: If the boot-loader supports ubi, it could do
the scanning and pass all UBI data to the kernel, in which case UBI
would not need to do any scanning.

> At ubi scan time. it scans all ubi blocks. In different from NAND,
> OneNAND read main page and spare page both.
> So if runtime badblock check enabled, read the page and check oob
> first and if it's valid. use main page. If not, set it's badblock.
> I'm not sure how much codes are modified. :)
> How to you think?

It is possible, but I think the implementation will add more ugliness...
Why not to just use on-flash BBT instead?

Best Regards,
Artem Bityutskiy (Артём Битюцкий)

More information about the linux-mtd mailing list