Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

EEPROM Wear Leveling

Status
Not open for further replies.

MrAl

Well-Known Member
Most Helpful Member
Hi,

Does anyone know if wear leveling in an EEPROM such as in the Arduino Uno or Nano do any good?
That is, using successive locations in EEPROM rather than the same address for every single write of an 8 bit value.
 
If you need to use NON volatile memory for an extensive period ie 100,000 writes or more then EEprom isn't the way forward. EEprom was only really designed for occasional storage writes..

I use FRAM over a trillion writes and no loss of speed!! There is no write delay so is the same as SRAM..
 
If you need to use NON volatile memory for an extensive period ie 100,000 writes or more then EEprom isn't the way forward. EEprom was only really designed for occasional storage writes..

I use FRAM over a trillion writes and no loss of speed!! There is no write delay so is the same as SRAM..


Hi there,

But unfortunately the endurance is quoted as being only 151 years, and i need 152 years (ha ha).

Seriously, that's an excellent idea. I will definitely have to look into this very soon, if not sooner.

For the Arduino, my application happens to require a fairly low write rate that's why i was thinking about the wear leveling. Maybe once per hour, for maybe 16 hours, then not used again for maybe 7 days. So that would be maybe 16 writes per week, or maybe at the most four times that, about 64 writes per week. So you can see why i was thinking about this. If i can get some benefit from wear leveling however i may increase the number of writes per week, so it's partly dependent on what i can actually achieve here. If i can get up to maybe 20 years i could go with many more writes per week to meet that timely goal and that would give me more accurate data storage.

You are definitely right though, i think everyone who uses uC's should get some FRAM's if they need non volatile storage. Thanks for the tip.

I see that for one FRAM i looked at, the wear on that is quoted as being 64 bits (8 bytes) per write, regardless how many bits (under or equal to 64) are written at once. So using wear leveling on that would end up in a truly mind boggling longevity where other factors would start to dominate.

I would have given you two 'likes' for this idea but they only allow 1 per customer :)
 
The FRAM I use is I2C... F24LC64B.. I can run it at 400Khz... More than fast enough.... I use it for a payout counter... The count could be changed 4~5 times a second so normal EEprom was out from the off...

It has no delayed write so I don't have to wait.... Its use is identical to the normal 24LC64 so I don't have to change much to use it!
 
The FRAM I use is I2C... F24LC64B.. I can run it at 400Khz... More than fast enough.... I use it for a payout counter... The count could be changed 4~5 times a second so normal EEprom was out from the off...

It has no delayed write so I don't have to wait.... Its use is identical to the normal 24LC64 so I don't have to change much to use it!

Hi,

Sounds very very good, i have a couple on order. I2C interface but i see they also come in SPI interface models.

I have to wonder (and hope) that they can replace the type of memory we now use for USB drives and SSD hard drives. The USB drives literally drive me nuts sometimes, when they take so long to store data. I'd throw them all out in a heartbeat if i could get FRAM based units. Probably too costly for now though for 64GB storage units.
The USB drives work great when storing one or two files, but try to store 10000 smaller files (average 300k each) and see how long it takes :-(
 
Hi Ian,

I looked up the F-RAM too. Interesting and not too much of a price penalty for <1000 units. Assuming that one uses I2C, can one just treat them as EEPROM with a PIC? That is, can the PIC tell the difference?

John
 
Normally ( Most of my applications ) use eeprom. Bog standard 24lc64... These work for me because memory writes are maybe once or twice a month!!.... I did toy with using the 56 byte within the DS1307.... Again this is SRAM but backed up by he RTCC battery.... However! Not many companies needed the RTCC so FRAM was chosen.. I think I pay just under £1.80 for them but as I need 5v types its a bit dearer... 3v types are a little easier, and cheaper, to get hold of.. The SPI types can do more than 1Mhz..
 
Hi again,

I2C interface should be pretty simple to work with. Data sheet says it all.

I considered using the RTC memory also but didnt think i wanted to have to add an RTC just to get memory. Not out of the question though, especially since i only need maybe 8 bytes or something low like that.
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top