Writing frequently to NAND - wearing, caching?

Martin Egholm Nielsen martin at egholm-nielsen.dk
Mon Feb 14 03:37:45 EST 2005


Hi Aras,

>>>>> I have an application which may need to write states frequently to my
>>>>> nand-fs in order to have these states in case of powerdown.
>>>>> But I'm a bit concerned about wearing the nand if I write to 
>>>>> frequently.
>  > <snip>
>> (because we're not using explicite wear levelling) we still have only 
>> reached 24,000 - only 24% of the 100,000 cycle lifetime of the flash.
Thanks for the "comments" below - they are nice to have...

> ... and then there is the fact that the 100,000 write cycle limit is 
> generally a conservative estimate based on testing of the device at an 
> operating temperature of around 125 celcius! Most likely the device will 
> be able to withstand over to 1,000,000 write cycles before failure. If 
> your FS uses write verification to make sure the data is secure then you 
> shouldn't have any problems even if you do reach this limit on some 
> areas of the Flash.
> 
>  From the "Toshiba NAND Flash Applications Design Guide"
> 
> "NOR Flash is typically limited to around 100,000 cycles. Since the 
> electron flow-path due to the hot electron injection for programming is 
> different from the one due to tunneling from the floating gate to the 
> source for erasing, degradation is enhanced. However, in NAND Flash, 
> both the programming and erasing is achieved by uniform Fowler- Nordheim 
> tunneling between the floating gate and the substrate. This uniform 
> programming and uniform erasing technology guarantees a wide cell 
> threshold window even after 1,000,000 cycles."
> 
> and
> 
> "There is one question that often comes up  Is ECC really necessary?  
> After all, the likeliest cause of a bit error is during the programming 
> process. For example, if you program a block, then verify it has no 
> errors, how reliable is the data? In these ROM-like applications where 
> the write/erase cycles is very low, the actual failure rate for a block 
> is about 3 ppm after 10 years (i.e. 3 blocks out of every million blocks 
> will have a bit error after 10 years) in which a block failure is 
> defined as a single bit error. This result was derived from testing 
> 29708 pieces of 512Mb NAND (0.16um) by writing a checkerboard pattern 
> into blocks and storing at 125C. Since there will be a non-zero data 
> retention failure rate, you should limit the amount of code to 1 block 
> to achieve a low ppm probability of failure."





More information about the linux-mtd mailing list