Home » Products » Embedded File Systems » Reliance Family FAQ

Reliance Family Frequently Asked Questions

Reliance Family Architecture

The Reliance Family of file systems is made up of exclusively transactional based file systems.

 

Reliance Family Product Matrix

  Reliance  Reliance Nitro
Allocation Scheme
 Linear  Tree-based
 Disk Space Allocation
 Block Based
 Extent Based
 Dynamic Transaction Point Technology
 √ √  + Delta Transactions
 Character Support
 UNICODE  UTF-8
 OEM Defined Attributes
  √ 

 

Q: What is a transactional file system?

A: A transactional file system is one that is architected similarly to the concept of a database. Databases conduct events known as transactions. At predetermined intervals, all changes prior to the previous intervals are committed to disk. These intervals are called as transaction points.

A Transaction Point may be atomic or not. Reliance Transaction Points are atomic, whereas Win/CE TFAT transaction points are NOT atomic.

 

Q: How is a transactional file system different from a journaling file system?

A: Journaling file systems maintain metadata (and sometimes user data) by recording events in a log. In journaling file systems, an event is any single file operation. If power fails, the log is re-read and validated for errors. A transactional file system uses completely different architecture than a journaling file system. The transactional file system works from two meta-roots; the known good state and the working state. In a transactional file system, a “transaction point” is the atomic event where the working state is committed to the disk and becomes the known good state.

 

Q: How does a transactional file system compare to journaling file systems in performance and reliability?

A: Journaling file systems attempt to provide reliability by keeping track of changes in log or journal. If the system is interrupted a review of the journal is required upon restart to attempt to align requested changes with the data actually written on the media. This time consuming process slows mount times, often dramatically. A transactional file system records changes to the media in an atomic fashion: changes are either all completed or never happen at all. This provides an always consistent disk state and allows virtually instantaneous mount times.

Reliance also has the advantage of protecting both file metadata and user data from data corruption due to power loss, making it a more reliable option than a journaling file system. 

 

Q: What is a transaction point?

A transaction point in a Reliance Family file system is the point at which the working state is committed to the disk, becoming the “known good state.” This is an atomic event –it is either fully completed or the disk will remain in the prior known good state.

 

Q: What are Delta Transactions?

A: To mitigate the performance penalty of a transaction point, Reliance Nitro introduces a special data structure known as the Delta-Block. Delta-Block transaction (also referred to as Delta transaction) allows a transaction to occur by only writing a single metadata block that encompasses all the metadata changes since the last transaction. The Delta-Block contains all the updates to the already transacted state of the media. So in essence, the Delta-Block records the difference between committed state and the working state.

 

Dynamic Transaction Point Technology

Q: What is Dynamic Transaction Point technology?

A: Dynamic Transaction Point technology is the ability of Reliance to control when and under what circumstances transaction points occur. It is dynamic in that it responds to system conditions and is not fixed to only a time or event. Datalight coined the term to describe the way Reliance allows developers to write their applications such that they are assured that critical data is committed to the disk (flushed from all caches and non-volatile storage media) at a precise moment.

An important aspect of DTP is that it allows transaction modes to be changed while the device is running, without requiring recompiling or reformatting.

Dynamic Transaction Point Technology Settings

Q: What are the available Dynamic Transaction Point technology settings?

A: Transaction points may be set to event based, timed or application controlled transactions.  Event based transactions would be used in a use case where it is appropriate to transact on an event, such as file close. Timed transactions trigger a transaction after a pre-determined amount of time has passed. Application controlled settings can be enabled to override event based or timed transactions.


Q: Can you run multiple transaction point methods simultaneously? What’s the value in doing that?

A: Yes. Customers can run a device in all three DTP modes simultaneously. This is helpful where a device has multiple applications, each having different needs, for example a handheld scanner that has both a scanning application and a logging application. The scanning application needs automatic transactions while the logging one needs timed.

Reliance Performance


Q: What is a "discard interface" and how does it enable faster writes?

A: Reliance Nitro tells FlashFX Tera when it no longer needs data from areas of the FlashFX Tera "disk" (for example, when a file is deleted). We call this "discarding" data. This makes FlashFX Tera more efficient in that data that is not in use does not need to be copied.

