You have probably heard of the Internet of Things or IoT. This is the future world in which not only are our computers and smartphones connected to the internet, but all sort of other things like thermostats, medical monitors, smart car-keys and soil analyzers. What these “things” have in common is that, unlike computers and smartphones:
- not going to get the battery charged or changed very often, if at all
- very low power
- secure (encryption etc)
- very reliable
- many need to be very cheap
Forecasts from Cisco are that there will be 25B devices connected to the internet by 2015 and twice as many, 50B by 2020. World population today is 7B (and, amazingly, this is almost exactly the number of cell-phones in the world too).
There probably does not need to be large compute power in the device itself. Like voice-recognition in smartphones, data can be uploaded to the cloud for processing and results downloaded back again. Much lower power radios may be needed too, trading off bandwidth for power since sometimes just a few bits per day may need to be transmitted: most “things” are not going to be playing high-def youtube videos.
Think of a device that is put in place to monitor something, maybe soil moisture in the middle of a field, can run for a year without any need to change the battery, needs no maintenance, cannot be spoofed, and doesn’t cost very much since any farm might need hundreds or thousands of them. They may even be disposable, with new ones put in place for each year’s crop. That is very different from the application processor in your smartphone.
Obviously the exact details of what each device will contain will vary, but the diagram to the right is a fairly generic example. One important thing is that these devices will require some non-volatile memory for holding encryption keys, radio and sensor trim settings and, perhaps, boot code. Flash memory is too big and too power hungry. Another approach is to have an off-chip EEPROM of some sort and then upload the binary from the off-chip memory into on-chip SRAM at boot-time (and perhaps occasionally afterwards for reliability). But that requires an extra chip, maybe an extra board, more power, a bigger battery.
The best solution is one-time programmable (OTP) memory. These are very small. They can be as small as one transistor per cell. However, there may be advantages to using two transistors per cell (with one programmed to 0 and the other to 1) since then differential sensing can be used and perhaps the supply voltage lowered further. In this case, at the cost of some area, a huge power saving can result. If a memory is needed that can be programmed several times, perhaps to update encryption keys, then this can be mimicked with a larger OTP memory that is gradually filled up with the new data.
Sidense OTP technology is implemented using anti-fuses. Their memories can be manufactured in a foundry process without any changes. All the voltages required for operation of the memory are generated with on-chip charge pumps so no weird power supplies are required. The OTP technology works by causing breakdown of the gate-oxide under the fuse creating a diode. This is irreversible, whence the non-volatility. Since it doesn’t depend on storing charge the memories work over large environmental ranges and will retain their programming forever.
The Sidense white-paper on the Internet of Things is available on their website here.