Main Site Documentation

Max write cycles for G120 flash


#1

Morning all,

I am sure the answer is somewhere in this forum, but I cannot find it despite racking my search-term memory!!

I use the Configuration flash memory available in G120 for HW versions etc which are written only once. But, I would like to also use them for a regularly updated record of device usage. Ideally, I would update it every 5-10 minutes, but I know I am likely to hit flash write cycle limits. However, I cannot find the specification for maximum write cycles of the flash on the Cobra III / G120 module. Does anyone know where it is specified? I am currently assuming it is likely to be 100,000 cycles.

I know the alternative is to use SD or USB, but I would like this to be independent of whether anyone had plugged in an SD or USB stick.

Cheers!

Nick


#2

Writes on flash are unlimited but erasing the flash is limited. I believe it is 100,000


#3

Thanks Gus (Sorry for the slow reply).

I didn’t realise that writes and erases had different lives. So, I can keep over-writing new values for my usage parameters as many times as I like, as long as I don’t erase it?

Nick


#4

As long as you are not writing the same bytes.


#5

Hi

Do you mean the same value or the same location?

i.e.

Can I call
Configuration.WriteEntry(“SomeData”, new byte[] { i});
as many times as I like as long as the value of i keeps changing?

Or can I only write “SomeData” 100,000 times, regardless of the value? I don’t know if the memory has it’s own wear-levelling that spreads it around where possible…

I assumed the latter, but I am not clear on what you meant by “Writes on flash are unlimited but erasing the flash is limited.” I don’t know if the memory has it’s own wear-levelling that spreads it around where possible…

Thanks

Nick


#6

When you write flash you are seeing bits to zero. You can only change the bits back to one when you erase. I am not exactly how the internal implementation is done but if erase is separate from write them you can keep clearing bits to zero all you like. The simplest way usually is to write individual bytes.

I am sure there are many articles about this around the web.


#7

OK. Thanks Gus.

I’ll have a read around. At least I know I must keep to <100,000 “set-to-ones”!

Cheers!

Nick