liteFS-NOR™ Embedded NOR Flash File System
liteFS-NOR is a $5K NOR flash file system bundle consisting of
TargetXFS™ and TargetFTL-NOR™ with the following special license conditions:
- May be used in a single end product only.
- Customer must accept the liteFS-NOR license agreement without
modifications.
- Presale evaluation is done using pre-built libraries on Blunk’s
instruction set simulator.
- Distribution is limited to 10,000 units. $5K upgrade removes this
limitation.
- Source code use limited to one site or three developers, whichever is least restrictive.
- Customer must pass a credit check by Blunk.
Because liteFS-NOR consists of TargetXFS and TargetFTL-NOR, it is a
state-of-the-art best-in-class NOR flash file system with the following
features:
A reliable, high performance, re-entrant UNIX-like embedded file system with a full POSIX and Standard C compliant application program interface. Use of NOR flash for the backing store is invisible to the application layer.
Guaranteed file system integrity across unexpected shutdowns. Only data written since the last synchronizing operation can be lost. Closed files, directory structures, and files open for reading are never at risk. An unexpected power loss rolls the volume back to its state at the most recent synchronization, except for any user data that has been overwritten.
For fully atomic updates, liteFS-NOR can be configured to write modified user data to new logical sectors, so that in between explicit synchronizations, groups of file system updates are atomic. If power is lost prior to completion, the exact volume state at the previous synchronization is restored.
Implements program-erase wear-leveling to prevent early device failure. Erase cycles are spread evenly across all erasable blocks. The wear count is maintained from the first time a flash volume is formatted. The current wear count and other statistics are provided by vstat().
Performs read-wear leveling to avoid the bit errors that can result from repetitively reading the same flash location. When a read-count threshold is reached, the affected data is copied to a new location, refreshing its voltage margins.
Supports background garbage collection, to reclaim dirty flash sectors during idle periods or by a low priority task. Otherwise, block erasures are performed just-in-time.
Supports the POSIX “self”, “group”, and “others” file access protections, allowing applications to restrict some access to privileged tasks.
Caches both user data and file system metadata for a configurable fixed RAM footprint that performs well with all volume sizes, up to and including Terabytes.
Optional task-based buffering provides constant streaming rates in spite of intermittent halts in device throughput due to program or erase delays, by either reading-ahead or writing-behind. Enabled by an open() flag, this buffering is otherwise transparent to the application.
Supports all parallel and serial NOR flash types including Single Level Cell (SLC), Multi-Level Cell (MLC), ‘Write Once’ NOR flash, and other variants.
Other features: Per-task Current Working Directory support. Use with an RTOS or in polled mode. Sample applications and a driver test application. >= 242 character file names. Includes full 100% Standard C source code and one-year of technical support.