The performance advantage is that sustained write performance with Reliance Nitro will be much better than other file systems which do not have a discard interface. For example, the ext3 file system has no concept of discarding data, so after the entire disk has been written once, FlashFX Tera thinks everything is of equal importance. This makes it much less efficient when it comes time perform a write.

Discard interface only matter when using resident flash and FlashFX Family flash managers. It is of limited use on hard drives, DoC, SD, etc.


Q: What is the overhead of your "metaroots"?

A: Metaroots are one logical block in size. A new one is written for each transaction. The metaroot is what allows a new transaction state to be recognized, and could be considered an extra write beyond what a conventional file system would perform.


Q: How does Reliance Nitro’s tree-based architecture improve performance?


A: The most common metadata architecture is linear allocation. In this method, the file system uses a linear array to store metadata information. This makes the file system simple and works fairly well for a system with a small number of files. The limitations of linear allocation start to show significant impact as the number of files in a system grows. Accessing large number of files through linear traversal of a folder takes a long time, leading to a serious degradation in performance.

Tree-based allocations are a faster way to organize and find files, based on grouping information into addressable chunks, and assigning keys that direct the system where to find them
this needs to be better formatted:
Tree Depth 512 1024 2048
Level 1 15 31 63
Level 2 615 2,604 10,647
Level 3 25,215 218,736 1,799,343
Level 4 1,033,815 18,373,824 304,088,967

For 512 bytes block size:

    * On a linear file system (like TFAT), nodes traversed to access file #25,215 = 25,215/8 = 3,151
    * On a tree-based file system like Reliance Nitro, nodes traversed to access file #25,215 = 3
    * For cases where there are more than 17 files on the device, a tree-based file system will perform better than a linear one (assumes a 512 byte sector).

 For more information see Achieving Breakthrough Performance with Tree-based File Systems


Q: What are extent-based file systems? How do they compare to block-based ones?

A: Block-based file systems allocate space in blocks which correspond directly to the block architecture provided by the underlying block device driver.

Extent-based file systems allocate a set of blocks (called an extent) when writing to a particular file. An extent consists of a data pair: a starting location and the extent length.

Extent based file systems have 2 primary advantages:

   1. Sequential I/O is improved because files are allocated contiguously
   2. Fragmentation is slower


Q: How does Reliance enable fast boot times


A: Reliance has a unique transactional architecture that maintains two file system metaroots (unlike most other file systems which just have one). One metaroot points the known good state of the disk while the other points to the working state. When mounting a Reliance partition, the OS only has to verify which metaroot is pointing to the known good state and load that state. Because of this patented architecture, mounting a Reliance partition is much faster than other file systems.

Mount times significantly affect boot times, even more so if the boot image is stored on the file system itself. Due to fast mount times, Reliance-based devices boot faster than devices using other file systems.

Q: What do you mean by file system mount?

A: Mounting a file system consists of several tasks: accessing a raw storage device, reading the superblock and other file system metadata, and then preparing the file system for access to a volume. A part of this preparation is verifying that the file system is valid. An alternate term for a valid file system is a "clean" or "consistent" file system, meaning that the metadata and the user data are consistent with each other. Full verification of a file system can take a long time, especially if the superblock indicates that the volume is "dirty” -- usually the result of an unexpected power loss.

Un-mounting of a file system involves flushing all in-memory states associated with the volume out to disk. Once all the in-memory data (data in RAM or other non-volatile memory) is written to the volume, the volume is said to be "clean." The last operation of un-mounting is marking the superblock to indicate that a normal shutdown occurred.

 

Reliability

Q: How does the Reliance Family of file systems protect against data corruption? 

A: Reliance Family file systems have a unique transactional architecture where two file system metaroots are maintained (unlike most other file systems which just have one). One metaroot points the known good state of the disk while the other points to the working state. Reliance Family file systems never overwrite live data; they always use free space for disk operations between transaction points. As a result, one state of the disk (known good state) is always reliable, no matter when power failure occurs. Because of this patented design, Reliance family file systems will not allow the typical data corruption caused by software issues on power loss.

Note: Reliance Family file systems do not protect against hardware failures.

Q: How do Reliance Family file systems ensure that live data is never overwritten?

Reliance does not overwrite existing data blocks, allowing the previous state of the file system to remain intact on the storage media during the current write operation.

For example, when Reliance Family file systems overwrite only 3 bytes in 1 block, the file system will reallocate the whole block.


