Comparing 4 Popular Embedded File Systems

In this article, we discuss 4 popular NOR file systems, commonly used in bare metal and RTOS-based embedded systems: LittleFS, Yaffs, FileX and TSFS. We provide a brief description of each file system and compare their performance, RAM consumption and other specific advantages and limitations. Of course, there are other file systems and storage solutions … Read more

What Is a Flash File System?

In this article, we explain how flash file systems achieve native support for raw flash devices. We compare flash file systems to a common alternative, which is the combination of a block device file system (e.g., FAT) with a flash translation layer (FTL), and we make the case that the native approach is a better overall solution.

The Case for Serial NAND in Embedded Applications

QSPI NAND is a memory technology specifically designed as a direct alternative to its popular cousin, QSPI NOR. But what exactly is QSPI NAND? How does it compare to QSPI NOR? How does it compare to parallel NAND? This is what this article is all about.

NOR vs NAND: So You Think You Know the Music?

In-depth comparison between NOR and NAND covering aspects of NOR and NAND flash technologies that, in our view, are too often ignored including the impact of the application requirements on the choice of Flash technology.

Managed vs Unmanaged: The Many Roads to Flash Storage

Road leading to an SD Card shaped sunrise.

Let’s explore and compare two different paradigms of flash management commonly used throughout the industry: managed flash and unmanaged flash. Managed flash devices include SD cards, USB flash drives, eMMC and UFS modules — also SSDs, but those are less often seen in embedded systems. These are all NAND-based devices.

Taming the Flash Beast

This article is the first of an introduction series about flash memory with a focus on embedded systems designs using an embedded file system. A high-level introduction shall we say. Not the kind that takes you straight to the electron and drags you through the depths of quantum physics. No. The purpose of this series … Read more

Fail-Safe Storage with the TREEspan File System Part 3: Enforcing Coherence Through Transactions

Timing diagram of various high-level failures that could break the coherence of a data logging application.

In this article, we show that TSFS transactions go beyond preserving file-level integrity, and can also be used to enforce coherence across multiple files and directories. To support the discussion, we present a real-life application example and demonstrate how a single additional call to tsfs_commit() is all that is needed to make the code immune to unexpected failures.

Fail-Safe Storage with the TREEspan File System Part 2: TSFS Transactions

Time diagram of the protection afforded by a transactional file system against various unexpected failure points during a file update.

In this second article in this series we see how an application can be designed to withstand such unforeseen events, using TSFS transactions. Doing so, we introduce the tsfs_commit() API. We also discuss the write transaction atomicity property, by which applications can be safely designed ignoring potential partial update issues.

Fail-Safe Storage with the TREEspan File System Part 1: Introduction

Time diagram of various file system unexpected failures and their impact on data and metadata corruption.

This is the first article of a three-part series on fail-safe, storage-related application design using an embedded file system. The first part of the series lays out the fundamental problem of unexpected failures and briefly discusses partial solutions. The second part introduces how a fail-safe transactional file system such as the TREEspan File System (TSFS) … Read more

Introducing TREEspan File System

TreeSpan File System (TSFS) logo.

Last week was one of pride and excitement for the JBLopen’s development team as we released our latest product, the TREEspan File System (TSFS). After the official announcement and presentation, we feel the need to introduce the newcomer in a more personal way, such as we see it from the inside. Above all, we would … Read more