Designers working with microcontrollers (MCUs) have come to rely heavily on flash memory for code storage because IC makers have scaled the manufacturing processes for the nonvolatile memory and are producing quite large flash arrays on MCU ICs. Still, flash is far from perfect, and other nonvolatile memory types such as Ferroelectric RAM (FRAM) offer advantages over flash including lower-power operation, DRAM-like per-bit access, and faster access times. Even though FRAM costs are higher and capacities do not match flash, you might do well to consider FRAM technology when low power and high performance are key design considerations.
First let's briefly review how FRAM works. FRAM storage cells are constructed similarly to DRAM cells in terms of using one capacitor and one transistor for each bit. However, the FRAM cells require a ferroelectric material that essentially stores a polar state and does not require refresh or power to maintain content. To date, semiconductor manufacturers have not been able to scale FRAM to the levels achieved in DRAMs and flash for several reasons. The ferroelectric material is an added material that can be problematic in the semiconductor manufacturing process. Such materials lose ferroelectric properties as the size of the material is reduced, as smaller cell feature size is important in scaling to higher density.
Since we started with the downside, you may be asking why bother with FRAM? The answer is that outside of the manufacturing issue, FRAM is better than flash in virtually every measure. Flash requires high voltage for the write process. That voltage impacts the power consumption attributable to the memory, and also results in a long write cycle. FRAM supports DRAM-like access time and low power, and is not constrained by a limited number of rewrite cycles.
Other flash limitations
Flash can also be a logistical headache for programmers. You cannot just rewrite a value in flash memory. You typically have to write the new value to a location in a new block of flash, and at some point go back and erase the old block for reuse – after, of course, handling the housekeeping of moving all vital data from the old block to the new block. Most MCU makers include code libraries to handle the housekeeping. Still, flash handling is inherently inefficient in terms of code size.
FRAM can be read or written on a per-bit basis. Programmers working with a FRAM array do not have to worry about separate code and data memory. The programmer can use a universal memory map and even dynamically allocate sections of memory to code or data as the application requires.
If FRAM density could approach the cost or density of flash, we would likely see a broad migration to FRAM overnight. Instead, you need to make sure you are apprised of the current state-of-the-art in FRAM, and deploy it as the application warrants.
Today you can leverage the advantages of FRAM in two ways. Companies including Fujitsu Semiconductor and Ramtron make dedicated FRAM ICs that can be combined with MCUs based on a different memory technology such as flash. Texas Instruments (TI), meanwhile, has integrated FRAM on some 16-bit MCUs.
FRAM memory ICs
Let's examine the memory ICs first. Fujitsu's product line tops out a 1-Mbit capacity in the MB85R1002ANC-GE1 IC, configured as 64k x 16, and the MB85R1001ANC-GE1, configured as 128k x 8. The ICs support 150 ns access time. Interface to the MCU is via a byte-wide parallel connection.
Fujitsu also offers several FRAM ICs that connect to the MCU via serial interfaces, minimizing the pin-count required for the memory connection. In the case of a Serial Peripheral Interface (SPI) link, Fujitsu offers a maximum capacity of 256 kbits, configured 32k x 8, in the MB85RS256APNF-G-JNE1 IC. The SPI interface operates at a maximum 25 MHz, setting the effective access time. I²C-based FRAM tops out at 128 kbits, configured as 16k x 8, in the MB85RC128PNF-G-JNE1 that operates at 400 kHz.
Ramtron offers even-higher-capacity FRAM ICs that also have faster access times. For example, the FM23MLD16-60-BGTR stores 8 Mbits, configured 512k x 16. The IC uses a parallel connection and supports an access speed of 60 ns. SPI products top out at 2 Mbits in the FM25V20-DGTR with a 40-MHz interface. Or you can use a 3.4-MHz I²C connection to the 1-Mbit FM24V10-GTR.
Adding one of the FRAM ICs mentioned above to an MCU can deliver higher system-level performance and a simpler programming model. Moreover, while you add an IC to the bill of materials, compared to a system realized with a MCU using on-chip memory, you might still achieve lower system power. You can choose an MCU with a small on-chip flash array and rely on the FRAM memory for the majority of operations – eliminating the power-hungry writes to flash.
Now let's discuss MCUs with integrated FRAM arrays. Doing so will give you a better idea about the low-power benefits, and also set a level of expectation as to how sophisticated an application you can attack with such products today with limited on-chip FRAM.
TI has integrated FRAM on a small subset of its MSP430 MCU family that is based on a 16-bit core. TI has touted the device as capable of meeting 8-bit-like requirements in cost and low power. The MSP430FR57xx FRAM MCUs (Figure 1) top out at 128 kbits of FRAM, configured 16k x 8. As is typical with MCUs, there are many options in terms of 128-kbit offerings with varied I/O functionality and integrated peripherals.
Figure 1: The MSP430FR57xx FRAM MCUs integrate as much as 128 kbits of nonvolatile memory, and family members include a variety of peripheral configurations including integration of 10-bit A/D converters with up to 14 channels.
TI offers the MCUs rated for 8 and 24 MHz clock speeds, with a maximum of 32 I/O lines. Some of the products include A/D converters with the MSP430FR5739IRHAR topping out at 14 10-bit channels. Generally, all of the MCUs in the subfamily include PWM, power-on reset, and watchdog timer peripherals, and the complement of interfaces include SPI, I²C, and a UART.
The real benefits of FRAM show through in active power consumption specs. The FRAM family dissipates 82 µA/MHz. Many of the MSP430 flash-based products use two- to three-times more power in active mode. It's only fair to point out that the specialty low-voltage flash series uses 50 percent less power, albeit those products are limited to 4 MHz operation.
By the time you read this, TI will likely have its next-generation MSP430FR58xx products available for purchase. Those products will offer similar active-power specs to the existing FRAM-based MCUs, but will add elements, unrelated to the FRAM, that further reduce standby power.
If you are new to FRAM and want to evaluate the technology, TI has several kits that may be of interest. The MSP-EXP430FR5739 FRAM Experimenter board (Figure 2) includes an MSP430FR5739 MCU with 128 kbits of FRAM. The board pictured in Figure 2 has a number of peripherals such as an accelerometer and a thermistor that might be useful in a typical application.
Figure 2: The MSP-EXP430FR5739 FRAM Experimenter board includes a three-axis accelerometer, a thermistor, LEDs, switches, and an expansion connector for connectivity-oriented daughter cards.
The MSP-FET430U40A Tool Kit Bundle includes a flash emulator and programmer that, ironically, are not required for use with the dual on-board MSP430FR5739 MCUs. However, the flash tool also includes a USB debugging interface that can be handy in system development. The CC3000 Wi-Fi FRAM Module, meanwhile, is a combination of the board from the experimented kit and a Wi-Fi module installed via a mezzanine connector.
If you are interested in other alternatives to flash, you might also want to research Magnetoresistive RAM (MRAM), which offers similar benefits to FRAM. No one yet offers an MCU with integrated MRAM, but dedicated MRAM ICs are available from Everspin Technologies in capacities as high as 16 Mbits.
Flash has been and will continue to be a vital technology across the broad application landscape, especially given the incredible density in which it is being manufacturer at low cost. That does not mean flash is always the right choice. You may find FRAM can lower system power and increase performance, and maybe even lower system cost in some applications. The elimination of the flash housekeeping work results in simpler code, and you may find your application fits in a smaller memory footprint with FRAM.