Using MRAM to Optimise System Energy Consumption
16-02-2016 | By Electropages
Everspin’s Duncan Bennett and Anglia’s Andrew Pockson compare the power consumption of Flash, EEPROM and MRAM.
For many wireless and portable applications, especially in the growing Internet of Things, there is a critical energy budget (total power consumed over time). When calculating the power budget for their designs, engineers typically look at the rated power consumption of the device. However, other factors can come into play. For example, for non-volatile memory, the write current is much higher than the read or standby current, so the write time needs to be considered in power-sensitive applications, especially in systems where memory writes are frequent. Technology such as MRAM with fast-write and power-up-to-write times can significantly reduce total system energy consumption compared to either EEPROM or Flash.
In this article, we compare system energy consumption in a typical data acquisition system using Flash, EEPROM or MRAM. The comparisons showed that:
- Non-volatile memory write time is a major contributor to overall system energy consumption. Thus, the shorter write time of MRAM can actually reduce total energy consumption.
- Further system energy reductions can be achieved using a power-gating architecture with MRAM because its faster power-up to write time allows MRAM standby power to be reduced to zero.
Typical System
The schematic in Figure 1 represents the Low-Voltage Dropout Regulator (LDO), microcontroller (MCU), non-volatile memory and a decoupling capacitor typical in data acquisition applications such as medical monitors, data loggers, etc. Other system components, such as sensors and the power they consume, were not considered.
The MCU was assumed to be in a low power sleep state and with a periodic wake up to make an acquisition of data. The data acquired was stored in the non-volatile memory and then the system returned to the sleep state.
We will compare non-volatile memory with an SPI interface and look only at Write operations, which typically consume much more power than Read operations. The number of data bytes that can be written is four less than the number of bytes on the SPI bus due to the overhead of the Write command, the WREN bit and two address bytes. The number of bytes written in non-volatile memory was selected as 4 and 46. Four is, perhaps most likely, representing the storage of one data acquisition sample. 46 is the optimum amount of data that can be written to an MRAM when powered from a 1.0μF decoupling capacitor.
Power Gating Considerations
A few quick calculations revealed that the decoupling capacitor is very important when power gating. The energy used to charge the capacitor from zero is significant.
EEPROM can be powered directly from the I/O of a standard microcontroller, typically 4mA, and consequently, a small 0.1μF capacitor was used for decoupling. MRAM and Flash need more current than is available from a standard MCU I/O and would need a larger decoupling capacitor so that the Flash or MRAM could run on the energy stored in the larger capacitor.
Phases of the Write Operation
The energy consumption of the non-volatile memory was calculated during the phases of the write operation, as shown in Figure 2.
Rise Time
During this phase we assume that all of the energy goes into the decoupling capacitor and that the non-volatile memory consumes negligible energy.
Power-Up Time
Once the voltage on VDD is above a threshold, a small delay (tPU) is required for MRAM to become ready, but not for EEPROM or Flash. During this phase we assume that the MRAM consumes the current shown in the standby specification of the datasheet.
Write Time
During this phase, the non-volatile memory consumes the current shown in the active specification of the datasheet. Assuming a 3.3V system with a tolerance of ± 10%, the lowest voltage on the I/O could be 3.3V -10% = 2.97V. This voltage of 2.97V was used in calculations.
Energy Calculations
Energy Used by an EEPROM
Let us start by looking at the energy used by the non-volatile memory during writing by a typical 3.3V EEPROM with a standby current of 1µA, a write time of 5ms and a write current of 3mA. We will assume that:
- The EEPROM is ready to begin operation as soon as VDD rises to be within operating limits (a power up time of zero).
- The amount of data written fits into one page, and writing takes place using the block write capability.
- The write time of the EEPROM is only that required to perform the write operation of the EEPROM so we ignore any processing and communication time of the MCU and SPI interface. (This assumption is the opposite of that used for MRAM - MRAM only requires communication time because the write time is so short that it can be considered to be zero.)
- The EEPROM is powered directly from the microcontroller I/O and uses a small (0.1μF) decoupling capacitor (Table 1).
Energy Used by a Serial Flash
Serial Flash has much higher write and standby currents, so we will use a standby current of 50mA, a write time of 3ms and a write current of 15mA in our evaluation. As above, we assume (1) zero power-up time, (2) the data fits into one page, and (3) the write time is so long that we can ignore the communication time. In addition, we assume that the Flash writes are to a pre-erased page (Table 2).
Energy Used by an MRAM
For MRAM, we based the evaluation on Everspin Technologies MR25H256, 256Kbit serial SPI MRAM.
Table 3 shows the energy per data byte is lowest when all of the energy from the decoupling capacitor is used. The decoupling capacitor size should be chosen to match the amount of data that is typically acquired by the system.
A 1µF capacitor allows the writing of 50 bytes (46 data bytes) on the SPI bus at 40MHz, with the MRAM consuming 27mA. This calculation is the source of using 46 bytes for comparisons.
Energy used by MCU and LDO
For the MCU, it might take 100μs to wake up, make a measurement, and communicate the result to non-volatile memory and any housekeeping required. During this time, we assume an active current consumption of 500μA (typical of small microcontrollers running at ~5MHz). This gives us an energy consumption of 3.3V x 500μA x 100μs = 0.165μJ per data acquisition. In addition to the energy to make an acquisition, we should consider the energy required to keep the microcontroller active during the non-volatile memory write. When not acquiring or storing data, the MCU was in a sleep state, consuming 5μA. The power supply was assumed to be an LDO that consumes 1μA during all phases of operation, active and sleep.
Results Summary
Table 4 shows the energy used by systems that make 10 and 100 acquisitions per second (4 bytes per acquisition). For 100 acquisitions per second, EEPROM required 0.5s just in write time. A larger number of acquisitions would have to look at caching the acquisition data and performing block writes.
The results are graphically summarised in Figure 3.
Why Power Gating has more of an effect on Energy consumption than Sleep Mode:
EEPROM has low standby power consumption, so operating it with VDD always present could be considered. However, the write energy of just one write operation to EEPROM is equivalent to it being in standby mode for about 15 seconds. Again, the write energy is dominant.
Power gating really applies to MRAM where the fast Write time significantly reduces the amount of energy used. The energy consumption of an acquisition using MRAM is 1.54μJ. This is the same as a 3.3V EEPROM with a standby current consumption of 1μA being in standby for 0.46s.
The write energy is dominant over standby energy.
Conclusion
The write time of a non-volatile memory significantly affects the total energy consumption of a system. For systems with a low duty cycle the effects are less pronounced, but become more pronounced as the rate of acquisitions increases.
The write time of EEPROM and Flash significantly increases the energy consumption of the MCU because they cause the MCU to be active for longer. Energy consumption could be reduced if the MCU was in a sleep mode while the writes to EEPROM and Flash complete. However, the energy consumed by the EEPROM or Flash is the majority of the energy consumed by the system, so having the MCU in sleep mode will not affect the overall consumption significantly.
It is clear that the lowest energy consumption can be achieved with a fast-write, non-volatile memory that is power gated.
Authors
Everspin Technologies
Anglia Components
By Duncan Bennett and Andrew Pockson
Duncan Bennett, Product Marketing Manager, Everspin Technologies, has 27 years experience in the electronics/semiconductor industry. He has spent the last 20 years in sales roles including field applications, sales, area sales manager, strategic marketing and product marketing.
Andrew Pockson is Divisional Marketing Manager at Anglia with responsibility for wireless and semiconductor products. He has over 15 years of distribution experience, in technical and marketing support roles.