TargetFFS-NAND is a flash file system that provides an API consisting of the file-related calls from POSIX and C. Like hard disk-based systems, it supports dynamic creation and deletion of files, directories, and links with full read and write capability. The fact that flash memory is used for the backing store is hidden from the application.
TargetFFS NAND features wear leveling to prevent premature device failure, and it spreads erase cycles evenly across all erasable blocks. Bad block detection and recovery are performed automatically, without user intervention. An error correction code protects data integrity in the event of NAND bit errors.
As opposed to a FAT file system placed over a flash translation layer, TargetFFS-NAND is a monolithic flash file system, which, the company claims, guarantees recovery from power failure because only data written since the last synchronizing operation can be lost. Closed files, directory structures, and files open for reading are not at risk.
TargetFFS-NAND's device driver interface is not much more than the basic NAND device commands: read page, write page, and erase block. A sample driver is provided and can be ported to custom interfaces. Drivers may use either the software ECC routines provided by TargetFFS-NAND or hardware implementations if present.
Flash volumes are unlimited in size and multiple volumes may be used concurrently. TargetFFS-NAND process access protection for files and directories at the “self,” “group,” and “other” levels, supporting applications that allow file manipulation by nave or potentially malicious users.
TargetFFS-NAND is available now, including source code, for $15,000 on a royalty-free, site-based license.
San Jose, CA