The MAXQ1010 is a small, low-cost, low-power secure microcontroller designed for security token applications and battery-powered applications where power and security are both critically important. The microcontroller family contains a 32KB, 64KB, or 128KB programmable flash memory that can be used for both application code and data storage. Each 512B flash memory page supports 20,000 erase cycles and is programmable 16 bits at a time. This allows for unique schemes to extend the lifetime of the flash. For instance, dedicating four flash pages to store 32B of data that changes very often, the effective number of write cycles can approach 1.2 million (4 x 512 x 20,000/32). The device also contains 1KB or 2KB SRAM. An additional 128B secure key storage SRAM is instantly erased when a self-destruct input is triggered.