ARM: LPC32XX SLC ECC Handling

Roland Stigge stigge at antcom.de
Wed Aug 29 07:52:20 EDT 2012


On 08/29/2012 10:33 AM, Artem Bityutskiy wrote:
>>>> the LPC32XX SLC controller has a ECC feature that covers only
>>>> the main data area, but not the OOB data.  Is it the
>>>> responsibility of the user to protect its OOB data via an
>>>> ECC?  The LPC32XX MLC controller on the other hand covers the
>>>> complete OOB data with its ECC.  How can a user determine if
>>>> it has to protect its OOB data?
>>> 
>>> I guess it is good idea to CC the author of the drivers.
>> 
>> Thanks for CC'ing, would have missed it.
>> 
>> Yes, it's exactly as Sebastian described - only the MLC
>> controller covers OOB in ECC.
>> 
>> At this point, I need to give back the question to the MTD 
>> maintainers: Is there an API how we can help users at this point?
>> I would be happy to implement it.
> 
> Well, I guess from the user's POW the driver either protects OOB
> data with ECC or not. There is no interface for detecting this in
> MTD, but I do not see why someone could not create it.
> 
> Am I right that we are talking about the situation when OOB and
> data areas are covered by different ECCs, or this is about user
> writing data +oob at one go, and everything is covered by the same
> ECC?

In the above case of LPC32xx/MLC NAND (not sure if this is common with
other controllers), the controller covers 512 (sub)pages plus some OOB
bytes with a single ECC operation, storing it behind those covered OOB.

Roland



More information about the linux-mtd mailing list