Avoid EEPROM and FLASH, use FRAM

Ferroelectric Random Access Memory (F-RAM) is a truly nonvolatile RAM that combines the advantages of RAM and nonvolatile memory. F-RAM is far superior to flash/EEPROM in write speed, endurance, and energy efficiency.

Traditional nonvolatile memories derived from floating-gate technology use charge pumps to develop a high voltage on-chip (10 V or more) to force carriers through the gate oxide. As a result, there are long write delays, high write power, and the write operation is destructive to the memory cell. Floating-gate devices cannot support writes that exceed 106 accesses. To put this in perspective, a data recorder using EEPROM that was recording data at 1 sample/s would wear out in fewer than 12 days. In comparison, the F-RAM products offer virtually unlimited endurance (1014 accesses).

The F-RAM is far superior to floating-gate devices in both write speed and power. For a typical serial EEPROM with a clock rate of 20 MHz, it would take 5 ms to write 256 bits (32-byte page buffer) and 1283.6 ms to write to the entire 64 Kb. For an equivalent F-RAM, it takes only 14 μs for 256 bits and just 3.25 ms to write to the entire 64 Kb. In addition, it requires 3900 μJ to write 64 Kb for the EEPROM, compared with 17 μJ to write 64 Kb to an F-RAM—a difference of more than 229 magnitudes.

The fast write speed and low energy consumption of F-RAM makes it ideal for low-power applications, such as e-meters, wearable electronics, and battery-operated systems. To quantify the overall impact that F-RAM has on energy consumption of practical systems, this paper considers different write/read scenarios and energy consumed is compared with that of an EEPROM.

Source: Energy Comparison of Cypress F-RAM and EEPROM

rtek1000:
To put this in perspective, a data recorder using EEPROM that was recording data at 1 sample/s would wear out in fewer than 12 days. In comparison, the F-RAM products offer virtually unlimited endurance (1014 accesses).

I think thats meant to read 10 raised to the power 14 accesss ?

i.e. 1,000,000,000,000,000 or at the 1 write a second rate would last 3,170,979 years.

Sounds promesing and everything but... how much does it cost compared to the "traditional" counterparts? Seriously, I couldn't find any number at least in a "quick Google search".

I have my doubts because I have well learned that nothing is too good to be true (or at least entirely).

Also I noticed it can't be seen as a mass storage device (like an SD card for instance); even 2 Mbit (256 KB) is too small for many data-logging cases, or to fit a filesystem without (relatively) big storage overhead. However, as an EEPROM substitute is totally fine.

Lucario448:
I couldn't find any number at least in a "quick Google search".

You need to use appropriate search terms, try 'FRAM Memory' in Google, EBay, Aliexpress etc.

Plenty of examples.

Well that answers my question, and apparently...

Lucario448:
I have my doubts because I have well learned that nothing is too good to be true (or at least entirely).

I was right.

Searching on Aliexpress I've found the price of an FRAM, and the price of a more known AT24 EEPROM; and looks like this is another example of when performance comes with a cost.
FRAMs aren't terribly expensive though, but the price difference is still noticeable.

Nevertheless, if FRAMs were dense and cheap enough, would they be the future of SSDs?

Perhaps this data storage method is similar to HHD (Hard Disk Drive), which has a magnetizable disk, and because FRAM is static, density and cost may be justified.

The fact that few people buy also makes production very expensive, and can even disappear from the market if it is not worth maintaining production.

rtek1000:
Perhaps this data storage method is similar to HHD (Hard Disk Drive), which has a magnetizable disk, and because FRAM is static, density and cost may be justified.

