Articles by subject: embedded storage

QSPI NOR Flash Part 3 – The Quad SPI Protocol

Over the course of this article, we’ll go through the variations of the protocol used by QSPI NOR Flash devices. We’ll start simple, with the basic SPI protocol then move through the variations to reach some of the more complicated QIO, QPI and DDR variations.

Read More »

QSPI NOR Flash Part 2 – Memory Organization

In this article we’ll leave the package attributes behind to focus on the internal features of QSPI devices, starting with the memory organization. This article will cover the overall capacity, multi-stack devices as well as the memory map organization units such as pages, blocks and sectors.

Read More »

QSPI NOR Flash Part 1 – Hardware Characteristics

In this first article, we’ll go over some important considerations to keep in mind when using a NOR for code shadowing or execute in place, and explain how these considerations may change when using the NOR for data storage with a file system. Then we’ll take a quick look at the hardware characteristics of QSPI NOR devices.

Read More »

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.

Read More »
Road leading to an SD Card shaped sunrise.

Managed vs Unmanaged: The Many Roads to Flash Storage

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.

Read More »

Taming the Flash Beast

This article is the first of an introduction series about flash memory. 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 is to provide useful information from an operational perspective. Things that you

Read More »
Code example of implementing a firmware upgrade procedure using TSFS snapshot and revert features.

Firmware Update Implementation Using TSFS Snapshots

In the previous article of this series on TSFS snapshots, we have shown how snapshots can be used to design a simple yet robust firmware upgrade procedure. This time, we go from design to implementation, delving into the specifics of the TSFS snapshot management interface. More specifically, we show how we can meet our initial

Read More »
Firmware upgrade procedure block diagram using a snapshot to save the state of the file system prior to beginning the upgrade procedure.

Firmware Upgrade Design Using TSFS Snapshots

This article is the first part of a twofold series on one of the most unique TSFS feature: snapshotting. In this first article, we show how snapshots can ease application development, providing the application designer with an elegant way of handling concurrent read/write accesses. We also introduce a simple firmware update example, to help us

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

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

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.

Read More »

Articles by subject: embedded storage

QSPI NOR Flash Part 3 – The Quad SPI Protocol

Over the course of this article, we’ll go through the variations of the protocol used by QSPI NOR Flash devices. We’ll start simple, with the basic SPI protocol then move through the variations to reach some of the more complicated QIO, QPI and DDR variations.

Read More »

QSPI NOR Flash Part 2 – Memory Organization

In this article we’ll leave the package attributes behind to focus on the internal features of QSPI devices, starting with the memory organization. This article will cover the overall capacity, multi-stack devices as well as the memory map organization units such as pages, blocks and sectors.

Read More »

QSPI NOR Flash Part 1 – Hardware Characteristics

In this first article, we’ll go over some important considerations to keep in mind when using a NOR for code shadowing or execute in place, and explain how these considerations may change when using the NOR for data storage with a file system. Then we’ll take a quick look at the hardware characteristics of QSPI NOR devices.

Read More »

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.

Read More »
Road leading to an SD Card shaped sunrise.

Managed vs Unmanaged: The Many Roads to Flash Storage

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.

Read More »

Taming the Flash Beast

This article is the first of an introduction series about flash memory. 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 is to provide useful information from an operational perspective. Things that you

Read More »
Code example of implementing a firmware upgrade procedure using TSFS snapshot and revert features.

Firmware Update Implementation Using TSFS Snapshots

In the previous article of this series on TSFS snapshots, we have shown how snapshots can be used to design a simple yet robust firmware upgrade procedure. This time, we go from design to implementation, delving into the specifics of the TSFS snapshot management interface. More specifically, we show how we can meet our initial

Read More »
Firmware upgrade procedure block diagram using a snapshot to save the state of the file system prior to beginning the upgrade procedure.

Firmware Upgrade Design Using TSFS Snapshots

This article is the first part of a twofold series on one of the most unique TSFS feature: snapshotting. In this first article, we show how snapshots can ease application development, providing the application designer with an elegant way of handling concurrent read/write accesses. We also introduce a simple firmware update example, to help us

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

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

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.

Read More »