Electronics-Related.com
Forums

Bit rot in micro controllers?

Started by Joerg December 11, 2021
On 12/12/21 00:26, Sylvia Else wrote:

> It doesn't seem likely that the system is writing its flash every time it is > turned on, or off. Indeed, it doesn't sound like it has a reason to write its > flash at all, with flash being used merely because it was cheaper than getting a > custom ROM.
Such things are done in some instruments, to save the current control settings between sessions.
On 11/12/21 19:51, Joerg wrote:
> Just repaired our fridge when, according to Murphy's law, the next appliance > became shaky. Our pellet stove has twice refused to be turned off. > Unfortunately, instead of analog it's all buttons that are operated via port > pins of a micro controller. Pressing several of those willy-nilly made the > on/off button work, at least long enough to turn it off. When the circuit board > is cold the botton always works but not when warm after running the stove > overnight. > > The micro controller is a Winbond W78E52BF-24 running on a 12MHz crystal. It is > based on what they call electrically erasable MTP-ROM with which I assume they > mean EEPROM. Date code is 2001 and that is also when we had that pellet stove > installed. > > Can these things develop loss of flash memory (bit rot) this soon, after only > two decades? Any remedy short or reprogramming or is it toast?
I'd look for other solutions before considering bit rot. Obviously the connectors and switches need to be examined and possibly IPA or DeOxit applied. Electrolytic capacitors are the next failure point. Sometimes they are obviously "distressed", sometimes subtly faulty. Check the PSU rails for voltage and transients, of course. I had an SMPS where something would: - take a minute to start - turn off then on, immediately start - turn off for an hour then on, 50s to start - turn off for 12 hours then on, 60s to start Debugging that was one /good/ use case for a DSO. Turned out to be a dicky electrolytic fed by a high value resistor; it was almost as if the capacitor was so "dry" had to reform the barrier before it would work.
On 12-Dec-21 9:36 pm, Jasen Betts wrote:
> On 2021-12-12, Sylvia Else <sylvia@email.invalid> wrote: >> On 12-Dec-21 11:14 am, Jeff Liebermann wrote: >>> On Sat, 11 Dec 2021 11:51:11 -0800, Joerg <news@analogconsultants.com> >>> wrote: >>> >>>> The micro controller is a Winbond W78E52BF-24 running on a 12MHz >>>> crystal. It is based on what they call electrically erasable MTP-ROM >>>> with which I assume they mean EEPROM. Date code is 2001 and that is also >>>> when we had that pellet stove installed. >>>> >>>> Can these things develop loss of flash memory (bit rot) this soon, after >>>> only two decades? Any remedy short or reprogramming or is it toast? >>> >>> MTP-ROM is suppose to be good for up to 1 million write cycles: >>> <https://anysilicon.com/semipedia/multi-time-programmable-mtp-memory-ip/> >>> However, after only 1,000 erase/write cycles, the erase/write voltages >>> begins to change. See Fig 15: >>> <https://onlinelibrary.wiley.com/doi/full/10.4218/etrij.15.0114.1428> >>> "After 1,000 erasing/writing cycles at a program >>> voltage of &plusmn;6 V with a write time of 5 ms, the >>> VT of a programmed cell is lowered from 2.92 V >>> to 2.9 V and the VT of an erased cell is raised >>> from -1.3 V to -0.5 V." >>> If the MTP-ROM device initially worked properly, and then slowly >>> started failing to recognize button pushes, that might be the problem. >>> Assuming you run the pellet burner for half the year and turn it >>> on/off once per day, that would be: >>> 180 days * 1 cycle/day * 20 years = 3,600 erase/write cycles >>> which might be sufficient to see the problem. >>> >>> Note: I don't have any experience with the Winbond W78E52BF-24. >>> Therefore, I don't know if it has this problem. >>> >>> >> It doesn't seem likely that the system is writing its flash every time >> it is turned on, or off. Indeed, it doesn't sound like it has a reason >> to write its flash at all, with flash being used merely because it was >> cheaper than getting a custom ROM. >> >> Sylvia > > It could be storing thermostat settings in eeprom, but that seems > unrelated to the fault reported. >
Even where the device stores some information, I would expect it to do so only when the information changes.
> > if it doesn't like the heat the fault is probably some heat sensitive part, > an electrolytic capacitor for example. >
I'm inclined to agree that that's more likely. Sylvia.
On Sunday, 12 December 2021 at 09:38:30 UTC, Michael Schwingen wrote:

