随着嵌入式行业的快速发展,ARM核心板、ARM工控板得到越来越广泛的应用。ARM核心板将主控制器(MPU)、内存、存储、电源管理等关键器件打包成的一个最小系统,完善的操作系统及驱动可以极大缩短项目开发周期。随着核心板产品使用,越来越多的用户发现文件系统的重要性,因为一旦文件系统崩溃,将给系统带来严重灾难-数据丢失!那么如何避免问题的出现呢呢?本文将简单阐述如何正确选择合适的存储类型。
图 1-CoM-335X核心模块
当前ARM核心板所用到的存储(电子硬盘)大体分为两类:Nand flash和eMMC。Nand flash存储器是flash存储器的一种,使用复杂的I/O口来串行地存取数据,各个产品或厂商的方法可能各不相同 ,一般是8个引脚用来传送控制、地址和数据信息。
eMMC 本质上还是Nand flash ,eMMC=Nand flash +闪存控制芯片+标准接口封装,其内部集成的闪存控制器具有读写协议、擦写均衡、坏块管理、ECC校验、电源管理、时钟管理、数据存取等功能,极大降低了Nand-flash的使用难度。
一般来讲,当主控制性能较低时(如ARM9、Cortex-A7),其所搭配的存储容量也较低,在256M、512M时通常选择Nand flash。当主控制性能较高时(如Cortex-A9、Cortex-A53),其所搭配的存储容量也较高,在4GB、8GB甚至32GB时eMMC将更具性价比。
图 2 NAND Flash与eMMC
只知道Nand flash和eMMC之间的简单区别,还不足以选择好存储,接下来我们看一下Nand flash闪存颗粒对性能、安全及价格方面的影响。
Nand flash闪存颗粒主要包括四种类型:SLC、MLC、TLC、QLC。
图 3 SLC、MLC、TLC、QLC存储图示
综合以上情况,若是用于一般性工业或商业应用的ARM核心板,建议大家选择EMMC存储的核心模块,现在的EMMC容量大,而且内置各种NAND管理机制,让用户更方便使用。而直接接口NAND的核心模块,需要自己通过文件系统去管理,无形中增加了出错的风险。另外用户在选购核心模块的时候,最好是问清楚商家,要选型可靠性高内置MLC NAND的EMMC比较好;若项目对数据、系统的要求极高,则需要选择内置SLC NAND的EMMC存储方案的ARM核心板,最大程度的降低因存储导致的系统崩溃或关键数据丢失。
另外,读写速度也是一个性能的追求,当前EMMC的版本都是V5.1,但是实际上受到内部NAND读写的制约,读写速度会有不同的。我举个例子:以下是大家常规使用KLM8G1GETF-B041(三星公司8G EMMC)的参数,另外一个是国产FEMDRW008G-88A39的参数:
图4 三星的EMMC的读写速度
图 5 江波龙EMMC的读写速度
盈鹏飞嵌入式是国内专业的嵌入式方案提供商之一,推出多款板载或外接SCL NAND、MLC NAND的ARM核心板方案,丰富的软硬件设计方案及经验为您的产品开发保驾护航。