Q: How many power cycle tests have you run on Reliance? (MORE)


A: Our power cycle tests have been running for months without causing any data corruption.  As of September 2011, Reliance Nitro has been interupted over 20,000 times with zero data coruption. 


Q: In the event of a power failure, do blocks that were written to the media between transaction points appear as used blocks to the file system, or will Reliance Family file systems attempt to use them in future operations by treating them as free blocks?


A: If the data is written to the file system between transaction points, and power is lost (and there is no transaction point to commit the data that was written), these areas of the disk will be considered "free" by Reliance Family file systems as well, and they will eventually write to that area of the disk.


Q: If there is an area in which data is not fully written, is the area reused when creating a new file, or is the area not reused until after it's been reformatted?


A: It is reused, because it is not part of the committed state on the disk, therefore it isn't considered valid data by the file system. 


OS/Hardware Support

Q: Do Reliance Family file systems work media other than resident flash?

A: Yes. Reliance Family file systems are designed to be "media agnostic." They work with any device that presents a block device interface and doesn’t make assumptions about what file system is being used.


Q: Do Reliance Family file systems work on SD/MMC, Disk-on-Chip, Hard Drives, Solid State Drives?

A: Yes, Reliance Family file systems will work with any block device.


Q: Do Reliance and FlashFX Family products require a 32-bit processor/RTOS, or can 16-bit work?


A: Our software can be ported to any 32-bit RTOS, and it can be ported to work with 16-bit processor as well. Datalight products do require that the toolset you use for building our code support 32-bit types, and 32-bit math. This requirement applies even if you are porting them to work with 16-bit processors.


Q: Can a device use Reliance Family file systems along with other file systems (like FAT)?


A: Yes; however the embedded operating system needs to provide support for FAT. Reliance Family file systems do not provide FAT support.


Q: Can I exchange data between a Reliance-formatted device and a PC?

A: Reliance Family file systems come with a Windows Driver (Reliance Windows Driver, or RWD and Reliance Nitro Windows Driver, or RNWD) that allows full exchangeability with Microsoft Windows 2000, Windows XP, Windows Vista, and Windows 7 (32-bit) operating systems.

Exchangeability can also be enabled via the device OS, where the data between the device and the PC is transferred over a file-system agnostic protocol (MTP, for example). This allows Reliance Family file systems to be exchangeable with any desktop OS (Mac, Linux, etc).



Implementation 

Q: What is the footprint of Reliance Family file systems?

A: The memory footprint varies depending on the way Reliance Family file systems are built and which components of the file system are enabled. The code size will also vary depending on the target CPU. The best way for you to know the memory footprint is to contact Datalight Sales and ask for an evaluation copy of Reliance Family products.

 

Q: How large of a volume can I support with Reliance Nitro? What is the max file size?

A: The following chart shows the maximum volume size for Reliance Nitro for various block sizes.
Nitro Block Size Max Volume Size:
512 bytes 2 TB
1k 4 TB
2k 8TB
4k 16 TB
8k 32TB

Maximum file size is equal to the total amount of free space in the volume.

Q: What is the maximum path length supported by Reliance Family file systems?

A: 1024


Q: Can I use Reliance Nitro as root file system on Linux?

Absolutely! While the Reliance file system was not capable of this, Reliance Nitro added system attributes to enable this feature.

See our whitepaper on this topic: Bootstrapping Linux from NAND Flash

Q: How do I boot using Reliance Family file systems?

A: Included in the Reliance Family SDK’s is a utility called Datalight Loader which can be used with your bootloader to load boot images stored on any Reliance Family file system partition.

 

Miscellaneous

Q: What does the product cost? Is it available without royalties?

A: Datalight offers a variety of pricing models to fit within our customers’ preferred purchasing methods. Royalty-free, per unit, and annual lease options are available. Please contact your Datalight representative for a specific price quote for your project.

Q: Is Datalight ISO 9001:2000 certified?

A: Datalight products undergo rigorous engineering unit testing and independent quality assurance in accordance to our documented software development life cycle process and procedures. While we are confident that our methodology and results reflect best practices of our industry, Datalight has decided to invest in further enhancement of our products rather than the infrastructure required to obtain and maintain ISO certification. If ISO 9001:2000 certification became a requirement for a critical mass of customers in the future, Datalight is confident that certification can be achieved.

NEWS