Usenet.com

www.Usenet.com

Group Index

Comp Thread Archive from Usenet.com

<-- __Chronological__ --> <-- __Thread__ -->

Re: EEPROM/Flash data loss: probability & patterns?



On Thu, 20 Nov 2003 13:20:45 GMT, [EMAIL PROTECTED] (Mark Piffer)
wrote:

>Hi group,
>I am asked to rewrite a stable-storage scheme on a Motorola HC12 (in
>its' 4K EEPROM). The module momentarily in use does an array of  small
>(16 byte) records, each with a checksum and a 1-bit correction code.
>The fixed sized records are ok (to avoid fragmentation) but I highly
>doubt that a 1-bit correction will win anything with respect to faulty
>data in an electrical r/w memory.

I agree. I think it's not feasible to use a checksum and only 1 bit
for a data correction strategy. As it is a checksum is barely reliable
to detect anything but a single bit fault in a packet. If you can
spare the CPU overhead, then a CRC would be more desirable. You could
adopt a error correction scheme, but this would be governed by the
criticality of the device and the cost of the extra EEPROM uasge
overhead.

> Which are the most common cases of
>corrupted data in the presence of the following 3 error sources?
>- data loss due to wear stress: at the end of the lifetime, errors due
>to this will increase, but will they come bit by bit? How reliable
>will a cell be after it showed its' first error? Better to avoid it
>after that?

I would think that once detected, this will become a degenerative
fault for that location.

>- data loss due to power down while erasing/writing: I think that
>whole words of memory will come out wrong in that case, hardly ever a
>single bit alone.

Basically this fault will never happen unless the hold-up capacitors
and/or the low power detection circuitry are faulty. In which case you
have a systematic fault & the device is operating out of spec. I'm
assuming that the device has been initially designed for the use case
of removing power.

>- wrong data due to spikes on data/address lines: this sounds like the
>most probable source of 1-bit errors but will be less of a problem for
>single-chippers like the HC12. Any hints on that?

In most cases the power supply of the device will filter the spikes.
In a quiescent state it's unlikely that the EEPROM would be affected.
Obviously the EEPROM is most vunerable when it is writing. Also
exposure of the micro interfaces to the outside world (that is outside
of its box) increases the risk. As I see it the mitigation of this
occurrence has 2 forms, 1) a watchdog or similar mechanism is required
for program execution recovery, 2) a reliable EEPROM fault detection
scheme and the resetting back to "safe" default values. 

>I am under the impression that for errors of the kind that will show
>up in an EEPROM you will have to invest a considerable amount of error
>correcting bits if you want to catch a significant percentage of them.
>I will duly stand corrected in case someone has the expertise...

This is my take on it also. It all depends on how valuable the data
is.

Ken..

>
>regards,
>Mark
>
>PS: the persistent memory will of course not rely on the correction
>code but rather on the right storage strategy; the correction should
>only offer a higher access probability for the "youngest" data.
>--
>Mark Piffer
>MCU and DSP programming & software design


+====================================+
I hate junk email. Please direct any 
genuine email to: kenlee at hotpop.com



<-- __Chronological__ --> <-- __Thread__ -->


Usenet.com



Please check out one of the premium Usenet Newsgroup Service Providers below for access to Usenet.