Load UBI faster

Artem Bityutskiy dedekind at infradead.org
Thu May 7 01:28:12 EDT 2009


On Thu, 2009-05-07 at 08:22 +0300, Artem Bityutskiy wrote:
> On Wed, 2009-05-06 at 09:26 +0200, simon polette wrote:
> > I'm trying to improve boot time on a at91sam9261ek board. I boot on
> > nand flash with ubifs. It take about 400ms to load ubi and ubifs.
> > Do you know if fastboot technology, which consist in loading drivers
> > asynchronously, is conceivable with UBI ?
> > Thanks for your help.
> 
> Fastbood is applicable in the situation when initialization
> is mostly about sleeping and waiting for hw. In case of UBI,
> it reads from flash and calculates CRC. The reading from NAND
> is usuall synchronous, so this process takes 100% of your CPU.
> 
> One way to optimize this a little would be to use on-flash
> BBT. Usually the nand core scans full NAND to find bad blocks.
> With on-flash BBT this could be avoided. But probably this
> would not give you much.

You could also play with CRC. ATM we use CRC32 for UBI headers.
This is rather expensive if you CPU is slow. I'd try to hack
UBI and see what changes if it does not calculate it. If it
helps, you could try to consider CRC16 or adler32 instead of
CRC32.

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




More information about the linux-mtd mailing list