Changes

Jump to: navigation, search

MISC-TN-017: Persistent storage and read-write file systems

11 bytes removed, 15:45, 18 January 2022
Example: embedded Linux system equipped with SanDisk SDINBDG4-8G-XI1 eMMC and ext4 file system
== Example: embedded Linux system equipped with SanDisk SDINBDG4-8G-XI1 eMMC and <code>ext4</code> file system ==
[[File:Lauterbach-eMMC-schema.png|thumb|481x481px]]
 
=== Introduction ===
As stated previously, eMMC's and SD cards are block devices. As such, they are operated in tandem with file systems that have been developed for hard disks and solid-state drives. [https://en.wikipedia.org/wiki/Ext4 <code>ext4</code>] is one of them and one of the most popular in the Linux world.
 [[File:Lauterbach-eMMC-schema.png|thumb|240px]]  From system integrators' perspective, eMMC's and SD cards are easier to use than raw NAND's because they hide most of the complexity regarding the management of the underlying memory. Nonetheless, the architecture of these devices could make it difficult to retrieve data regarding the actual usage of the memory. There are some techniques available, however, to address this issue when working with an embedded Linux platform. This sections section will illustrate the following ones:
* Logging the accesses to the storage device: The idea of this approach is to log all the accesses triggered by the host and isolate the write operations in order to determine the actual amount of data written onto the device. Two different methods are compared. The first one makes use of a hardware-based trace tool while the other exploits a software tracer, namely the Linux kernel's Function Tracer (<code>ftrace</code>).
* Exploiting the storage device's built-in advanced functionalities.
These approaches are illustrated in more detail in the rest of the document with the help of results of testing specific tests conducted on a real target.
==== Testbed ====
The evaluation kit consists of three boards: the SoM, the SBCX carrier board, and an adapter board. This setup provides off-chip trace via a parallel trace port or a PCIe interface. The SoM is equipped with the NXP i.MX8M SoC, which is based on the Quad-Core Arm® Cortex-A53 CPU. The SOC features two Ultra Secured Digital Host Controller (uSDHC) supporting SD/SDIO/MMC cards and devices. For the purpose of the tests under discussion, the uSDHC ports were used as depicted in the following image.
[[File:MISC-TN-017-eMMC-uSD-interfacing.png|center|thumb|585x585px300px|eMMC and microSD card interfacing]]
The microSD card connected to uSDHC1 was used for the bootloader, the Linux kernel, and the root file system. The eMMC device connected to uSDHC2 was used for the main workload to be analyzed. The Linux kernel version used is 4.14.98.
4,650
edits

Navigation menu