Flash Memory Manager 101

Flash memory manager choice is one of the most complex and important aspects of a modern embedded system. The primary function of a flash memory manager is to handle some of the problems inherent in flash memory (particularly NAND flash) and present it to the software layer as a simple block device, like a hard disk drive. Often a simple flash memory driver is provided with the operating system software. This included flash memory driver provides basic functionality, but often lacks the performance characteristics and flexibility needed by embedded device manufacturers. These basic drivers provide little over the basic communication with the flash.

Often, the basic flash memory manager is packaged with a file system. For example, a Linux memory manager is bundled within JFFS2, but it lacks the NAND functionality required by many mobile device OEMs. The closest thing to a Linux mobile flash memory manager available in open source is the flash memory manager packaged with YAFFS2. Though YAFFS2 offers improved NAND enablement, performance can still be an issue. Many device manufacturers using Linux are finding it necessary to use a commercial flash memory manager, such as the one provided by Datalight. The charts below show the significant performance benefits offered by the Datalight flash memory manager and file system.

A basic WinMobile flash memory manager called FMD (Flash Media Driver) is included with Microsoft’s premier mobile software platform, and meant to be used with their TFAT file system. This “free” flash memory manager can be easily replaced within the software stack by a commercial flash memory manager and file system such as the one produced by Datalight. Below is a side-by-side comparison showing how the Datalight flash memory manager and file system perform next to the solution included with WinMobile.

As shown in the examples above, the flash memory manager included with the operating system or available “for free” may not be the best solution for your device. For more information about the flash memory manager available from Datalight, visit www.datalight.com/products