Reliance Frequently Asked Questions

Reliance Architecture

Q: What is a transactional file system? What is a transaction point?
Q: What is Dynamic Transaction Point technology?
Q: Why is a transactional file system better than journaling?
Q: What is the footprint of Reliance?
Q: Do Reliance & FlashFX Pro require a 32-bit processor/RTOS or can 16-bit work?

 

Reliance Value Proposition

Q: How does Reliance enable fast boot times?
Q: How does Reliance guarantee 100% reliability against data corruption?
Q: Does Reliance work on other media than resident flash?
Q: Does Reliance work on SD/MMC, Disk-on-Chip, Hard Drives, Solid State Drives? 
Q: Can a device use Reliance along with other file systems (like FAT)?
Q: Can I exchange data between a Reliance-formatted device and a PC?

 


Reliance Performance

Q: What is a “discard interface” and how does it enable faster writes?
Q: For what scenarios do I use the different transaction methods?
Q: What is the overhead of your “metaroots”?
Q: How many sectors are written during a transaction point?
Q: How much performance overhead does a transaction point add?
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 attempt to use them in future operations, and treat them as free blocks?
Q: If there is an area in which data is not fully finished writing is the area reused when creating a new file or is the area not reused until after it's been reformatted?

 


Miscellaneous

Q: How do I boot using Reliance?
Q: What does the product cost? Is it available without royalties?
Q: Can I use Reliance as root file system on Linux?
Q: Is Datalight ISO 9001:2000 certified?

 

Reliance Frequently Offered Answers


Reliance Architecture

Q: What is a transactional file system? What is a transaction point?

A: A transactional file system is one that is architected on the concepts of a database. Databases conduct events known as transactions. At determined 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, but Win/CE TFAT transaction points are NOT atomic.

 

Q: What is Dynamic Transaction Point technology?

A: DTP 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 term to describe the way that 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.

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

 

Q: Why is a transactional file system better than journaling?

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. 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 journaling file systems.

 

Q: What is the footprint of Reliance?

A: The memory footprint varies depending on the way Reliance is built and which components of Reliance 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 evaluate Reliance.

 

Q: Do Reliance & FlashFX Pro require a 32-bit processor/RTOS or can 16-bit work?A: We do say in our Datasheets that our software can be ported to "any 32-bit RTOS", however it actually can be ported to work with 16-bit processors as well. Reliance and FlashFX 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 to work with 16-bit processors.

 

Reliance Value Proposition


Q: How does Reliance enable fast boot times?

A: Reliance has a unique transactional architecture where it maintains two file system metaroots (unlike most other file systems which just have one). One metaroot points a known good state of the disk while the other points to working state. When mounting a Reliance partition, the OS just 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, more so if the boot image is stored on the file system. Due to fast mount times, Reliance-based devices boot faster than similar devices with other file systems.

 

Q: How does Reliance guarantee 100% reliability against data corruption?
A: Reliance has a unique transactional architecture where it maintains two file system metaroots (unlike most other file systems which just have one). One metaroot points a known good state of the disk while the other points to working state. Reliance never overwrites live data; it always uses 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 guarantees 100% reliability against data corruption due software issues on power loss.
Note that Reliance does not protect against hardware failures.

 

Q: Does Reliance work on other media than resident flash?

A: Yes. Reliance is designed to be “media agnostic”. It works with any device that can present a block device interface and not make assumptions about what file system is in use.

 

Q: Does Reliance work on SD/MMC, Disk-on-Chip, Hard Drives, Solid State Drives?

A: Yes

 

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

A: Yes. The embedded OS does need to provide support for FAT. Reliance itself does not provide FAT support.

 

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

A: Reliance comes with Reliance Windows Driver (RWD) that allows full exchangeability with Microsoft Windows 2000 and Windows XP operating system. Windows Vista support is expected in Q3 2008.
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 e.g.). This allows Reliance to be exchangeable with any desktop OS (Mac, Linux, etc).


Reliance Performance

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

A: Reliance tells FlashFX when it no longer needs data from areas of the FlashFX "disk" (for example, when a file is deleted). We call this "discarding" data. This makes FlashFX Pro more efficient in that data that is not in use does not need to be copied around.
The big performance difference this enables is that sustained write performance with Reliance will be much better than other file systems which do not have a discard interface. For e.g. the ext3 file system has no concept of discarding data, so after the entire disk has been written once, FlashFX thinks everything is precious. This makes it much less efficient when it is time to write.
Discard interface only matter when using resident flash and FFXP. It is of not much 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 metaroots 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 many sectors are written during a transaction point?

A: This varies depending on how many blocks are marked as being modified in the internal buffers.  This number depends on what has changed since the last transaction point.  The minimum would probably be around 3 blocks.  A reasonable average is around 5-7 blocks.

 

Q: How much performance overhead does a transaction point add?

A: That depends on the media, processor speed and amount of data being written.

 

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 attempt to use them in future operations, and treat them as free blocks?

A: If the data is written to the file system between transaction points, and the 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 as well, and we will eventually write to that area of the disk.

 

Q: If there is an area in which data is not fully finished writing 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 - and isn't considered valid data to the file system.

 

Miscellaneous

Q: How do I boot using Reliance?

Reliance provides a utility called Datalight Loader which has Reliance Reader. Datalight Loader can be used with your bootloader to load boot images stored on Reliance partitions.

 

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: Can I use Reliance as root file system on Linux?

A: No. In our first release, Reliance has to be used with a native Linux file system. This does not introduce any additional overhead and is very easy to implement and maintain.
Linux Booting whitepaper is in progress and will be available shortly.

 

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 would be achieved.