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.