NOR "bad blocks"
Jörn Engel
joern at wohnheim.fh-wedel.de
Thu Oct 27 04:21:08 EDT 2005
On Thu, 27 October 2005 10:04:03 +0200, Bernhard Priewasser wrote:
>
> just a thought...
> Same as NAND, NOR flashes mostly have an endurance of guaranted 100K
> program/erase cycles.
> If a block reaches this (theoretical) value, it should be recognized as
> bad block if erase fails; e.g. not conaining only 0xFF after erase on
> NAND. (I don't know if the "100K" erase cycle boundary is mostly
> responsible for this)
> But obviously a block can wear out on NOR too after the max. number of
> erase cycles. (How) can this be recognized, handled?
Not easily. I haven't done the experiments myself, but wear-out
effects were described to me. Basically, you can write to a block and
read it back out in a tight loop and things will never fail. Not
after 100k, not after 1M erases. But if you write to the block and
wait long enough, bits will flip.
Bit-flipping will always happen from 0 to 1, similar to erases.
Problem should be that the insulation around a flash cell has eroded
and the charge will leak out over time - this cell is self-erasing
now.
And if you want to check whether all this is actually true, you can
try a testrun like this:
for (int i=1; ; i++) {
for (int j=0; j<1000; j++)
erase(block);
write(block);
sleep(10);
read(block);
if (read doesn't match write) {
printf("block died at %d000 erases\n", i);
break;
}
}
Jörn
--
Geld macht nicht glücklich.
Glück macht nicht satt.
More information about the linux-mtd
mailing list