In recent years energy-harvesting technology has become much more mature. The energy source is free and widely available. However, there are some limitations that energy-harvesting devices need to cope with, to build a reliable system. First of all the peak current of typical energy-harvesting power sources is quite limited  and the system’s active power must be as low as possible. A second limitation is the possibility of interruption or fluctuation of power source. For example, solar energy is only available during the day, and thermal or vibrational energy sources may change depending on environmental conditions. As a consequence, systems must retain state and information despite possible power outages. Flash or EEPROM as today’s standard non-volatile memory is slow in write access and has high peak current demands due to the required charge pump for erase and write cycles. Flash technology has limited write endurance in the order of 10 write cycles requiring a Wear Leveling algorithm  for large cycle state storage. SRAM could be used for fast, low-power read/write , but it requires a separate battery for state retention.