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