Home $5K RTOS Bundle The Blunk Difference Contact Us Downloads

Bootrom Flash File System


Blunk Microsystems’ Boot File System, TargetBFS, is a high-performance flash file system with a minimal ROM and RAM footprint that includes the following features:

  • Intended for boot loader use, TargetBFS volumes can share the same flash device as TargetXFS volumes and be accessed by both boot loader and application code.

  • Simplified application interface for bootrom applications. Supports dynamic creation and deletion of files, with full read and write capability, and seeking within files.

  • New files do not persist unless written and closed, meaning all files found at start-up must have been opened, written, and closed successfully, and therefore have valid contents.

  • Supports ‘update’ open mode which guarantees that if a reset occurs before the file is written and closed, the file has its original contents at the next start up. The new contents replace the old only if the close call completes successfully.

  • Guaranteed file system integrity across unexpected shutdowns. Only data written to an open file can be lost. Closed files and files open for reading are never at risk.

  • Extremely fast volume initialization/mount time.

  • TargetBFS’s advantages come with these restrictions:

    • Directory hierarchies are unsupported. All files share a single directory.
    • Only one file may be open at a time.
    • Zero-length files are not allowed. They are automatically deleted.
    • The maximum number of files is set at compile-time.
    • File memory allocations are done in units of whole erasable flash blocks.

  • Reduces metadata size by allocating flash memory via extents (block number and run length). Files normally use few extents, but repetitive ‘perverse’ sequences of file creation and deletion can grow them. TargetBFS monitors extent list size and performs just-in-time defragmentation as needed.

  • Flash memory use moves sequentially through the flash address range as writes occur, performing static program-erase wear leveling. No data is re-written to the same location until after all other flash blocks have been used.

  • Supports read-wear leveling to prevent data errors due to repetitively reading the same file. When the read limit is reached, the file can be copied to another location, renewing the voltage margins of its data stored in flash cells.

  • Recovers dirty flash blocks using just-in-time garbage collection.

  • Supports all NAND and NOR flash device types: single level cell (SLC), multi-level cell (MLC), SPI, and vender-specific derivatives.

  • Simple driver layer. Includes sample drivers and a test program for detecting driver software and hardware errors. I/O errors during operation are gracefully reported to the application.

  • Source code is 100% ANSI C and has been tested using PC-lint and multiple ANSI C compilers.

  • Developed using TargetOS™, Blunk Microsystems' full-featured royalty-free real time operating system (RTOS). Easily ported to other operating systems or used in polled mode, without a kernel.

  • Royalty-free license. Includes source code, manual, sample applications, and one year of technical support. Electronic delivery via FTP account.