Some news for this: [PATCH] [MTD] BLOCK_RO: Readonly Block Device Layer Over MTD ?

Ricard Wanderlof ricard.wanderlof at axis.com
Mon Nov 26 04:42:04 EST 2007


On Fri, 23 Nov 2007, David Brown wrote:

> Flash should be reasonably immune to degradation from reads.  In fact, 
> it is fairly resiliant to degradation at all.

I beg to differ; we ran some tests here on a 256 Mbit NAND flash where I 
work which showed a marked degradation in read integrity if the block had 
been written many times. For this particular chip in the setup used, after 
100 000 read/write cycles, non-correctable ECC errors started popping up 
after about 43 million reads. For blocks that had only been written a 
couple of times, we didn't detect any read errors whatsoever after 4.5e+10 
reads (during three months of continuous reading of the same block).

I would however love to see some hard data, or at least an application 
note, on the frequency of various errors. Most of the information I've 
seen is of the 'it is a known fact that ...' - type, without any 
references. And the data sheets seem very silent on this subject, only 
acknowledging the fact that bit flips do occur.

> In NAND, the primary cause of read failures is caused by writes (and
> rewrites) of subsequent pages within a block.  These can cause bit flips in
> earlier written pages.  This gets worse with higher density, and is the
> main reason the higher density devices have greater restrictions on
> rewrites.

This is very interesting. This is something we did not address during our 
tests mentioned above.

It implies that having a device partitioned into a read-only and a 
read-write partition, would have very few bit flips occurring in the 
read-only partition even if the read-write partition was rewritten very
frequently (since partitions must be multiples of the block size).

/Ricard
--
Ricard Wolf Wanderlöf                           ricardw(at)axis.com
Axis Communications AB, Lund, Sweden            www.axis.com
Phone +46 46 272 2016                           Fax +46 46 13 61 30



More information about the linux-mtd mailing list