Corrupt empty space
Gupta, Pekon
pekon at ti.com
Fri Mar 21 03:18:06 EDT 2014
Hi,
>From: Artem Bityutskiy
>>On Tue, 2014-03-11 at 05:31 +0000, Kent Li wrote:
>> Frederic,
>>
>> I'm not sure if this is the unstable bit issue, but I just resolved such issue by enhancing my Nand driver in both Uboot code and Linux
>code.
>>
>> The main idea is:
>> Read a page
>> If ( ECC fail ) ;then
>> Check the how many 0 bit there is.
>> If ( 0 bit number > tolerance value) //tolerance value is depends on the ECC correctable bits.
>> Print "Fail to recover by ECC"
>> Else
>> Force change the 0 bits to 1
>> fi
>> fi
>
>Off the top of my head, this sounds reasonable. Too bad people people do
>not just go and fix this in upstream...
>
It's still getting discussed in [a] and [b]. But there are multiple issues to it.
(1) Many hardware controllers cannot parse ECC errors in blank-pages.
So, checking number of 0-bits in a page is done in software by comparing
each byte with 0xff.
(2) Counting number of 0-bits in a page in software, brings down your read-performance.
(3) Some controller required specific sequence for reading pages, hence getting
a generic driver solution for this problem, is becoming tough.
*Thread on NAND Driver changes*
[a] http://lists.infradead.org/pipermail/linux-mtd/2014-March/052507.html
[b] http://lists.infradead.org/pipermail/linux-mtd/2014-March/052625.html
*Thread on UBIFS changes*
http://lists.infradead.org/pipermail/linux-mtd/2014-March/052499.html
with regards, pekon
More information about the linux-mtd
mailing list