• 如何正确选择ARM核心板的存储类型


    随着嵌入式行业的快速发展,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。

    • 第一代SLC(Single-Level Cell)每单元可存储1比特数据(1bit/cell),性能好、寿命长,可经受10万次编程/擦写循环,但容量低、成本高,市场上用的比较少;
    • 第二代MLC(Multi-Level Cell)每单元可存储2比特数据(2bits/cell),性能、寿命、容量、成各方面比较均衡,可经受1万次编程/擦写循环,目前主流的核心板厂商大都配置该类型的存储;
    • 第三代TLC(Trinary-Level Cell)每单元可存储3比特数据(3bits/cell),性能、寿命变差,只能经受3千次编程/擦写循环,但是容量可以做得更大,成本也可以更低,大多数固态硬盘的选择;
    • 第四代QLC(Quad-Level Cell)每单元可存储4比特数据(4bits/cell),性能、寿命进一步变差,只能经受1000次编程/擦写循环,但是容量更容易提升,成本也继续降低。

    图 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核心板方案,丰富的软硬件设计方案及经验为您的产品开发保驾护航。

     

  • 相关阅读:
    Jenkins-jenkins变量
    RabbitMQ中的死信队列产生的几个条件和应用场景
    C++试卷(程序设计题)
    RabbitMQ常用命令笔记
    conda创建pytorch环境报错
    【scikit-learn基础】--『预处理』之 缺失值处理
    C++ 性能优化指南 KurtGuntheroth 第6章 优化动态分配内存的变量 摘录
    软件测试技术之单元测试—工程师 Style 的测试方法
    cesium 雷达扫描 (线行扩散效果)
    Sql注入产生原因及威胁
  • 原文地址:https://blog.csdn.net/szembed/article/details/126745723