0
\$\begingroup\$

I am working on a project which requires low power persistent storage. It needs to store 1 kB of data at most. The data is organized in blocks logically. So, a update of one block requires 100 B to be written to storage.

The project will be powered from a coin cell so it needs to be power efficient.

Low endurance of flash is not a problem. The deciding factor for my project is power, cost and write speed.

25LC640 EEPROM datasheet at http://ww1.microchip.com/downloads/en/DeviceDoc/21223H.pdf states that it needs up to 5 ms to write a single byte. So, to update my logical block, it would require 500 ms. This is the problem for my project.

I need to decide whether to use flash or EEPROM and deciding factors are cost, power and write speed.

Please help by telling me typical write speed, cost and power of flash and EEPROM of approx. size 1 kilo bytes.


Edit-1 :

I understand that they will be trade-offs. All I want from this community is to share their design experience with me. I am not asking for a particular product. I am looking for typical figures for cost, power and write speed.


Edit 2:

My project is a BLE device. It needs to store bonding information, service context, application context and other information persistently. I am implementing a very simple filesystem and each information can be stored in a file. The problem with larger write cycle is that i can't write data instantaneously and i have to queue the request to store the data persistently. It may lead to inconsistent state in my device. Again, i can solve it by making my firmware smart enough but i want to look for other alternatives from the community.

\$\endgroup\$

closed as off-topic by Marcus Müller, Nick Alexeev Jan 15 '17 at 21:59

  • This question does not appear to be about electronics design within the scope defined in the help center.
If this question can be reworded to fit the rules in the help center, please edit the question.

  • 1
    \$\begingroup\$ "I read somewhere" is a terrible source. Please read again. This sounds completely wrong, as if you remembered this wrong, and if you research this again, all your question would solve itself. Also, why should we be better than you at researching how much something costs? \$\endgroup\$ – Marcus Müller Jan 15 '17 at 21:18
  • 1
    \$\begingroup\$ Much better, thank you! So, you might want to explain why 500ms is a problem for your project :) \$\endgroup\$ – Marcus Müller Jan 15 '17 at 21:25
  • 1
    \$\begingroup\$ and saying "deciding factors are A, B and C" when A, B, and C are all contradicting each other isn't very sensible – you need to explain what your application's restrictions are. Maybe you should simply describe your applicatino. \$\endgroup\$ – Marcus Müller Jan 15 '17 at 21:27
  • 2
    \$\begingroup\$ There is no typical write speed aside from that what you can find out yourself by following pjc50's answer. This is a whole class of devices, with a large range of parameter variations. You're basically asking "could you tell me the median height of the buildings". Yes, I can, but it's utterly meaningless when you consider there's buildings that are below ground as well as skyscrapers. \$\endgroup\$ – Marcus Müller Jan 15 '17 at 22:00
  • 2
    \$\begingroup\$ 500ms would be an obvious problem from a power perspective, but fortunately it is probably a mistaken conclusion; taking 5ms to write one byte does not mean that it takes 500ms to write 100 bytes if you write them in suitably sized chunks. See electronics.stackexchange.com/questions/152671/… Also consider that you can sleep the MCU core while waiting for the EEPROM to finish. \$\endgroup\$ – Chris Stratton Jan 16 '17 at 6:52
2
\$\begingroup\$

FeRAM (F-RAM, FRAM) is probably the lowest power writable non-volatile storage around. It can be rewritten without having to worry about limited numbers of writes and it is very fast (read and write.) And with only a need of 1 kB total, it's the way I'd lean for coin cell use. You can either select from Cypress or TI for inexpensive parts that are generally available. TI includes MSP430-based microcontrollers which include enough for your use, too. You'll spend about $1 for a Cypress part (memory only) and you'll spend about about the same to get the memory with a TI MSP430 microcontroller added in, too.

(There is also MRAM, but it is very expensive and only available in small quantities and hard to find, besides. I'd avoid it for now.)

\$\endgroup\$
  • 1
    \$\begingroup\$ The question really is whether OP really needs this kind of permanent storage that gets continously updated (which is what I presume is his problem with 500 ms, but he doesn't tell), or whether simply keeping these 100 B in RAM until a) you'd need to write to another block or b) there's signs of a brown out impeding would suffice. \$\endgroup\$ – Marcus Müller Jan 15 '17 at 21:59
  • 2
    \$\begingroup\$ @MarcusMüller Well, what the OP really needs is always the question. It's almost never the case that a question here comes from someone sufficiently informed that they really know what they need. ;) They almost always ask for something they don't really need, but think they want. \$\endgroup\$ – jonk Jan 15 '17 at 22:20
  • 1
    \$\begingroup\$ here comes my favourite link; I should probably have that on speed-dial, so I don't have to type it every time: "Dear OP, it seems you're looking for a solution that doesn't really solve your problem. Please describe what you try to do, the bigger picture. If you wonder why, please refer to xyproblem.info ." \$\endgroup\$ – Marcus Müller Jan 15 '17 at 22:25
  • 1
    \$\begingroup\$ @MarcusMüller I love it, of course. I actually have said (and do think) that every question asked here should be required to provide the problem context, in full, or else shelved/deleted and/or disallowed. If the OP can't be bothered, then neither can we, I think. Perhaps we can change the EE.SE charter? ;) \$\endgroup\$ – jonk Jan 15 '17 at 23:53
1
\$\begingroup\$

Other way round: you find a part supplier (e.g. digikey) and then use parametric search to find a suitable part. You should be able to get much faster than 500ms, more like 0.1ms. Consider also FRAM.

Random example: http://www.digikey.co.uk/product-detail/en/fremont-micro-devices-usa/FT25H04S-RT/1219-1190-2-ND/5875675

\$\endgroup\$

Not the answer you're looking for? Browse other questions tagged or ask your own question.