1.5   TrueFFS is a Layered Product

As shown in Figure 1-1, every configuration of TrueFFS consists of three layers, the translation layer, the MTD layer, and the socket layer.

The translation layer handles the high-level interaction between TrueFFS and dosFs. This layer also contains all the intelligence needed to handle mapping the flash into blocks, wear-leveling, garbage collection, and data integrity. Currently, there are three different translation layer modules to choose from. Which you use depends on whether the flash medium uses a NOR-based, a NAND-based, or an SSFDC-based technology.

The socket layer provides the interface between TrueFFS and the board hardware. The name derives from the physical socket into which users would plug flash cards. Now that flash memory has been used to implement "disk on chip" devices, the name is somewhat outdated, but it persists. Currently, WRS supplies socket layer code for a variety of BSPs. If you want to use TrueFFS with a BSP that does not currently support TrueFFS, you must port the socket layer. For more information, see 3. Writing Socket Component Drivers and MTDs.

The third layer of TrueFFS consists of standard Memory Technology Drivers (MTDs). TrueFFS already includes MTDs for the flash devices from Intel, AMD, and Samsung. As new devices requiring new MTDs are developed, you can use a standard interface to add these MTDs as plug-in drivers.

When configuring TrueFFS for use under VxWorks, you must include at least one software module for each layer. For more information on configuring TrueFFS for use with VxWorks, see 2. Getting Started.