0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何选择嵌入式产品中的存储器类型

武汉万象奥科 2022-04-28 11:23 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

摘要:Flash存储器是一种非易失性内存,其作为数据、系统存储的关键介质,在嵌入式系统中扮演着重要角色。常见的Flash有NAND Flash 、Nor Flash、eMMC等,本文将简单介绍不同Flash的区别及应用场景。

get?code=ZWQ3MzFjZGUyMDI1OTBiODIxOWI0Y2ZmNGJmZjkwNjIsMTY1MTExMTMyODI3NQ==

图1 HD6Q-CORE ARM核心板板载Flash

  1. NAND Flash

按照接口区分,NAND Flash分为串行和并行两种,串行就是每次传输1 bit,并行就是每次传输多位。下图的并行Flash采用8bit的数据位宽,并配合RE/WE等读写信号进行数据的读写。串行Flash管脚较少,多采用SPI或者QSPI接口进行通信。一般来讲,并行Flash的容量要高于串行Flash。

get?code=YzA2ZmNkMzhkMWNkY2YxOWEwYTdmNzdjZDA5MDI1MTcsMTY1MTExMTMyODI3NQ==

图2 并行NAND Flash接口

get?code=NjhjNGRhZWU4ZjU3N2JmNzYxMzJiZWQyMmQ1NDUyNDIsMTY1MTExMTMyODI3NQ==

图3 串行NAND Flash接口

按照颗粒密度区分,并行NAND Flash可以分为SLC、MLC、TLC、QLC等,其中SLC、MLC颗粒较为常用。

get?code=M2Q4NGE1NWMwNDk5OGQwNGM1MGY2ZWIzNTdkMzNiYzEsMTY1MTExMTMyODI3NQ==

图4 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次编程/擦写循环,但是容量更容易提升,成本也继续降低。
  1. Nor Flash

NOR Flash是一种非易失闪存技术,是Intel在1988年创建。是市场上两种主要的非易失闪存技术之一。按照接口区分, Nor Flash也可以分为并行和串行两种。由于并行Nor Flash易存在兼容性问题,现已逐渐淘汰,目前常用的Nor Flash通常指串行Flash,即SPI Flash,其接口定义和图3一致。

与NAND Flash相比,Nor Flash容量较低,且读写速度和擦写速度较慢。不同于NAND Flash的是,NOR Flash支持Execute ON Chip,程序可以直接在Flash片内执行,因此很适合作为嵌入式系统中的程序启动介质。

表1 NAND Flash &Nor Flash 存储介质对比表

get?code=OGY1YzI2ZTYyNTk4Y2UxNjRmM2QyZmQ1ZGRlMzQxYjQsMTY1MTExMTMyODI3NQ==

eMMC

eMMC 本质上还是Nand flash ,数据接口支持1bit、4bit和8bit三种。eMMC=Nand flash +闪存控制芯片+标准接口封装,其内部集成的闪存控制器具有读写协议、擦写均衡、坏块管理、ECC校验、电源管理时钟管理、数据存取等功能,极大降低了Nand-flash的使用难度。

get?code=OWQwMjBmMjEyNzExZjI0ZWQ2ODM5NGQ0NDc0NzBjZmMsMTY1MTExMTMyODI3NQ==

图5 eMMC架构

在嵌入式系统中,Flash除了用来存放数据,还有一个重要的功能就是存放uboot启动程序。一般来讲,系统可以直接从NorFlash启动,而不能直接从NAND Flash启动。系统要从NAND Flash启动,则需要先将NAND Flash低4K的代码拷贝到CPU内部的SRAM中,然后从SRAM中驱动。再将FLASH剩下的代码拷贝到SDRAM中,从SDRAM开始执行main函数,启动流程如下图所示。

get?code=MDQwODI2ZTAwMTJkMGMwZjJhZjA3N2RlYWQzYTRjY2IsMTY1MTExMTMyODI3NQ==

图6 NAND Flash启动方式

一般来讲,当主控制所需搭配的存储容量较低时(如256M、512M),通常选择Nand flash。当主控制所需搭配的存储容量较高时(如4GB、8GB甚至32GB),选择eMMC将更具性价比。

