pic eeprom memmory endurance testing - technical

demonicpicaxeguy

Senior Member
has anyone actaully done any edurance testing on eeproms in these pic's or are we all blindly following what microchip has put on the datasheet?

has anyone done any at rev-ed ?

i thinking of doing a small test of my own to see if it lives up to the datasheet or it survives past the rated cycle limit might even do a youtube video
 

hippy

Technical Support
Staff member
I expect we're blindly following what Microchip says based on the fact that bigger fish than us probably have done the testing and there's no reason for Microchip to lie, and good incentive not to.

Wouldn't a YouTube video be a month long film of a PICAXE chip not doing anything ? Andy Warhol might appreciate the concept :)
 

Dippy

Moderator
I gotta ask the question; what does it achieve?

If you do a test and a single PIC lasts 875,243 what does that prove? The next PIC out of the bag may last 1,201,034 writes.

Data sheets usually say "typically" so that figure will be a statistical mean based on x number of PIC chips tested over a range of conditions.

If, however, you could demonstrate that 20 PIC chips only lasted 600,000 @ 5V @20oC then you may have cause for complaint.


Take a look at this:
<A href='http://ww1.microchip.com/downloads/en/AppNotes/01019A.pdf' Target=_Blank>External Web Link</a>
 

hippy

Technical Support
Staff member
I'll admit I exaggerated a bit about the time it would take to destructively test the PICAXE. I think I'd based that on recalling how long it would last if an Eprom timestamp were updated every second.

For a 16F88, 1,000,000 writes at 4mS each = 4000 seconds, 66 hours.
 

demonicpicaxeguy

Senior Member
well as soon as my backlight is replaced in my laptop i'm going to start the test on an 18x

i'm not doing it to try and proove somthing wrong with the pic and it's eeprom or anything like that

it's like everything else that is given a rated life/cycle time i'm fairly confindent that if microchip rate an eeprom cell to take 1 million cycles i'd put my dollar on the fact that'll it will probably last a great deal longer not just the 1 million cycles

i'm expecting 2 possilble things to happen
1, is that it will last up to the 1 million cycles and then fail a few thousand cycles after that

2, is that it will last the 1 million cycles
and probably much further maybe to 2 or 3 million cycles

i think it would just be an interesting test
and it would be interesting to actaully see the actaul numbers across different pics as opposed to a typical rating i'll post the code the picaxe is going to execute


 
 

Dippy

Moderator
Well, it's your wallet.
Don't you imagine that Microchimp have spent some time doing all this?
You obviously didn't read the link.

Good luck. I'm sure the code will be interesting.
 

Grant Fleming

Senior Member
&quot;well as soon as my backlight is replaced in my laptop i'm going to start the test on an 18x&quot;

DPG,
Hopefully you will be getting your broken 'Shift' and 'Caps Lock' keys replaced too!

Cheers,
Grant

 
 

demonicpicaxeguy

Senior Member
<code><pre><font size=2 face='Courier'>
write 5 ,10


for w6 = 1 to 10000
for w5 = 1 to 10000

b2 = 1

read 5 ,b1


if b1 = 10 then


write 5,9
b2 = 0
end if




if b1 = 9 then

write 5 ,10
b2 = 0

end if


if b2 = 0 then


