(转)物联网这么火爆,存储之家介绍几种嵌入式文件系统

时间:2021-02-26 20:06:23

物联网这么火爆,介绍几种嵌入式文件系统

2016年物联网应用越来越受到国内外开发者的关注,一方面说明物联网行业应该具有比较大的潜力,另一方面传统的市场热点正在逐渐趋于成熟和饱和,所有人都期待有一些新的应用可以成为下一个爆发的增长点。

但,无论媒体如何的包装物联网行业,归根结底无联网还是以嵌入式系统为基础的一类应用。

存储系统是嵌入式系统的“基石”

在嵌入式系统中,存储器主要用途是存放Bootloader, 操作系统和各类应用程序文件,以及各类数据文件比如图片,音视频等。booterloader一般存储在NAND或eMMC的最前面几个block,通常不需要特别的文件系统进行管理。除了bootloader外的其他部分,通常会被格式化成某些特定的文件系统,方便操作系统进行管理。

下面是linux的软件结构,可以看到文件系统处于哪一部分。

(转)物联网这么火爆,存储之家介绍几种嵌入式文件系统

不同于传统机械硬盘,NAND或者eMMC应该使用更适合Flash的文件系统:

  • JFFS/JFFS2:

JFFS是linux上第一个针对于闪存开发的文件系统。初期只针对于NOR Flash,后来在JFFS2上也开始支持NAND Flash。JFFS文件系统是一种log-structured的文件系统,其把flash看作一组circular log,并且自带wear-levelling功能。JFFS最大的问题在于对于flash的擦出操作太过频繁,比其他文件系统更容易耗尽flash的擦写寿命。

  • YAFFS:

YAFFS是2002年推出的,针对NAND flash开发的文件系统。YAFFS/YAFFS2在RAM中建立并维护一个tree,用于代表NAND的block。YAFFS最大的特点在于mount或者umount的时间非常短,这是其最大的优势。

  • UBIFS:

UBIFS中UBI的全称是Unsorted Block Images,由NOKIA的工程师开发,并专门针对NAND Flash。不同于其他文件系统,UBIFS并不工作在block device上,而是直接作用于raw flash上。这样,UBIFS中就自带逻辑到物理块的映射的功能,并且其自带的wear-levelling可以在整个flash上进行。

  • LogFS:

LogFS是linux上最近兴起的一类文件系统,其在flash中创建并管理了一个B+ tree用于garbage collection,即垃圾回收,这样其比较节省RAM的使用。这对于大容量的NAND Flash具有比较大的价值。

  • ext4:

ext4是如此大名鼎鼎。其应用于PC,Server等computing应用。但在手机应用中,很多时候eMMC上的分区都会被格式成为ext4格式。

 目前常用于嵌入式系统的一些型号如下:

TC58NVG0S3HTA00: 东芝128MByte NAND

TC58NVG1S3HTA00: 东芝256MByte NAND

TC58NVG2S0HTA00: 东芝512MByte NAND

THGBMHG6C1LBAIL: 东芝 8GB eMMC

SDINDR-8G-P:闪迪 8GB eMMC

SDINDR-16G-P: 闪迪16GB eMMC


本文转载自存储之家 原文地址