A microcontroller has a nonvolatile memory that originally stores program code and has free space. When part of the program code needs to be modified, that part is disabled, and modified program code is stored in the free space. The modified program code is executed in place of the disabled program code....http://www.google.es/patents/US6817015?utm_source=gb-gplus-sharePatente US6817015 - Microcontroller with modifiable program