The differences between types of one-time programmable memory.
Historically, when someone from our industry uses the acronym OTP, or one-time programmable, they think of eFuse, invented by IBM in 2004. Using electromigration, IBM was able to program a fuse without damaging other parts of the chip. In this way, fuses could dynamically alter the configuration of a chip after it was manufactured. Applications range from analog trimming and calibration to repair.
Another common application is the use of eFuses to make system updates in the field. For example, mobile phone companies can make software updates using eFuse to keep track of the firmware and prevent the user from downgrading to a previous version. In the past, the fear was that by using eFuse, one could render accidentally the entire chip inoperable.
Of course, that is not the purpose of the eFuse. Rather, it is to ensure that the chip only runs on updated and tested versions of software. With enough bits, the manufacturer can update the firmware directly using OTP and not track only updates.
Along these lines, OTP found uses in security applications because it cannot be hacked using passive, semi-invasive and invasive methods. For chips that contain encryption keys or other unique identifiers, there needs to be a way to program each chip individually and securely. In the old days, anyone could buy an analog descrambler and get cable channels for free. These days, each cable box has a unique key that allows only verified subscribers access to the channels. These keys are encrypted and stored in the chip hardware. They are programmed in the chip using OTP, but not just any OTP – antifuse OTP.
The reason for antifuse OTP is that it is more secure than eFuse. With eFuse, it is easy to view the contents of the memory since the fuse is large and visible via electron microscopy. With antifuse, the programming is done underneath the gate and the breakdown is so small it is virtually impossible to obtain the contents of the memory using invasive means.
From eFuse to antifuse
Traditionally, eFuses were made from the polysilicon gate layer. However, as process geometries shrank and foundries moved to High-K Metal Gates, eFuses now are made of metal. The problem with metal fuses is that, over time, the debris created during the programming of the fuse can start to grow back. This limits the number of times the fuse can be read. Also, even though transistor sizes have decreased, the size of the eFuse has not. It has been limited by its shape, which resembles a bowtie. The center is a strip of narrow metal while the large end pieces serve as a connection for vias and as heat sinks. Therefore, eFuse densities rarely exceed four kilobits as the size of the macro becomes prohibitively large.
Antifuse OTP does not have such limitations. It uses gate oxide breakdown as the programming mechanism. Once programmed, the resulting connection is highly reliable with no grow back or retention issues. Also, the antifuse bitcell is composed of two transistors, a program transistor and a read (or select) transistor. Consequently, as the process technology scales, so does the antifuse bitcell. Antifuse density can be on the order of several megabits.
For these reason, foundries are moving away from eFuse and moving toward antifuse as the OTP of choice, especially when it comes to security.