| Q: How many write/erase cycles can I perform on the flash disk?
The Intel StrataFlash used in ADS systems is rated for 100,000 erase cycles per block.
The "Flash FX Disk" file system driver used on Windows CE systems rotates through all available flash memory when writing files ("load leveling"), so all available flash wears evenly. The driver uses some of the available flash to manage the file system and load-leveling functions.
Flash blocks are 128 kiB in size, and the file system cluster size is 1024 bytes. With this information, you can compute how long the flash memory will be expected to last.
E.g.: An application wants to write a 29.2 kiB block of data to the flash disk once every minute. If the flash disk occupies 12 MiB of the flash disk, how long can the flash be expected to work reliably?
You would calculate as follows: The file will take 30 kiB of disk space, which means that you will be able to write about 4.25 such files in every block of flash (128/30=4.266). Assuming 90% storage efficiency of the flash disk driver, there are about 86 blocks of flash available for the data (90%*12MiB/128kiB=86.4), so you can reliably perform about 36.5 million copies of the data (4.25 x 86 x 100,000).
This would allow the data to be updated every thirty seconds for about 35 years.
Note: Make sure to take into account any reductions in flash memory that will occur from file growth on the flash disk. For longest service life of the flash memory, limit files from growing beyond a predetermined size.
ADS Knowledge Base
Edited by akidder 22-Aug-2003: Make consistent use of "B" abbreviation for bytes; use MiB and kiB where appropriate; clarify that 4 MiB refers to flash disk size, not application size.
Change data size from 14.5 to 29.2 kiB, flash disk size to 12 MiB to more closely match current disk sizes, reduce time from 60 to 30 seconds and add reduction of flash disk size for disk management overhead.