So are you saying it can't be as dense as a NAND flash? You can compare it to a HDD for the way bits are stored, but there's no access latency because there are no mechanical parts on a FRAM (hence it's "solid state").

rtek1000:
The fact that few people buy also makes production very expensive, and can even disappear from the market if it is not worth maintaining production.

Oh, I'm sorry to read that.

It may not disappear, but it won't become popular either. There are very few and specific cases where a fast-access EEPROM is actually mandatory.

Sorry for the sour note, but reality isn't always nice.

There are very few and specific cases where a fast-access EEPROM is actually mandatory

Yes, but F-RAM looks more like (nonvolatile) RAM than EEPROM.

The RTC DS1307 and DS3232 have nonvolatile, battery-backed RAM, which is very useful in case you need to store some information, but it depends on the battery, which besides having an additional cost, may not be able to offer 40 years of power.

Ever wondered if microcontroller manufacturers used FRAM instead of EEPROM?

I found this uC:

MSP430FR2311 (ACTIVE)
16 MHz Ultra-Low-Power Microcontroller - 4 KB FRAM, 1 KB SRAM, 16 IO, 8ch 10-bit ADC, OpAmp, TIA

The architecture, FRAM, and peripherals, combined with extensive low-power modes, are optimized to achieve extended battery life in portable and wireless sensing applications. FRAM is a nonvolatile memory technology that combines the speed, flexibility, and endurance of SRAM with the stability and reliability of flash at lower total power consumption.

http://www.ti.com/product/MSP430FR2311

rtek1000:
I found this uC:

MSP430FR2311 (ACTIVE)
16 MHz Ultra-Low-Power Microcontroller - 4 KB FRAM, 1 KB SRAM, 16 IO, 8ch 10-bit ADC, OpAmp, TIA

Wait... is the FRAM being used to store program code? It's a shame the little memory it has compared to the ATmega328P.

Wait again... does "Unified Memory" mean that the Program Counter can point to both FRAM and SRAM? If that's true, then this micro has an edge against many of the other ones; because this means that arbitrary code execution should be possible (e.g. to load programs on-the-fly, JIT dynamic compilers, and execute larger programs by storing chunks of code in external EEPROMs; although this last thing is only possible if there is a "page fault" interrupt).

FRAM is a nonvolatile memory technology that combines the speed, flexibility, and endurance of SRAM

What I just read? Is this implying that even SRAMs (aka a bunch of flip-flops) have an endurance?
Does volatile RAM (static/flip-flop-based and dynamic/capacitor-based) actually wear out? :confused:
Are you serious!!!???

Does volatile RAM (static/flip-flop-based and dynamic/capacitor-based) actually wear out? :confused:
Are you serious!!!???

I can't tell if this is 100% true, but I know that the multilayer capacitors are shorted, even ordinary ceramic capacitors, on several boards that I fixed the capacitor caught fire and destroyed the PCB, so I believe a capacitor from a RAM may also be defective.

Once I was researching the durability of a silicon chip, and at the time, years ago, were starting to dig deeper, and it was still a little inconclusive, which may mean we're using chips without an official durability, but that really must have a specific validity.

That sounds interesting, about the durability of a semiconductor component:

What causes semiconductor devices to fail? (Year of publication::1999)

  1. Encapsulation failure.
  2. Die-attach failure.
  3. Wire-bond failure.
  4. Bulk-silicon defects.
  5. Oxide-layer faults.
  6. Aluminum-metal faults.
    Thermal overstress
    Electrical overstress

Engineers and scientists have studied failures so often that they now have models, or equations, that we can use to predict when failures will occur. These models don’t predict when a specific device will fail, but they can predict with reasonable certainty the rate of failure under specific conditions.

Lucario448:
Wait... is the FRAM being used to store program code? It's a shame the little memory it has compared to the ATmega328P.

Yes, in the TI MSP430FR processors, they have replaced all the flash memory with FRAM. So you can write a new value to a location without having to erase first. The FR2311 is probably the smallest FR part they make. There are much bigger ones.

Wait again... does "Unified Memory" mean that the Program Counter can point to both FRAM and SRAM? If that's true, then this micro has an edge against many of the other ones; because this means that arbitrary code execution should be possible (e.g. to load programs on-the-fly, JIT dynamic compilers, and execute larger programs by storing chunks of code in external EEPROMs; although this last thing is only possible if there is a "page fault" interrupt).

All the MSP430 parts are vonNeumann architecture chips. So all locations are directly accessible from anywhere else. And they are 16-bit. They are very capable microcontrollers, and there is even a port of the Arduino IDE for a few of them called Energia.

rtek1000:
Once I was researching the durability of a silicon chip, and at the time, years ago, were starting to dig deeper, and it was still a little inconclusive, which may mean we're using chips without an official durability, but that really must have a specific validity.

Yeah but I mean... I always believed volatile RAMs last nearly forever, and even more the static ones (I don't see flip-flops as prone to failure as capacitors in general). I don't think they will degrade or "wear out" with write operations as fast as basically any kind of non-volatile memory.

ShermanP:
All the MSP430 parts are vonNeumann architecture chips. So all locations are directly accessible from anywhere else.

Neat! Because that will allow things like execute code from a file of an SD card or actually any external source of data.
Self-programming the MCU by a more convenient o practical mean is always a plus.

Too bad it lacks a sort of "page fault" hardware interrupt, that would make possible to run larger programs beyond its overall internal memory.

It sounds like the old "core" memory reduced to a chip level.