I’m building a side project at the moment and I want to be able to store and retrieve a very small amount of data (10 kB tops). If the power is disconnected I want to be able to retain the data. I know about EEPROM, however, I noticed there are limits to how much you can update EEPROM’s data. I would love to have HDD/SSD that just stores 10 kB of data but I can’t find that on the market. What would you recommend I do if I want to be able to just store 10kB of data? I would hate to spend extra money buying a ton of storage space I won’t use. I need to be able to update data multiple times a hour so I expect EEPROM to become useless (I’m new to this stuff, so not a 100% sure).
- Could you just use the smallest/cheapest flash you can find and use that ? – tobalt 9 hours ago
- Such a thing has not existed for about 30 years. Maybe longer. You have no choice but to buy alot of storage you’ll never use. That’s all that is on the market. There’s no market for 10k devices so no manufacturer is gonna do that. – Kyle B 9 hours ago
- You would also want sufficient Capacitor storage power and be able to detect power failure and DC operating range so that during decay, you have enough time to save the data in the buffer. With Voltage thresholds to detect this event and safe operating levels. – Tony Stewart EE75 9 hours ago
- @KyleB Microchip makes 16 byte EEPROMS. A quick search of one of the major parts vendors turns up over 2000 results for memory chips 16K and under in active production, so there must be a market for them. – GodJihyo 9 hours ago
- @KyleB Actually, they’re quite readily available. In fact, Digikey lists parts as small as 16 bytes, if you really needed that for some reason. – Hearth 9 hours ago
- Remember that EEPROM typically has a write endurance of tens of thousands of writes–even at a few writes per hour, you wouldn’t encounter problems for five or six months. And if you get a larger EEPROM than you need (this will only cost a few cents extra; EEPROMs are not remotely expensive in such small sizes), you can cycle between multiple locations and avoid writing to the same place too many times (this is called wear levelling, a very common practice in SSDs, which use the same type of memory with its limited writes). – Hearth 8 hours ago
- @Hearth He asked specifically where to get HDD/SDD in 10kB size. That’s what I was referencing. You’re not wrong, and I could have been specific.. – Kyle B 8 hours ago
- Some two years ago I went to buy a 1 TB SSD. The shop keeper told me that 1T was no longer available, and 2T was cheaper than 1T a year ago. Same for 1/2/4/8 GB fingers. My approach is ask the shopkeeper for second/third cheapest which I think has the optimum price/performance ratio. – tlfong01 8 hours ago
- 2Well, back in the day we had core. Great stuff. All this discussion brings me back to that. Unfortunately (for those like me who reminisce at times), I don’t believe anyone is sintering cores with the right B-H curve anymore. – jonk 7 hours ago
- 1@jonk Not sure I’d admit being old enough to remember working with core. Heck I hate saying to say I’m old enough to know what it is LOL – Kyle B 7 hours ago
- 1(1) Ah, you two old guys remind me of my sweet memories working as a young electronics engineer way back in late 70’s. 🙂 (2) Reference: Ampex Ferrotec (Magnetic Core Memory Systems) Limited Hongkong: hkmemory.hk/MHK/collections/postwar_industries/manufacturers/… – tlfong01 6 hours ago
- core memory boards were a thing of beauty – jsotola 5 hours ago
Personally I use FRAM, it is easy to use and you can get 32K by 8 for a few dollars. It works like the EEPROM modules but there is no delay or limits on reads and writes. These can be purchased on Arduino modules about 3/4″ by 1.25″ in 3.3 and 5V.ShareCiteEditFollowFlaganswered 9 hours agoGil1,47111 gold badge88 silver badges99 bronze badgesAdd a comment4
Use MRAM which is basically an EEPROM of a different technology. Unlimited writes.
There is also FRAM which has nearly unlimited writes. Something on the order of a trillion writes I think. Not infinite, but you could write 1000 times per second for 32 years.
A mechanical HDD is about the only other thing with unlimited writes but big and heavy and mechanical.
SSDs violate your criteria for unlimited endurance. SSDs are just flash memory and have even less endurance than an EEPROM.
And both mechanical HDDs and SSDs are serious design effort to implement since most are made to interface with a PC motherboard through an operating system.ShareCiteEditFollowFlaganswered 9 hours agoDKNguyen43k33 gold badges5353 silver badges113113 bronze badgesAdd a comment2
For this you would want low power flash with low voltage so that you have time to detect a failure and store RAM data before DC OK you create, goes low.
.e.g. used on IOT solutions https://www.macronix.com/en-us/products/NOR-Flash/Pages/Ultra-Low-Power-Flash.aspx
0.5 MB flash is going obsolete is only $0.65 so consider 1MB
You would never need to worry about write cycles with an incremental pointer to use all the memory on write cycles.ShareCiteEditFollowFlagedited 9 hours agoanswered 9 hours agoTony Stewart EE75126k33 gold badges4545 silver badges165165 bronze badges
- This way you will also have access to previous power down state, should a write fail.. Endurance is probably higher than you would ever need. – tobalt 6 hours ago
- Tony, where do you store the pointer value? I’ve often tried to think of s scheme that would be reliable. – Transistor 5 hours ago
- store the pointer as an inverted thermometer code (ie unary) in the first sector and only perform single bit writes to that sector (with no interveining erases), or store an expiry mark on expired data – Jasen 3 hours ago