Cloud native EDA tools & pre-optimized hardware platforms
By Faisal Goriawalla, NVM Product Line Manager, Synopsys
Internet of Things (IoT) system-on-chip (SoC) designers have some difficult choices to make with respect to storing data. Early in the project, they must decide how much memory to include for the major SoC functions, add on-chip or off-chip memory and if data programming requirement is one time, a few times, or many times. Sometimes these options seem mutually exclusive. This article explores the advantages of embedded multi-time programmable (MTP) non-volatile memory (NVM) over embedded flash memory for IoT SoC designs by illustrating the ability to put a small amount of reprogrammable memory on-chip while avoiding the heavy price of extra masks and processing steps.
In the growing IoT market, the “Things” or devices have unique requirements with profound effects on the way SoCs for IoT designs are developed. The unique requirements are:
Each requirement helps guide design decisions related to memory choices. Let’s take a deeper look at each requirement and describe their impact on the designers’ choices.
When designing SoCs for IoT applications such as wearable devices or door locks, battery life is a key consideration. Minimizing both dynamic and idle power is important to the system and thus every component in the device must be very efficient in its power usage.
If reprogrammable memory is needed, embedded flash is generally a consideration. Beyond the issues related to cost and time associated with additional processing steps, power consumption is also a drawback. Generally it ranges between 3-7mA for each programming cycle and 500-1000 uA/Mhz for every read access. This can add up rather quickly in terms of impact on system power.
As an alternative, no-mask adder MTP NVM is an option when a small amount of memory to be programmed multiple times is needed. Using MTP NVM can bring substantial savings, especially when the system accesses memory often. MTP NVM should be a consideration for IoT SoC developers who need a low-power solution for programming small amounts of memory multiple times. The MTP NVM can be used either alone or in combination with embedded flash when a portion of the memory is read and programmed often.
As seen in Table 1, MTP NVM uses ~50X less current to write and erase a small amount of data than embedded flash and reads with ~10X lower current. MTP NVM uses Fowler-Nordheim Tunneling, which is inherently more power-efficient than the hot carrier injection embedded flash uses. Synopsys’ DesignWare® MTP NVM IP operates from a single core supply voltage, with some IP reading down to 0.9V, reducing power consumption even further.
Embedded Flash | MTP NVM | |
Program current | 3-7mA | 0.035-0.1mA |
Read current | 500-1000uA/MHz | 50-150uA/MHz |
Table 1: Comparison between typical current requirements for flash vs. MTP NVM
As more personal and household devices and remotely-located industrial devices are connected to the Internet, and the reliance on IoT devices increases, concerns arise about the potential for hackers to take control of the devices.
To address this concern, IoT SoC developers are increasingly focused on secure functions such as the authentication of the software running on the device using digital signatures or the protection of user data with encryption. An encryption key stored in software can be vulnerable to software bugs that hackers can use to access the information. Hardware key storage is often used as a way to thwart remote attacks because the key is inaccessible from remote systems. Another method is to segregate the key storage from the system software in a dedicated memory block.
Figure 1 shows several storage options that are available when including a secure module onto a SoC.
Figure 1: Storage options: flash (embedded or off-chip), external EEPROM, internal MTP or OTP NVM
Synopsys’ DesignWare MTP EEPROM NVM IP is optimized for high write cycle endurance, which is beneficial for applications that require frequent updates to the secure data. Table 2 shows examples of IoT applications and their typical need for proactive reprogramming. Typical embedded flash memory supports 10k-20k cycles of endurance, whereas MTP NVM can support up to 1 million cycles, depending on the process technology.
Although a completely impenetrable system is yet to be developed, making the wrong selection in NVM technology to store security and encryption keys can leave a system even more vulnerable to attacks.
IoT Applications | Operating Temperature | Frequency | Lifespan | Endurance Requirement |
Thermostat | -40 to 85°C | 10 years | 10 years | 100 cycles |
Surveillance camera | -40 to 125°C | 1x hour | 10 years | 87,600 cycles |
NFC controllers | -40 to 85°C | 1x hour | 7 years | 61,320 cycles |
Key fob | 0 to 70°C | Every 60 seconds | 3 years | 1,576,800 cycles |
Table 2: Estimated endurance requirements for example IoT applications
Maintaining a user profile is vital to the operation of wearable IoT applications. A small amount of NVM is generally used to store this data so it is maintained when the device is powered off. Board size is often at a premium and drives the choice of on-chip memory for storing the user profile information.
As IoT devices can change hands during their lifespan or the user may update their personal data, reprogrammability becomes a desired requirement, , leaving the designer a choice between flash memory or MTP NVM. The final decision is generally dictated by other key concerns such as power consumption or cost.
Due to high-volume and low-price expectations for IoT endpoints, system cost is of great concern. Adding another chip in the system, as in external NVM, adds to the cost of the system and increases board space.
Embedding flash into a SoC adds ~25% to the die cost. If the amount of memory is small, then embedded flash is unnecessary and one-time programmable (OTP) or MTP NVM, which are based on standard CMOS or BCD processes, is a better option to consider. Synopsys MTP NVM IP operates from a single core supply, which may save additional space and cost by eliminating the need for on-chip or off-chip voltage regulation.
Taking into account the requirements on a SoC, driven by the IoT market, MTP NVM IP is the best choice for applications that require a small amount of low power, secure, reprogrammable memory.
IoT SoC designers have the tough task of selecting the most appropriate memory to use in their designs. They must decide how much memory to include for the major SoC functions, whether to add on-chip or off-chip memory, and if their data programming requirement is one time, a few times, or many times. These key decisions influence the way IoT SoC designs are developed for low power and secure applications. Synopsys has more than 10 years of experience developing reprogrammable NVM IP and focuses on developing IP to meet exacting market requirements. IoT SoC designers can trust Synopsys and its long history of developing NVM IP for secure data storage and low-power devices such as RFID tags and wireless sensors, to provide high quality and highly reliable NVM IP to meet their application requirements.