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 very 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. A 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:
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 overhead of the Write command, the WREN bit and two address bytes. The number of bytes written to the 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.
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 shown in Figure 2.
During this phase we assume that all of the energy goes into the decoupling capacitor and that the non-volatile memory consumes negligible energy.
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 stand-by specification of the datasheet.
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 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:
Energy Used by a Serial Flash
Serial Flash has much higher write and standby currents, so we will use a standby current of 50?A, 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.
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.
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 increase 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.
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.