在线咨询 切换到宽版
eetop公众号 创芯大讲堂 创芯人才网

EETOP 创芯网论坛 (原名:电子顶级开发网)

便捷登录,只需一步

找回密码

  登录   注册  

快捷导航
搜帖子
芯片精品文章合集(500篇!)    创芯人才网--重磅上线啦!
查看: 196|回复: 0

[原创] 如何选择嵌入式产品中的存储器类型 ?

[复制链接]
发表于 2022-4-28 11:21:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册

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

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

图2 并行NAND Flash接口
get?code=NjhjNGRhZWU4ZjU3N2JmNzYxMzJiZWQyMmQ1NDUyNDIsMTY1MTExMTMyODI3NQ==.jpg

图3 串行NAND Flash接口
按照颗粒密度区分,并行NAND Flash可以分为SLC、MLC、TLC、QLC等,其中SLC、MLC颗粒较为常用。
get?code=M2Q4NGE1NWMwNDk5OGQwNGM1MGY2ZWIzNTdkMzNiYzEsMTY1MTExMTMyODI3NQ==.jpg

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

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

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

图6 NAND Flash启动方式
一般来讲,当主控制所需搭配的存储容量较低时(如256M、512M),通常选择Nand flash。当主控制所需搭配的存储容量较高时(如4GB、8GB甚至32GB),选择eMMC将更具性价比。
武汉万象奥科是国内嵌入式软硬件技术积累最全面的方案商之一, 作为Renesas、Microchip、芯驰、NXP、ST等原厂在国内的重要技术合作伙伴,专注于嵌入式软硬件产品的研发、定制、设计、生产。


您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网 ( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2022-6-29 23:18 , Processed in 0.059776 second(s), 10 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表