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