Linux

On Utilizing U-Boot in Embedded Designs

U-Boot is becoming the defacto standard among embedded bootloaders, from Embedded Linux to VxWorks 7 and even small solutions such as FreeRTOS. How can proprietary software work in this GPL environment? How does a device boot from NAND using U-Boot? This blog post focuses on these answers and more.

Journey to the Center of the Media

At Datalight, we frequently find ourselves helping customers on what we call 'rescue missions' – when a device is failing in the field and the design team is under pressure to quickly resolve a data corruption or data loss issue. Many times, the failure happens because data didn't get to the media, usually because a cache or other performance optimization has delayed those slow flash writes. In our recent presentation, we examined reliability on Linux with a focus on when the data is on the media.

Linux kernel 4.17 is great for embedded designs

Last weekend, Linux kernel 4.17 was released, disappointing a few pundits who thought it should be kernel 5.0. Here are some of the exciting features in this release, and confirmation of something Datalight has always said.

Supporting a wide range of kernel versions

The Linux environment is full featured and modern, with updated kernels being released far more frequently than comparable environments such as Wind River’s VxWorks or Microsoft’s Windows Embedded. Among factors driving the choice of those kernels for an embedded design are features, flexibility, and kernel requirements among chosen software and hardware drivers.

Datalight's History with Discards

While working on a recent whitepaper, I dug up Datalight history for more info about discards. I’ve been with the company for over 16 years, and our work with discards predates not only my time on the job, but any other mention of discards for flash media.

Behind the Numbers: Using Sourcery Analyzer to Decipher Performance Bottlenecks

We’ve been fortunate to work closely with the Mentor Embedded Linux team and Raima as we’ve developed our upcoming joint webinar, “Don't Let Unreliable Data Storage Derail your IIoT Strategy.” I’ve already discussed on this blog the impetus behind the paper that spawned it: “Optimizing Your IIoT Storage Stack.” We know that Reliance Nitro configurability can allow applications to find the balance between minimizing data at risk and write performance. Simple changes to Raima’s RDM database showed huge performance gains in our testing.

Which Linux Flash File System is Best for Your Device?

Raw flash memory, that is, memory that isn’t part of a package (like SD, eMMC, SSD, and the like) requires software to manage it. On Linux, this software is the Memory Technology Device (MTD) layer, with a flash file system above that to handle wear-leveling, bad block management, and all regular file system duties. There are several options for Linux, but some of them present advantages.

Do You Know How Wear-Leveling Extends Flash Lifetime?

Embedded devices are used for many different purposes, in many different industries, and the expectations for lifetime range vastly between them. Small consumer products, such as wrist-mounted fitness monitors have lifetimes of only a few years as new versions will take their place shortly, whereas embedded devices in cars and energy meters may be expected to last upwards of 30 years. NAND flash wears out over time and will eventually fail. How can you extend the life of your NAND-based devices?

Explaining OverlayFS – What it Does and How it Works

Union file systems are a creative solution to allow a virtual merge of multiple folders, while keeping their actual contents separate. The Overlay file system (OverlayFS) is one example of these, though it is more of a mounting mechanism than a file system. Brought into the Linux kernel mainline with version 3.18, OverlayFS allows you to overlay the contents (both files and directories) of one directory onto another. The source directories can be on different volumes and can even be different file systems, which creates an interesting mechanism for allowing temporary modification of read-only files and folders.

Reliance Nitro Transaction Explorer

One of the key differentiators for Datalight's Reliance Nitro file system is the runtime flexibility. Not only does this file system provide more reliability options than any other file system on the market, they can all be changed on the fly through a simple API. To demonstrate just how easy this was, we created an intern project to do just that.

Flash Friendly File Systems

Earlier this year I had an opportunity to speak at Embedded World 2014 on the topic of Flash Friendly File Systems. Flash media is growing by leaps and bounds, and the chosen file system is a key component. For this paper, I drew on both my own development and support experience at Datalight and the experience of our staf

Study: Impact of File Systems on Solid State Storage Life Expectancy

In 1965, Gordon Moore predicted that transistor density would double every two years or so. For the most part, this observation has held true for 50 years and has become well known as "Moore's Law." This characteristic is a fundamental driving force behind the technological advances which have led to computers continually becoming faster, smaller, cheaper, and more reliable. Almost every aspect of technology has benefited from this characteristic - almost. Solid state memory is one area where there is a major dichotomy. Moore's Law has resulted in smaller and cheaper storage, yet the driving need for more storage capacity has driven manufacturers to sacrifice reliability and in some cases performance.