> > Can these things develop loss of flash memory (bit rot) this soon, after > > only two decades? Any remedy short or reprogramming or is it toast? > Quite probably yes - I remember a series of TFT monitors some years ago > where that happened to the on-board controller. Raising/lowering VCC may > help a bit (if it is not read-protected, you might try to read the memory at > different VCC levels and see if you can get correct data, and then > re-program).
My HP vector network analyzer developed "bit rot" when it was around 25 years old. One bit in one of the many uv-erasable eproms changed state. I found it by varying the supply voltage and looking for the first bit to change. I programmed a new eprom with the edited data and it has been working fine ever since. John
On 12/11/2021 09:44 PM, Joerg wrote:
> On 12/11/21 12:30 PM, Rick C wrote: >> On Saturday, December 11, 2021 at 2:58:14 PM UTC-5, Martin Rid wrote: >>> Joerg <ne...@analogconsultants.com> Wrote in message:r >>>> Just repaired our fridge when, according to Murphy's law, the next appliance became shaky. Our pellet stove has twice refused to be turned off. Unfortunately, instead of analog it's all buttons that are operated via port pins of a micro controller. Pressing several of those willy-nilly made the on/off button work, at least long enough to turn it off. When the circuit board is cold the botton always works but not when warm after running the stove overnight.The micro controller is a Winbond W78E52BF-24 running on a 12MHz crystal. It is based on what they call electrically erasable MTP-ROM with which I assume they mean EEPROM. Date code is 2001 and that is also when we had that pellet stove installed.Can these things develop loss of flash memory (bit rot) this soon, after only two decades? Any remedy short or reprogramming or is it toast?-- Regards, Joerghttp://www.analogconsultants.com/ >>> >>> -- >>> Probably a bad switch or solder connection from thermal cycling. >> > > I don't think so because several other buttons also fail when warm and they aren't set in a matrix. The solder job on the board looks very good and it all ohms out well. > > >> +1` >> >> Don't know why the EEPROM would be suspect first. Wouldn't that produce a more permanent glitch? I suppose it could become temperature sensitive. > > > That's why I am asking, to see whether this is a sign of impending "permanent" bit rot. I don't know much abou this EEPROM business. > > >> ... Maybe the stove manufacturer has a note on this issue or even a recall. >> > > I doubt they really care about that. There was another issue with this stove right after installation. I really had to rock the boat until they admitted it and actually sent out a correction note to installers with my mod in there (exhaust temp sensor). > > Worst case I may have to "analogize" the whole enchilada but that would require a lot of reverse engineering and work. Of course, then it would last forever. >
The capacitors can also silently go short. can be temperature dependent.
In the 60's & 70's 20 years was mentioned as a life span for diffused
silicon. Somebody's diffusion rate.

Hul

Joerg <news@analogconsultants.com> wrote:
> Just repaired our fridge when, according to Murphy's law, the next > appliance became shaky. Our pellet stove has twice refused to be turned > off. Unfortunately, instead of analog it's all buttons that are operated > via port pins of a micro controller. Pressing several of those > willy-nilly made the on/off button work, at least long enough to turn it > off. When the circuit board is cold the botton always works but not when > warm after running the stove overnight.
> The micro controller is a Winbond W78E52BF-24 running on a 12MHz > crystal. It is based on what they call electrically erasable MTP-ROM > with which I assume they mean EEPROM. Date code is 2001 and that is also > when we had that pellet stove installed.
> Can these things develop loss of flash memory (bit rot) this soon, after > only two decades? Any remedy short or reprogramming or is it toast?
> -- > Regards, Joerg
> http://www.analogconsultants.com/
On Sat, 11 Dec 2021 11:51:11 -0800, Joerg wrote:

> Just repaired our fridge when, according to Murphy's law, the next > appliance became shaky. Our pellet stove has twice refused to be turned > off. Unfortunately, instead of analog it's all buttons that are operated > via port pins of a micro controller. Pressing several of those > willy-nilly made the on/off button work, at least long enough to turn it > off. When the circuit board is cold the botton always works but not when > warm after running the stove overnight. > > The micro controller is a Winbond W78E52BF-24 running on a 12MHz > crystal. It is based on what they call electrically erasable MTP-ROM > with which I assume they mean EEPROM. Date code is 2001 and that is also > when we had that pellet stove installed. > > Can these things develop loss of flash memory (bit rot) this soon, after > only two decades? Any remedy short or reprogramming or is it toast?
OTOH adding wood to the stove is a pleasant chore, even in the middle of the night.
On 12/12/2021 16:02, Hul Tytus wrote:
> In the 60's & 70's 20 years was mentioned as a life span for diffused > silicon. Somebody's diffusion rate.
Diffusion rate is *very* temperature dependent. I can't see a small microcontroller at a modest clock rate running particularly hot. -- Regards, Martin Brown
On 12/11/2021 12:51 PM, Joerg wrote:
> Just repaired our fridge when, according to Murphy's law, the next appliance > became shaky. Our pellet stove has twice refused to be turned off. > Unfortunately, instead of analog it's all buttons that are operated via port > pins of a micro controller. Pressing several of those willy-nilly made the > on/off button work, at least long enough to turn it off. When the circuit board > is cold the botton always works but not when warm after running the stove > overnight. > > The micro controller is a Winbond W78E52BF-24 running on a 12MHz crystal. It is > based on what they call electrically erasable MTP-ROM with which I assume they > mean EEPROM. Date code is 2001 and that is also when we had that pellet stove > installed. > > Can these things develop loss of flash memory (bit rot) this soon, after only > two decades? Any remedy short or reprogramming or is it toast?
More likely something analog -- power supply sag/spikes, bad caps, a floating configuration pin, etc. Can you verify that the processor is actually *running* when it "misbehaves"? (i.e., activity on ANY pins?)
On 12/12/2021 3:56 AM, Tom Gardner wrote:
> On 12/12/21 00:26, Sylvia Else wrote: > >> It doesn't seem likely that the system is writing its flash every time it is >> turned on, or off. Indeed, it doesn't sound like it has a reason to write its >> flash at all, with flash being used merely because it was cheaper than >> getting a custom ROM. > > Such things are done in some instruments, to save the > current control settings between sessions.
I don't believe that device can "program itself" at the byte level. I suspect it is just an EPROM alternative, as Sylvia suggested.