Flash Memory and EEPROM
The EM2000 has three kinds of non-volatile memory onboard:
- 1MB program flash. TiOS occupies 256KB in the program flash memory. The remaining 768KB can be used to store your compiled application binary and permanent (unchangeable) data.
- 1MB flash disk that houses the hardened, fault-tolerant file system. The entire disk can be used by your application to store necessary data. The disk is under the control of the fd. object.
- 2KB EEPROM. The EEPROM is almost fully available to your application, save for a small 28-byte area called the "special configuration area." The EEPROM is accessed through the stor. object. Details on the special configuration area are provided in the EM2000 platform documentation.
On the advice of one of our customers, we would like to remind you that, like all other EEPROMs on the market, the EEPROM ICs used in Tibbo devices allow for a limited number of write cycles. As the Wikipedia article on the subject states, the EEPROM "... has a limited life for erasing and reprogramming, now reaching a million operations in modern EEPROMs. In an EEPROM that is frequently reprogrammed while the computer is in use, the life of the EEPROM is an important design consideration."
If you plan to use the stor. object, please carefully consider if the intended mode of EEPROM use will allow the EEPROM to work reliably throughout the entire projected life of your product. For more information, see Prolonging and Estimating EEPROM Life.
Like all other flash memory devices on the market, flash ICs used in Tibbo products only allow for a limited number of write cycles. As the Wikipedia article on the subject explains, modern flash ICs still suffer from comparatively low write endurance. In Tibbo devices, this endurance is about 100,000 write cycles per sector. When you are using the flash memory for file storage, the fd. object employs sector wear leveling to maximize the life of the flash IC — but the life remains limited. If your application employs direct sector access, you need to plan the application around the flash memory's life limitations. For data that changes often, consider using the EEPROM instead. EEPROMs have much better endurance.