For all embedded systems based on microcontrollers, memory is the main component. For example, developers need enough RAM to store all volatile variables, create buffers, and manage various application stacks. RAM is important for embedded systems, and developers also need space to store application code, nonvolatile data, and configuration information.

EEPROM is often the first and most commonly considered storage device for embedded systems. In embedded applications, this type of nonvolatile memory is often used to store system configuration parameters. For example, a device connected to a CAN bus network might store a CAN ID in an EEPROM.

The following features of the EEPROM make it ideal for embedded system developers: • Small package size • Relatively affordable price • Typical bit rate range from 100kbps to 1000kbps • Standardized electrical interfaces • Support for I2C and SPI interfaces in general

It is worth noting that some MCU microcontrollers also include an EEPROM. Therefore, the configuration requirements should not exceed 4KB, otherwise the developer would need to use an external storage device, or use the microcontroller’s flash memory to emulate the EEPROM to expand the capacity.

Despite its popularity, the EEPROM has some potential drawbacks: • a typical wipe/write life of 1,000,000 times • a write cycle of about 500ns • multiple instructions are required to write to a single data unit • a data shelf life of more than 10 years (up to 100 years on more recent products) • vulnerability to radiation and high operating temperatures

EEPROM is suitable for a wide range of applications, but for applications with high reliability requirements such as automotive, medical or aerospace systems, developers are looking for more reliable storage solutions such as FRAM.

FRAM, short for “ferroelectric random access memory,” has several advantages over EEPROM memory: • faster (write cycles less than 50ns) • longer write life (up to 1 trillion write cycles versus 1 million write cycles for EEPROM) • lower power (operating voltage as low as 1.5V) • better radiation tolerance

The storage capacity of a FRAM is comparable to that of an EEPROM. For example, Cypress’s FRAM range in capacity from 4KB to 4MB. Among them, the capacity of FM25L16B-GTR is 16KB. The device comes in an 8-pin SOIC package and operates at a frequency up to 20MHz.

For the high end, Cypress is offering ferroelectric RAM with a capacity of 4 MB and an interface speed of up to 40MHz. This RAM has the following features: •151 years of data storage •100 trillion read/write cycles • Direct replacement of serial flash and EEPROM

As you might guess, a FRAM is more expensive than an EEPROM, so it’s important to carefully weigh the various operating environment factors of the device when choosing the right memory for your application.