Reliance Nitro - Embedded File System

High Performance File System for Embedded devices

Datalight Reliance NitroTM is a transactional file system created specifically for embedded devices where power loss may occur, protecting critical system and user data from corruption. It ensures rock-solid data reliability while providing the performance needed to create an optimal user experience. Reliance Nitro works with a broad array of storage media – including flash memory, RAM, hard disk, USB mass storage, SD/MMC, and e•MMC – and virtually any 32-bit operating system. The speed of file and directory access is improved by several orders of magnitude while maintaining complete metadata and file data integrity. The unique combination of tree-based directory architecture, extent based design, and faster atomic transactions, gives a performance benefit for I/O throughput and metadata operations. Dynamic Transaction PointTM technology gives developers unprecedented control over the file system. Reliance Nitro is optimized for use on consumer electronics and industrial devices like smart phones, navigation devices, and ruggedized handheld computers that cannot compromise reliability or performance to deliver a compelling user experience. Reliance Nitro file system is an ideal upgrade from Linux file systems, VxWorks file systems, and Windows Embedded CE file systems

Introducing Reliance Nitro 3.0

How Reliance Nitro Works

Datalight Reliance™ Nitro is a two state file system, comprised of the working state and the committed state. Original data (the committed state) is preserved until the new data (the working state) is written and a transaction point is performed. During operation on the working state, all file system modifications - including changes to directories, files and metadata - are stored on an area of the media that is currently unused and does not contain committed state data. The possibility of corruption is eliminated because the data of the new transaction is written to an unused portion of the media. Writing to an unused portion of the media allows the previous state of the file system to be untouched. Valid data from the previous transaction is always available.

 

 

     

    Performance

    When testing a file system for performance, it is important to consider data beyond just reads and writes.

    Because Reliance Nitro always maintains a “known good state,” it has a mount time advantage particularly after power loss. In situations where there is random I/O penalty such as in Hard Disk Drives and e•MMC this advantage is magnified. Journaling file systems such as ext3 and ext4 will need to perform random reads to build the journal. Since Reliance Nitro always keeps the disk in a known good state there is no need to run integrity checks during the file system boot, even after a disorderly shutdown.

     

    Nitro Mount Chart

     

    Reliance Nitro demonstrates superior file system metadata handling. When reading and writing smaller files, this file system overhead is far more important than the raw throughput available. In the test below, run on a TI OMAP 3530 Reliance Nitro created 1000 files in 22 seconds, compared to almost five minutes for the native file system solution.

     

     

    Disk Mount Time Comparison

    Tree-Based Metadata Management

    How Tree-based Metadata Management Works

    Trees are used for varying purposes in Reliance Nitro:

     

    1. Directory Tree: The purpose of the directory tree is to associate a name with a unique file number within a parent directory. This association is implemented via a tree structure.
    2. Allocation Tree: The purpose of the allocation tree is to associate allocated blocks with a file as well as to store information about the file itself.

     

    Tree RootNode

    Initially, each tree begins with a leaf node known as the RootNode. Once each leaf node becomes full, an intermediate node is added. Intermediate nodes can point to multiple leaf or intermediate

    Disk Mount Time

    tree-based architecture diagram

    Leaf Node
    Leaf nodes are where the data associated with a key is actually stored.

     

    Intermediate Node
    Intermediate nodes provide a method for the tree to grow dynamically. The data associated with intermediate node keys contain a logical block number for a leaf node or intermediate node:

     

    Block Size in Bytes 

    512

    1024

    2048

    Keys per Intermediate node

    41

    81

    169

    Keys per leaf node

    17

    35

    72

    Tree Depth Number of Keys

    Level 1

    17

    35

    72

    Level 2

    697

    2,940

    12,168

    Level 3

    28,577

    249,960

    2,056,392

    Level 4

    1,171,657

    20,744,640

    347,530,248

     

    Advantages of a tree-based design

    • For 512 bytes block size:
        On a linear file system (like TFAT), nodes traversed to access file #28,577 = 28577/8 = 3573
        On a tree-based file system like Reliance Nitro, nodes traversed to access file #28,577 = 3
    • For all cases where there are more than 17 files on the device, a tree-based file system will perform better than a linear one

    Features and Benefits

    Feature

    Benefit

    Dynamic Transaction Point technology - Customize the balance between performance and data at risk. All writes are atomic.

    Take Control of Device Reliability
    Eliminate data corruption without sacrificing performance

    No CHKDISK utility necessary, even after unexpected power loss.

    Fast Boot Time
    Reliance boots in under one second

    eMMC Support for advanced features like secure delete 

    Securely Delete a File
    Utilize features in eMMC to gain competitive advantage

    Multi-threaded architecture reduces latency between multiple file access requests.  

    Uninterrupted Media Playback
    High-quality multi-media experience

    performance-enhancing discard interface is provided for NAND and NOR; other block device drivers are supported (incl. RAM, DOC, SD/MMC, USB).
    Full ANSI C source code is available  

    Design Flexibility
    Freedom of hardware choice

    Best in class, highly responsive technical support
    SDKs available for Linux,  VxWorks, Windows CE and Windows Mobile
    RTOS Porting (with POSIX-like functions) for any 32-bit RTOS, including proprietary operating systems. 

     

    Faster Time to Market
    Save development costs

     

    Reliance-formatted media can be accessed from a Windows desktop system when the Reliance Nitro Windows Driver is installed

    Data Exchangeability
    Allows for seamless data exchange between the device and the host PC

    CRC32 for file data and metadata Continuous monitoring of data integrity for ultimate reliability

     

    Product Specifications

    Datalight Reliance Nitro™ with Dynamic Transaction PointTM technology is a multi-threaded, fault-tolerant embedded file system, offering control of the performance and data at risk balance. Reliance Nitro embedded file system integrates easily into your system without application modifications. Its unique application-controlled transaction points lets Reliance Nitro users achieve ultimate reliability and performance, responsive to every nuance of your unique use cases. Unlike default solutions, such as FAT-based file systems which are built on the faulty foundation of 1980’s desktop file systems, Datalight Reliance Nitro has been specifically designed for flawless operation on the full range of modern storage technologies, including flash memory.

     

    Pre-ported SDKs
    Drop in file system replacement for Linux, VxWorks, WindowsCE, Windows Mobile

     

    Target Configuration
    32-bit OS, any CPU, virtually any storage media, 70 KB RAM (typical)

     

    Development System
    Windows 32 host; 4 MB of disk space for Reliance; sufficient RAM for development tools

     

    Supported Media
    Flash memory, RAM, HDD, Disk-On-Chip, USB Mass Storage, SD/MMC, and eMMC RAM Memory Required 100 KB to 150 KB (nominal)

     

    Media Volume Size
    Each partition (or disk) can be scaled from 100 KB to 32 TB (terabytes)

     

    Max File Size/Name Length
    Available free space/1,024 UTF-8 bytes (or OS imposed limits)

     

    Get the Reliance Nitro Datasheet

     

    Getting Started

    Evaluate
    Contact Sales