On Mon, 2005-05-23 at 12:06 +1200, Charles Manning wrote:
> There are really two things that should be done in YAFFS to improve the
> situation:
> 1) Currently YAFFS uses chunks that fail ECC. It would probably be better to
> ignore them (delete them) and consider them to be aborted writes (needs more
> thought).
Yes.
> 2) If an ECC failure is detected on a block, then the block is retired.
> Perhaps instead a block should only be retired if a write fails. This would
> be more in tune with Toshiba's recommendations. The argument against this has
> been that I'd rather retire blocks earlier (ie before they start to go bad),
> but this should be reviewed in the light of recent evidence.
>From our experience with long time stress tests:
1. Its normal that bit flips happens over time
2. The block goes bad scenario is definitely more than a single bit
flip. Either the block can not be erased to all FF anymore or you have
consecutive programming errors.
In case 1.) its not necessary to retire the block. Of course you should
copy the ECC corrected data to another block and erase the block. If it
is really going bad 2.) will catch that.
tglx