The purpose for this paper is to discuss the characteristics of solid state memory, specifically as they relate to media life (endurance) and performance. It will show how alternative file systems and file system configurations can significantly improve both media life and performance…


Is the Linux MTD good enough for MLC NAND flash?

On Linux, the Memory Technology Device (MTD) subsystem is designed to be a generic interface to memory devices, primarily Flash media. The integrated hardware driver handles the storage formats used on the media, and then MTD provides simple routines for block read, write and erase. MTD does not contain any bad block handling or wear leveling routines, so the use of MTD alone is not recommended on NAND flash media. Instead, developers are asked to use a full Flash File System on Linux, such as YAFFS, JFFS2 and UBIFS.

When Not Using a Database, You Are Still Using a Database

Recently, we've focused considerable development effort on improving database performance for embedded devices, specifically for Android. This is because Android is a particularly database-centric environment.

fsck and chkdsk

Before embedded devices, file systems were designed to work in servers and desktops. Power loss was an infrequent occurrence, so little consideration was given to protecting the data.

Reliability with ext4

The challenge - making ext4 just as reliable as Datalight's Reliance Nitro file system, within limitations of the POSIX specification. Unlike most real world embedded designs, performance and media lifetime are not a consideration for this exercise.

Performance Testing Reliance Nitro and ext3/4

Recently we ran benchmarks comparing ext3 and ext4 to Reliance Nitro on eMMC and Linux. Here's what we learned.

EZ NAND compared to eMMC

A recent article by Doug Wong compared performance characteristics of eMMC and ONFI specification EZ-NAND, specifically Toshiba's SmartNAND. Read our thoughts in this post.

Datalight Outperforms Other Linux Flash File Systems

It's always gratifying when you run benchmarks and discover your product actually does outperform the competition. Months and months of development effort went in to making Reliance Nitro and FlashFX Tera run flawlessly in an open source environment.

A File System Designed for Embedded

Instead of adapting a desktop or server file system for embedded use, it is far better to use a file system designed specifically for embedded use.

Bootstrapping Linux from NAND Flash

We've received a bit of feedback on our Bootstrapping Linux from NAND Flash with FlashFX Tera and Reliance Nitrowhitepaper. Questions that have come up regarding this whitepaper include: "The sample project included in the whitepaper demonstrated booting from NOR rather than NAND, is it possible for the bootloader to reside in NAND?"

Booting Linux with Reliance Nitro & FlashFX Tera

Recently we developed a sample project to demonstrate how to boot Linux from flash on an embedded system. Booting NAND with a single (root) file system can be a challenge, even when using a NOR chip to initialize as this project did. So how did we do it?

Simplified Data Storage for Linux-based Devices

Datalight announces support for Linux kernel versions up to 2.6.29 with new versions of FlashFX Tera, the file-system independent flash memory driver and Reliance Nitro, the highly-reliable, high-performance file system. FlashFX Tera version 1.2 offers out-of-the-box support for over 300 different flash memory parts from all the leading suppliers, expanding the choice for OEMs using flash memory.

Using Datalight Reliance on rotating-media devices

FlashFX Pro is designed only for flash memory but Datalight Reliance is a file system that works on all block devices. This includes hard drives, USB flash drives, removable cards like SD, CF, solid state drives (SSD), etc.

YAFFS - Linux Flash File System

Continuing the conversation started in Flash File Systems and JFFS2 blog posts, this post talks about a YAFFS, another Linux flash file system alternative. YAFFS (Yet Another Flash File System) was designed to solve some of the performance issues suffered by JFFS2 on NAND flash.

JFFS2 - Linux Flash File System

Linux has been slowly but surely establishing itself as the predominant OS in the embedded industry. ABI research report suggested that 23% of Smartphones will be based on Linux by 2013. High-profile industry support from Android and the LiMo foundation has put the spotlight back on embedded Linux.

Flash File Systems

Flash memory has established itself as the technology of choice for device data storage on embedded devices. The advantages it brings in terms of storage capacity, I/O throughput, power consumption and board space savings are significant. In 2007, flash memory was a $7.7 billion industry. Analysts predict a 23% growth of the flash memory market between 2007 and 2011