sertxd (&quot;eeprom passed at &quot; , #w6 , &quot; , &quot;, #w5 , &quot; cycles&quot;,13,10)

else

sertxd (&quot;eeprom failed at &quot; , #w6 , &quot; , &quot;, #w5 , &quot; cycles&quot;,13,10)
end
end if


next w5
next w6
</font></pre></code>


this is what i just knocked up and i have started the test started at 10.35am saturday
i'\m assuming that when an eeprom fails you would just get 255 or 0 or it wouldn't write to anymore

as for my backlight in the laptop it's under warrantee and yes i'll get them to have a look at the SHIFT key

i read the link but 1 million cycles is still a rounded statistical value
i just feel like running a test to see how far it could actaully go.
you gotta admit if it hits 1 million you won't be suprised but if it gets to 2 million it'll start getting interesting



 
 

hippy

Technical Support
Staff member
You have a bug - If eprom is continually only reading 10, ie Write 9 doesn't work, it still reports the eprom as working, and probably vice-versa.

I know you're expecting 0 or 255 when it fails but I think that's too risky to assume in advance. Not all bits may fail at the same time.

You probably want to check each loop that you can read and write all values 0-255 and detect any failures there.

Edited by - hippy on 30/06/2007 01:58:52
 

demonicpicaxeguy

Senior Member
ok i have corrected the error new code is

<code><pre><font size=2 face='Courier'>
write 7 ,10


for w6 = 1 to 10000
for w5 = 1 to 10000
for b4 = 0 to 255

write 7,b4
read 7,b5


if b5 &lt;&gt; b4 then
goto failure
end if

sertxd (&quot;eeprom passed at &quot; , #w6 , &quot; , &quot;, #w5 , &quot;.&quot;, #b4,&quot; cycles&quot;,13,10)


next b4
next w5
next w6

failure:

sertxd (&quot;eeprom failed at &quot; , #w6 , &quot; , &quot;, #w5 , &quot;.&quot;, #b4,&quot; cycles&quot;,13,10)
end
[code\]

it's now running on a 28x that i just pulled out of a mains voltage logger that got damaged during a test

i've also raided my local electronics store and picked up 6xpic16f84a's and 4xpic16f628a's

i've got my laptop heading to the service centre tuned out i only have the 12months warranty on it ....... scarey because i got it 11 months and 27 days ago......... </font></pre></code>

 
 

manuka

Senior Member
Go Picaxe! This is better than the America's Cup-&amp; much cheaper than heading to Valencia! (Most of us Kiwis are presently nervously sitting up over late night TV for the infamous yachting event...)
 

demonicpicaxeguy

Senior Member
just passed 483 328 cycles
i'm on the edge of my seat!

aparently there is a limit to how many erase/write cycles a flash cell can take
there must be some kind of degredation i'd imagine otherwise it should last forever

we'll find out soon enough what is interesting to note is that for some strange reason it seems to be slowing down .. might be my imagination though

&#160;

Edited by - demonicpicaxeguy on 30/06/2007 08:51:10

Edited by - demonicpicaxeguy on 30/06/2007 08:52:05
 

MartinM57

Moderator
Hmmm...this is sort of interesting, but having taken a moment to skim the reference document (have you done that, DPG?) there are some interesting things to note:

&lt;&lt;A failure occurs when the device fails to meet any data sheet condition under any specified operating condition of a temperature and voltage.&gt;&gt;

&lt;&lt;Endurance cycling is generally done at 85&#176;C. After the rated number of cycles, the sample is tested to a full production test program. After endurance, the units are subject to &#8220;data retention&#8221; to ensure that the required 200 years of data retention will be achieved after the maximum number of cycles has been completed&gt;&gt;

&lt;&lt;After the data retention stress is completed (which takes up to six weeks), the devices are tested again to confirm the functionality of the device to all data sheet parameters. No failures are allowed after the endurance or data retention stress (equivalent to more than 200 years at 55&#176;C).&gt;&gt;

So if you come out with 5 million in your &quot;write and read immediately&quot; test at ambient temperature and presumably not max Vcc then I think you will have proved close to nothing - but you will have demonstrated something, so there's some (little) value in that I suppose.


I think the point to note about the fact that microchip are saying a number like 1,000,000 is that it's not infinite, like SRAM or external FRAM etc. So as a designer, you need to take that into account and consider the frequency at which you write to EEPROM and the lifetime of the product - and then whack in a safety factor of something between 5 and 25 (values not doubt subject to debate!)

Edited by - MartinM57 on 30/06/2007 09:45:20
 

demonicpicaxeguy

Senior Member
passing 656640 cycles

my question is how many cycles past the rated 1 million could you potentially take one of these at room tempreture which is what most of us run these things at,

honestly i'm expecting to still be sitting here in a week with the counter hitting 10 - 20 million and still going strong .. i honestly won't be suprised,

i think my most important reason for doing this is because i can and i think there are probably a few people on here that would actaully like to see how long it will actaully go under normal conditions (or in most cases our version of normal)

as for the data retention test ..... i'm not going to live long enough,

the real reson for the endurance test is because i plan to use a 24lc256 to temporarily store audio in a delay setup
and i'm just curious to see some results of my own

 
 

manuka

Senior Member
Agreed- it's the &quot;poor man's&quot; room temp stuff that most of us are <b>initially </b> interested in.

Mmm-it looks as if you're managing ~150,000 an hour, so a day could reach ~3 Million, &amp; a week ~20 Million. IF you reach this elevated level, how about a trial while 85&#176;C heat testing is then tried? That way we can comfortably anecdotally say&quot; a Picaxe fanatic once got to 20 Million R/W cycles without failure&quot;. Fingers crossed !
 

demonicpicaxeguy

Senior Member
750,990 cycles
if i can ever have somekind of claim to fame i'd be happy if that was it

&#160;

Edited by - demonicpicaxeguy on 30/06/2007 10:48:31

Edited by - demonicpicaxeguy on 30/06/2007 10:55:00
 

Bob Elton

New Member
I can hardly wait.

Remember to do this a few dozen times to get a statistically meaningful result.
Maybe also do it for PICs from different batches.

DPG:&quot;..as for the data retention test ..... i'm not going to live long enough...&quot; - ah, so you believe that particular claim then?

DPG:&quot;how many erase/write cycles a flash cell can take...&quot; - eh? You're testing PIC EEPROM, not flash. Sorry to be PICcy. Why aren't you trying a 24Lxxx ?

Store audio? How many sampled consecutive bytes are you planning to store?

I'm really looking forward to the video...


Edited by - bobelton on 30/06/2007 11:28:23
 

Rickharris

Senior Member
Why limited life?

Even a google search elicits little information other than the fact there is a limit - My bet is it's a statistical calculation and unless unlucky you will way, way exceed it.
 

demonicpicaxeguy

Senior Member
ok we've hit 1,049,600 cycles

thats what the whole experiment is to establish
i do also plan on doing a 24lc256
a and an sd card when i get the new module
i'm just doing a small vb app that can take the serially spat out numbers and assemble them into a basic html file that i can host on my server..

i might start taking bets soon if it gets to 2 million

 
 

demonicpicaxeguy

Senior Member
1,351,936 cycles and counting

okie dokie i now have a server running with a very simple page that can show you the latest cycle count

http://blackrose.servegame.com

the count is updated every 15 seconds so for now just hit refresh

can someone give it a quick test and let me know as i can't check it from inside the network


&#160;

Edited by - demonicpicaxeguy on 30/06/2007 15:32:58
 

demonicpicaxeguy

Senior Member
thanks not overly sure what the problem is i got my father in law trying it every 5 mins
it looks like somthing on our isp end because no one can ping it and get a response

 
 

vk6bgn

New Member
This is great! Just like MythBusters but without all the gunpowder!

Cheers,
&quot;The Addict&quot;

 
 

demonicpicaxeguy

Senior Member
and the webserver that isn't accessible
somthing odd is going on


we're up to 1,547,008 cycles

&#160;

Edited by - demonicpicaxeguy on 30/06/2007 17:04:17
 

Brietech

Senior Member
what's the fun of mythbusters with no gunpowder*?!?

DPG - if you only need 32Kbytes of storage, use an FM32256 chip from a place like Ramtron - FRAM never goes bad =)

*has anyone ever tested how bulletproof/fire resistant a picaxe is?
 

Jeremy Leach

Senior Member
I've got to say I find this interesting too. Nothing like a real test - (although I agree about statistical means bla bla).

I've always tried to code to avoid many writes to EEPROM and use it just for reading static data, because of a paranoia over this write lifetime thing - but it's crazy really, because a modest write rate would take ages to approach a million writes.
 

toxicmouse

Senior Member
brietech, i don't know about bulletproof, but one particular short circuit i have in mind proved that it is quite hard to spontaneously ignite- starts to smell quite funky, although that may be the natural defence of the microcontroller in the wild.
 

demonicpicaxeguy

Senior Member
2,505,984 cycles

ok.. didn't expect this..
i'm a little annoyed at port 80 being blocked but no matter i'll sort somthing out

i'm thinking acorss the lines that this test might go on for a long long while as in it might make it to 5 million maybe even 20 million, i might get my claim to fame

i'm going to let this one go for as long as it takes but in the meanwhile i'm going to get a tempsensor and another breadboard with a regulated powersupply and i'll start another test with with a wider range of pics including some of the bigger 18f series ones
maybe have an AVR in there as well see how they perform...

 
 

Tom2000

Senior Member
Is this the Picaxe equivalent of Windows Solitaire? :)

Seriously, I've been wondering about eeprom lifetime, too. I'm happy that you're running these tests, and following with interest.

Many thanks for sharing your progress.

Tom
 
Top