With advances in system-on-a-chip (SoC) technology, increasing amounts of
intellectual property (IP) are residing in embedded software. Very often, software
IP in the form of firmware gives chip vendors a competitive edge, resulting
in a very successful (and valuable) OEM product.
Protecting firmware from outright theft or from malicious modification by unauthorized personnel is a prime concern for chip developers. Flash-based firmware storage, either on-chip or with an external flash device, lacks a high level of security. The answer is to store firmware using secure, embedded nonvolatile memory (NVM) with the processor. This also eliminates the cost and reliability concerns associated with an external chip for storing code.
Low-cost, embedded, one-time-programmable (OTP) memory IP not based on charge
storage on a transistor gate can provide a storage medium with a very high level
of protection for valuable embedded software, since the memory's contents aren't
easily detectable by visual, thermal, or electrical techniques. This makes embedded
NVM useful not only for protecting design IP but also for securing data through
the use of security IDs and encryption keys.
For reconfigurability, you can still use OTP memory by including one or more uncommitted sectors in the memory. To upgrade a processor's firmware, program the upgraded module into an unused memory sector and switch control logic to point to the updated module. This enables the OTP memory to support "few times programmability" at the system level.