When first interested in computers while I was in junior high school in the early 70’s I remember seeing a core memory board for the first time. It was a seriously large circuit board with a myriad of wires woven across it going through the tiny metal doughnuts that stored the bit values. The computers it went into only had a total of around 4K bytes of memory. The only other storage option was paper or magnetic tape, or for some extravagantly well-heeled institutions there was drum memory. I remember buying my first PC and being thrilled that it had 64K of RAM some years later.
Of course back then plain old switches were used to ‘store’ values for interrupt numbers, device addresses, or configuration data. Remember when disk controllers needed to have the dip switches set according to some cryptic data sheet so they had the correct number of heads, sectors and cylinders?
While the technology has changed incredibly since those days, the underlying need for various data storage types and sizes continues and is expanding. On one end of the spectrum there is mass storage in the form of hard disks or increasingly as solid state drives (SSD). Like core memory gave over to semiconductor based storage, we see DIP switches and even hard drives moving to the chip level. Removing mechanical components saves money and improves reliability. It also has a side effect of improving security in many instances. DIP switches could get accidentally, or even maliciously, changed. However, the need for storing small amounts of essential data has, if anything, expanded over the years.
Decades ago it was conceivable that you might add a device package to your system board just to store a couple of registers worth of data. Today it would be a crime. Even making room for traces that can be cut is out of the question with today’s board density. Really the only solution is to bring this data storage on-board into an SOC. To determine the best medium for any given storage need, we have to step back and look at the data storage requirements for the information we intent to save/use. Today designers can choose from e-fuse, NAND Flash, EEPROM, anti-fuse, mask ROM, or potentially, other types of storage.
At the bottom of the list if we go by capacity there is storage for things like MAC addresses, trim info, encryption keys, and of course configuration data that is fairly static. For this we probably do not want to add mask layers or change the fab process at all. This rules out quite a few of the above choices. If security is a concern too then we are most likely left with anti-fuse OTP, such as what is available from Sidense. They offer one time programmable (OTP) non-volatile memory (NVM) that can be added to just about any chip on any fab, even FinFET, AMS, or legacy CMOS. Their OTP NVM IP is drawn using a standard layer stack up with no special layers or extra processing.
Of course, mask ROM also uses a standard stack up, but the data has to be part of the mask set, which rules out using it for unique device trim, hardware addresses and security keys. OTP-NVM can be programmed on the tester or in the field. It also offers simulated re-write, so values can be updated in the field if necessary. Sidense can include an IP module for programming the NVM even if the supply voltages are only for logic. A higher voltage is used for programming, but it can be produced internally using a charge pump.
Next up the food chain is storage for things like boot code or microcode. These are usually unchanging as well, but could possibly be updated over the course of the life of the product. With this category of data, security becomes an even bigger issue. Having it on the SOC helps a lot, because observable circuit board bus traffic is not taking place. However, there are a number of reverse engineering techniques that rely on physical inspection or current monitoring during reads. Here is another place that Sidense OTP NVM excels. There is no physical marker when anti-fuse is programmed. During programming the 1T cell is modified in the gate oxide by overvoltage, but it leaves no detectable artifacts. Sidense also uses a symmetrical storage configuration so the read current does not change based on the bit value retrieved.
Sidense OTP can even simulate re-write up to the limit of bytes available by dynamically changing addressing. So, critical updates can be applied in the field if needed. This is known as few times programmable (FTP).
Using patented technology delivered as an IP product for one time programmable non volatile memory has a number of advantages. It comes with the physical implementation for the bit cell array and also with proven soft IP for the the support circuitry that embodies all the security. The entire package is rigorously tested using test chips for each target process for yield and reliability.
Things have come a long way from DIP switches and magnetic tape for parameter and boot code storage, but the demands for these vital pieces of data have grown and are central to our lives in many instances. We count on reliability and security in mobile communications, automotive systems, medical devices, and finance, among other things. It’s good that companies like Sidense are providing an essential link in the chain. For more information, I suggest going to the Sidense website.