武汉万象奥科是国内嵌入式软硬件技术积累最全面的方案商之一, 作为RenesasMicrochip、芯驰、NXP、ST等原厂在国内的重要技术合作伙伴,专注于嵌入式软硬件产品的研发、定制、设计、生产。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 存储器
    +关注

    关注

    39

    文章

    7757

    浏览量

    172210
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    低功耗psram在嵌入式存储领域的作用

    嵌入式存储领域,低功耗PSRAM(伪静态随机存取存储器)正逐渐成为智能穿戴、物联网设备等对功耗和体积敏感应用的理想选择
    的头像 发表于 04-03 11:29 236次阅读
    低功耗psram在<b class='flag-5'>嵌入式</b><b class='flag-5'>存储</b>领域的作用

    串行mram磁性随机存储器的工作原理与存储机制

    存储器技术不断演进的今天,MRAM磁性随机存储器凭借其独特的非易失性、高速读写与高耐久性,正成为越来越多高端应用场景的理想选择。尤其是串行MRAM磁性随机存储器,通过精简的接口设计与
    的头像 发表于 03-30 16:27 232次阅读
    串行mram磁性随机<b class='flag-5'>存储器</b>的工作原理与<b class='flag-5'>存储</b>机制

    如何选择合适的嵌入式核心版产品

    嵌入式产品的设计是一个复杂的系统工程,从硬件到应用软件,再到底层驱动,一个好的产品往往需要考虑诸多因素。那么,工程师该如何选择一款合适的核心版产品
    的头像 发表于 01-19 11:41 744次阅读
    如何<b class='flag-5'>选择</b>合适的<b class='flag-5'>嵌入式</b>核心版<b class='flag-5'>产品</b>?

    什么是嵌入式应用开发?

    包括ARM7、ARM9、ARM11、PowerPC、MIPS等。这些处理和编程语言的选择取决于具体的硬件条件和开发需求‌。 综上所述,嵌入式应用开发是一个综合性的技术领域,涉及硬件和软件的紧密结合,广泛应用于各种设备和系统
    发表于 01-12 16:13

    DDR SDRAM是什么存储器(双数据速率同步动态随机存取存储器介绍)

    在计算机和电子设备存储器扮演着数据临时存放与快速交换的关键角色。其中,DDR SDRAM(双数据速率同步动态随机存取存储器)已成为现代内存的主流技术之一。它不仅在速度上显著超越前代产品
    的头像 发表于 12-08 15:20 1590次阅读

    嵌入式硬件设计解析

    嵌入式产品(如消费电子的智能手环),成本是重要的考虑因素。选择性价比高的芯片,在满足性能需求的前提下尽量降低成本。 传感
    发表于 12-02 08:22

    双口SRAM静态随机存储器存储原理

    在各类存储设备,SRAM(静态随机存储器)因其高速、低功耗和高可靠性,被广泛应用于高性能计算、通信和嵌入式系统。其中,双口SRAM静态随
    的头像 发表于 11-25 14:28 784次阅读

    C语言在嵌入式开发的应用

    C 语言在汽车电子控制系统开发的主导地位。 2、设备驱动程序 设备驱动程序是嵌入式系统连接硬件和软件的桥梁,它负责实现嵌入式系统与外部设备之间的通信和控制。C 语言由于其对底
    发表于 11-21 08:09

    嵌入式和FPGA的区别

    开发做出更明智的技术选择。 基本概念解析 嵌入式系统(Embedded System)是一种专用计算机系统,通常包含微处理/微控制
    发表于 11-19 06:55

    芯盛智能嵌入式eMMC E210系列斩获2025年度嵌入式存储产品金奖

    11月18日, 一年一度中国数据与存储峰会在北京顺利召开,备受关注的2025存储风云榜同期揭晓。作为领先的存储控制与解决方案提供商,芯盛智能受邀参会,凭借自主研发的
    的头像 发表于 11-18 17:17 1959次阅读
    芯盛智能<b class='flag-5'>嵌入式</b>eMMC E210系列斩获2025年度<b class='flag-5'>嵌入式</b><b class='flag-5'>存储</b><b class='flag-5'>产品</b>金奖

    嵌入式与单片机定义及区别

    单片机,即嵌入式微控制器MCU,是嵌入式系统的核心组成部分。除此之外,嵌入式处理还包括嵌入式DSP处理
    发表于 11-17 08:11

    RISC-V嵌入式开发书里面的存储模型里面的释放和获取

    如下图是胡振波先生的书《RISC-V架构与嵌入式开发快速入门》第344页附录D存储器模型背景介绍D.3节的内容。请问“无须屏障其之后的操作”和“无须屏障其之前的操作”是什么意思? “无须屏障其之后
    发表于 11-05 07:55

    入行嵌入式应该怎么准备?

    架构、总线协议和存储器管理等概念的理解也是必不可少的。 三、操作系统嵌入式系统通常需要运行一个实时操作系统(RTOS)或者一个精简版的操作系统。熟悉RTOS的概念和使用方法,能够编写多任务和实时
    发表于 08-06 10:34

    MicroBlaze处理嵌入式设计用户指南

    *本指南内容涵盖了在嵌入式设计中使用 MicroBlaze 处理、含存储器 IP 核的设计、IP integrator 的复位和时钟拓扑结构。获取完整版《 MicroBlaze 处
    的头像 发表于 07-28 10:43 1294次阅读

    嵌入式开发,如何选择适合的系统?

    嵌入式ARM开发,面对多种操作系统的选择,如何做出最适合项目的决策?本文将为您梳理常见系统的特性,帮助您快速了解它们的优缺点,以便更好地选择适合的系统。引言在
    的头像 发表于 05-20 11:32 1299次阅读
    <b class='flag-5'>嵌入式</b>开发,如何<b class='flag-5'>选择</b>适合的系统?