[sdiy] a provoking question about time

Roman Sowa modular at go2.pl
Fri Jun 24 14:38:33 CEST 2022

Thank you for all the replies, I'll try to combine my responses in one 
go. TLDR - we're all doomed, there's no way out.

Steve said about specialized runtime chips.
Well, that one's even more expensive than the microcontroller, and I can 
add such runtime count in the micro itself. But it's good to know they 
exist, I recall them being mechanical long time ago

Tom Wiltshirte said:
 > Could you instead assume some "average number of boot-ups per year" 
and then re-write the memory at start-up after the chip has booted up X 

That sounds reasonable. Simply don't care about the people who don't 
turn it on for years, they don't need it anyway, so let them burn in hell

Grant asked:
 > Is there *any* ROM in the part like a bootloader? Assuming one utilizes
 > that, the end user could reflash the OS after 10 years or something.

No, there's no ROM bootloader. That would be easy, then I'd use serial 
memory with 100 years data endurance.

Brian W said some valid points about proper programmer and robust eMMC.
Why would you assume that I'm not using ICD3 (and ICD2 before that)? And 
I'd love to sacrifice part of memory for error correction, but PICs do 
not provide anything to do that. Booting from external memory of any 
kind is something I considered too, but I don't think I will migrate to 
higher end ARM chips ever. Although I've used booting from external 
memory in the past, that was the only way to go with DSP.

Richie Burnett said:
 > Perhaps it's possible to protect the firmware with an ECC block (error
 > correcting code,)  so that the first sign of corruption can be detected
 > *and then corrected* with a fresh re-write!

Yes, that's possible. But what if first sign of corruption happens in 
first instruction, or inside memory test procedure? Poor micro will not 
even be aware its dead.
I've also noticed that in time, new micros are made with smaller and 
smaller process, hence being cheaper with more features, but OTOH 
needing lower voltage for operation, and with poorer flash retention.
Also, congrats of having tens of thousands copies of your work out 
there! Did you get a "golden record" like you would if it was a pop album?

and Steve again:
 > 7 years after 1k cycles @ 125°C

that's scary, OTOH you can't easily find 125°C inside a synth, more like 
60 or so, the only reason all that gear still works, but not for long 


The bottom line, all that data retention thing makes me want to build a 
synth with pure logic only, without any memory. Or use old style micro 
with no internal program memory, and external FRAM which is extimated 
for 280 years retention in room temp.

I think I'll use Tom's suggestion to simply count powerups and start a 
rewrite every few hundred of them or so.

Thanks for valuable discussion

> Roman Sowa:
>> Hello,
>> what are your concerns about flash retention time in microcontrollers?
>> Usually PIC18 and PIC16 claim 40 years in datasheet, but dsPIC only 20.
>> I've seen corrupted memory in products made about 15 years ago with
>> dsPIC, so datasheet value seems real.
>> One way to do it is to rewrite all memory from time to time, but how
>> to do that? Even if there's real time clock running, the user may
>> always change the date, and if it's not alowed, the battery or
>> supercapacitor may die, or get ripped away. My idea is to clearly
>> state somewhere, in manual, or on the device "please run maintenance
>> procedure if it's year ending with 0 or 5" but I'm affraid nobody will
>> do that anyway, and it seems foolish.
>> People have no problem giving their cars every year for expensive
>> maintenance, but nearly nobody ever does that with non-industrial
>> electronic equipment. That goes sligltly better with musical
>> instruments, but anyway many of them go to service only after it's too
>> late and it's simply broken.
>> I'm not very fond of general trend which is "buy new stuff every 2
>> years".
>> Roman
>> _______________________________________________
>> Synth-diy mailing list
>> Synth-diy at synth-diy.org
>> http://synth-diy.org/mailman/listinfo/synth-diy
>> Selling or trading? Use marketplace at synth-diy.org
> _______________________________________________
> Synth-diy mailing list
> Synth-diy at synth-diy.org
> http://synth-diy.org/mailman/listinfo/synth-diy
> Selling or trading? Use marketplace at synth-diy.org

More information about the Synth-diy mailing list