Home » Solutions » Operating Systems » Linux » Linux UBIFS Alternatives
Datalight’s FlashFX® Tera flash manager and Reliance NitroTM file system can be used separately or combined as a complete flash file system solution to replace UBIFS. We provide unmatched reliability and better all-around performance over UBIFS. With Datalight’s unrivaled professional support team and support for all major operating systems, as well as hundreds of hardware platforms and flash technologies, OEMs are able to bring their devices to market faster and provide a better user experience for their customers.
Device reliability is multi-faceted; implications include everything from device corruption to a less than optimal user experience, creating real-world problems ranging from warranty returns to general annoyance, the enemy of customer loyalty. Because Reliance Nitro is a transactional file system, live data is never overwritten, making the system completely fault tolerant, even after an uncontrolled system shutdown caused by power loss or component failure. True transactional architecture ensures rock-solid data reliability while providing the performance needed to create an optimal user experience. Reliance Nitro works with Linux or virtually any other 32-bit operating system, improving the speed of file and directory access 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. With Dynamic Transaction PointTM technology, developers have ultimate control over file system behavior.
Linux features a cache-centric I/O architecture that, with proper support in the file system, leverages available RAM to avoid doing actual I/O on the storage media. Measured performance in excess of the speed of the media indicates that some or all of the data is being cached.
While optimal use of the Linux cache is valuable in terms of performance; cache utilization and its risks must be considered for the individual use case. Using the cache is RAM-intensive, meaning it can add BOM (bill of materials) cost in the form of extra memory, as well as adding to power consumption. Cached data also adds a reliability risk; when data is cached, it is not flushed to the media and is vulnerable in the event of power loss. Reliance Nitro can dynamically mitigate this risk with transaction points.
The Datalight flash file system consisting of Reliance Nitro and FlashFX Tera outperforms UBIFS on throughput, offering faster reads and writes, including 60% better performance than UBIFS on reads.
Raw Flash Support
Datalight Reliance Nitro evolved from the original Reliance file system, which was designed from the ground up to work with flash media on embedded devices. At its lowest level, the flash media manager doesn't have awareness of file system structures, and therefore performs operations such as wear leveling on any sector that contains data. The Reliance Nitro file system family employs a discard Interface to notify the flash media that particular blocks of data are no longer in use by the file system.
Flash media has a finite number of program-erase cycles. As a given erase block reaches this limit, the block will usually be retired from active use. Datalight FlashFX Tera performs wear leveling on both static and dynamic data beginning from initial format. UBIFS does not begin wear leveling until after 4096 erase cycles, resulting in uneven wear of the flash and potentially premature bad blocks.
ECCs and Bad Blocks
When writing to NAND flash, manufacturer specifications must be closely followed to avoid causing data loss to other portions of the flash. Some examples of this data loss are Read Disturb, Program Disturb and Paired Pages. Datalight works closely with Flash manufacturers to ensure all specifications are followed.
As NAND flash memory densities increase, the requirements for Error Correcting Codes must increase appropriately. Both Datalight FlashFX Tera and UBIFS handle these codes through an external memory controller.
Developer Control over Data at Risk
Every file system must balance the tradeoff between data-at-risk and maximum data throughput. Only the Dynamic Transaction Point technology found in Reliance Nitro gives device manufacturers total control to find the ideal balance for any use case. This capability makes field upgrades fail-safe, for example, as these applications must update several files in an atomic fashion. If a power interruption were to occur before the update is complete, the application may not recover. With Reliance Nitro’s run-time configurable transaction points in this is easily accommodated, where UBIFS and other journaling file systems fall short.
Storage Media Choice
Datalight products were designed to be “future-proof,” giving OEMs the flexibility to second source flash parts and upgrade to the latest technology whenever requirements change, extending the life of their designs. At its most basic level, FlashFX Tera is a universal raw flash driver, allowing flash part substitutions in end-of-life or supply chain situations without expensive and time consuming redesign. In addition, Reliance Nitro’s universal support for any block device allows manufacturers to easily change from raw to managed NAND.
Datalight is known throughout the embedded industry for providing world class support. Our technical support team has a strong commitment to making our customers’ devices work reliably, from testing to implementation. Our hard-earned reputation for great customer service means that Datalight regularly goes above and beyond to ensure your project will perform flawlessly, now and for years to come.
Many Datalight customers initially choose Datalight software for reliability, performance, and flash part interchangeability. They remain customers for our software and because of Datalight’s responsive and dedicated support team and corporate commitment partner with customers to help them develop successful products.
Support for UBIFS is provided via Linux forum. In one recent example, a developer asked "Shall I expect better support for MLC NAND flash in the latest UBIFS code?" The answer given was "Not as far as I know, because I have not heard if anyone is working on this. But you could do that and contribute." http://permalink.gmane.org/gmane.linux.drivers.mtd/29431
||Reliance Nitro + FlashFX Tera
||UBIFS only supports raw SLC NAND, Datalight Reliance Nitro and FlashFX Tera allow exchangeability between existing raw SLC or MLC flash technologies and easy upgrades to new flash technologies such as EZ-NAND and eMMC.
| Works with NOR, SLC NAND
| Works with MLC NAND flash
||UBIFS notes this "needs work"
|Mount time growth with more flash
||Tera reads less at mount time; Quickmount strategy reads even less
|Marks Blocks bad via ECC strategy
Scrubbing and Bad Blocks fully configurable
|Wear Leveling - Virtual block provided
|| Erase Block
||Tera levels static and dynamic FS data
|Wear Leveling starts after how many erases
||4096 Erase Cycles
||1st Erase Cycle
||Tera wear levels from initial format
|File sytem Metadata is Tree Based
||File system metadata is tree based
|File System Data written in Extents
||File system data is written in extents maximizing metadata handling performance.