Some users of Windows Mobile 5 are reporting “erratic behavior” during which their devices spontaneously slow down and speed up, according to a lengthy thread on the Windows Mobile Team blog. Concerns appear greatest among users who have upgraded their devices from Windows Mobile 2003 to Windows Mobile 5.
Writing on the Windows Mobile Team Blog, Microsofts Mike Calligaro explains that the problem comes about because Windows Mobile 5 stores “persistent storage” data in flash ROM, rather than in battery-backed RAM. The advantage of flash-based persistent storage is that data survives a complete power failure, he notes. The disadvantage, on the other hand, is that flash must be erased before it is written, and can only be erased a full block at a time; and, with NOR flash, erasing a block can take up to two seconds, according to Calligaro.
Windows Mobile 5s filesystem has a “compaction thread” whose job it is to scan the flash and erase any blocks that have been marked as unused, making them available for writing, Calligaro explains. This normally happens when the device is idle. But, if the device is writing a lot of data, the system sometimes can run out of erased blocks. Then, the filesystem must take over the CPU, to enable the compaction thread to erase one or more blocks. During these operations, the device can become unresponsive because nothing can be read from or written to flash while the erase operation is in progress, according to Calligaro.