[U-Boot] [PATCH 3/3] mtd/nand : workaround for Freescale FCM to support large-page Nand chip
Scott Wood
scottwood at freescale.com
Tue Jan 3 23:08:33 CET 2012
On 01/03/2012 03:48 PM, Matthew L. Creech wrote:
> On Sat, Dec 3, 2011 at 11:31 PM, <shuo.liu at freescale.com> wrote:
>> From: Liu Shuo <shuo.liu at freescale.com>
>>
>> Freescale FCM controller has a 2K size limitation of buffer RAM. In order
>> to support the Nand flash chip whose page size is larger than 2K bytes,
>> we read/write 2k data repeatedly by issuing FIR_OP_RB/FIR_OP_WB and save
>> them to a large buffer.
>
> (Starting a new thread so I don't hijack your patch)
>
>
> Hi Scott / Liu,
>
> We're using the MPC8313 and booting from a 2k NAND (using a SPL
> image). Like others, we're a bit concerned about continued
> availability of 2k parts. So this change -- being able to use the FCM
> with a 4k chip -- would be very useful to us.
>
> However, so far all of the 4k chips that we've seen have a higher
> error rate than our current 2k chips. Therefore they all recommend
> that something stronger than 1-bit ECC is used. Since the FCM only
> supports 1-bit ECC in hardware, it implies that we'll need to use
> software BCH to utilize a 4k chip.
Even on SLC chips, when using an ECC block size of 512 bytes? Or are
you only able to find MLC?
I looked for a datasheet for a 4K NAND chip, but couldn't find one
readily available from a Google search. Hopefully someone internally
can provide me with the one for the chip we're using.
> But this seems like it's going to pose problems when we build U-Boot:
> the SPL boot code is already heavily trimmed down to make it squeeze
> into the requisite 4k, so it seems unlikely that we can add software
> BCH support and remain within that size limit.
There's also the issue of ECC on the boot page itself -- that has to be
hardware ECC, because there's no software running yet.
> If using the U-Boot SPL: are you using a 4k part that works with just
> 1-bit ECC? (If so, which one?) Or are you using 1-bit ECC for
> U-Boot, then BCH for the remainder of flash? (This seems dangerous
> for long-term usage, if errors accumulate in the blocks containing
> U-Boot)
AFAIK, we've just been using 1-bit hw ECC. I don't know what NAND chip
was used for testing, or how much stress testing was done.
-Scott
More information about the U-Boot
mailing list