On 02/04/2012 07:37 AM, srimugunthan dhandapani wrote: > On Tue, Jan 17, 2012 at 12:43 AM, Peter Barada wrote: >> I need to modify YAFFS to trigger garbage collection on a block that has >> too many page reads between erases. >> >> This is due to the characterisation of the Micron NAND >> (MTMT29C4G48MAPLCJI6) I'm using where it can only have ~20K reads >> between erasures to maintain UBER below 10E-14. The NAND itself has an >> internal 4-bit ECC engine, but I can't extract any useful information >> from the ECC due to the lack of bit error counts (i.e. the chip can only >> tell me that a read required some level of correction but not the amount >> of correction, and worse the rate of corrections indicated by the chip >> is too high to employ effective strike counting). >> >> So I need to track the page reads in a block and if they reach a limit >> then cause the block to be garbage collected (i.e. copy out all the >> useful data and erase the block). > Just out of curiosity , is this the same as read disturb phenomena in flash?. > http://en.wikipedia.org/wiki/Flash_memory#Read_disturb Yes it is to keep UBER (un-correctable bit error rate) down to an acceptable level (i.e. less than 1E-15). If you read a block too many times then the number of bit corrections rise until it gets to a level that the ECC can not handle, so "refreshing" the block is needed to re-charge the floating cells... -- Peter Barada pete.barada@logicpd.com