行情
HOME
行情
正文内容
nor nand 手机 闪存芯片NOR Flash,NAND Flash傻傻分不清楚 ICMAX帮你搞定
发布时间 : 2024-10-06
作者 : 小编
访问数量 : 23
扫码分享至微信

闪存芯片NOR Flash、NAND Flash傻傻分不清楚 ICMAX帮你搞定

通过前天的文章介绍,我们知道eMMC 是 Flash Memory 的一类,eMMC的内部组成是NAND flash+主控IC,那什么是Flash Memory、NOR Flash、NAND Flash,宏旺半导体就和大家好好捋一捋它们几者之间的关系。

Flash Memory 是一种非易失性的存储器。在嵌入式系统中通常用于存放系统、应用和数据等。在 PC 系统中,则主要用在固态硬盘以及主板 BIOS 中。另外,绝大部分的 U 盘、SDCard 等移动存储设备也都是使用 Flash Memory 作为存储介质。

1. Flash Memory 的主要特性

与传统的硬盘存储器相比,Flash Memory 具有质量轻、能耗低、体积小、抗震能力强等的优点,但也有不少局限性,主要如下:

需要先擦除再写入

Flash Memory 写入数据时有一定的限制,它只能将当前为 1 的比特改写为 0,而无法将已经为 0 的比特改写为 1,只有在擦除的操作中,才能把整块的比特改写为 1。

块擦除次数有限

Flash Memory 的每个数据块都有擦除次数的限制(十万到百万次不等),擦写超过一定次数后,该数据块将无法可靠存储数据,成为坏块。

为了最大化的延长 Flash Memory 的寿命,在软件上需要做擦写均衡(Wear Leveling),通过分散写入、动态映射等手段均衡使用各个数据块。同时,软件还需要进行坏块管理(Bad Block Management,BBM),标识坏块,不让坏块参与数据存储。(注:除了擦写导致的坏块外,Flash Memory 在生产过程也会产生坏块,即固有坏块。)

读写干扰

由于硬件实现上的物理特性,Flash Memory 在进行读写操作时,有可能会导致邻近的其他比特发生位翻转,导致数据异常,这种异常可以通过重新擦除来恢复,Flash Memory 应用中通常会使用 ECC 等算法进行错误检测和数据修正。

电荷泄漏

存储在 Flash Memory 存储单元的电荷,如果长期没有使用,会发生电荷泄漏,导致数据错误,不过这个时间比较长,一般十年左右,此种异常是非永久性的,重新擦除可以恢复。

2. NOR Flash 和 NAND Flash

根据硬件上存储原理的不同,Flash Memory 主要可以分为 NOR Flash 和 NAND Flash 两类。 主要的差异如下所示:

· NAND Flash 读取速度与 NOR Flash 相近,根据接口的不同有所差异;

· NAND Flash 的写入速度比 NOR Flash 快很多;

· NAND Flash 的擦除速度比 NOR Flash 快很多;

· NAND Flash 最大擦次数比 NOR Flash 多;

· NOR Flash 支持片上执行,可以在上面直接运行代码;

· NOR Flash 软件驱动比 NAND Flash 简单;

· NOR Flash 可以随机按字节读取数据,NAND Flash 需要按块进行读取。

· 大容量下 NAND Flash 比 NOR Flash 成本要低很多,体积也更小;

(注:NOR Flash 和 NAND Flash 的擦除都是按块块进行的,执行一个擦除或者写入操作时,NOR Flash 大约需要 5s,而 NAND Flash 通常不超过 4ms。)

2.1 NOR Flash

NOR Flash 根据与 CPU 端接口的不同,可以分为 Parallel NOR Flash 和 Serial NOR Flash 两类。

Parallel NOR Flash 可以接入到 Host 的 SRAM/DRAM Controller 上,所存储的内容可以直接映射到 CPU 地址空间,不需要拷贝到 RAM 中即可被 CPU 访问,因而支持片上执行。Serial NOR Flash 的成本比 Parallel NOR Flash 低,主要通过 SPI 接口与 Host 连接。

图片: Parallel NOR Flash 与 Serial NOR Flash

鉴于 NOR Flash 擦写速度慢,成本高等特性,NOR Flash 主要应用于小容量、内容更新少的场景,例如 PC 主板 BIOS、路由器系统存储等。

2.2 NAND Flash

NAND Flash 需要通过专门的 NFI(NAND Flash Interface)与 Host 端进行通信,如下图所示:

图片:NAND Flash Interface

NAND Flash 根据每个存储单元内存储比特个数的不同,可以分为 SLC(Single-Level Cell)、MLC(Multi-Level Cell) 和 TLC(Triple-Level Cell) 三类。其中,在一个存储单元中,SLC 可以存储 1 个比特,MLC 可以存储 2 个比特,TLC 则可以存储 3 个比特。

NAND Flash 的一个存储单元内部,是通过不同的电压等级,来表示其所存储的信息的。在 SLC 中,存储单元的电压被分为两个等级,分别表示 0 和 1 两个状态,即 1 个比特。在 MLC 中,存储单元的电压则被分为 4 个等级,分别表示 00 01 10 11 四个状态,即 2 个比特位。同理,在 TLC 中,存储单元的电压被分为 8 个等级,存储 3 个比特信息。

图片: SLC、MLC 与 TLC

NAND Flash 的单个存储单元存储的比特位越多,读写性能会越差,寿命也越短,但是成本会更低。下图 中,给出了特定工艺和技术水平下的成本和寿命数据。

相比于 NOR Flash,NAND Flash 写入性能好,大容量下成本低。目前,绝大部分手机和平板等移动设备中所使用的 eMMC 内部的 Flash Memory 都属于 NAND Flash,PC 中的固态硬盘中也是使用 NAND Flash。

3. Raw Flash 和 Managed Flash

由于 Flash Memory 存在按块擦写、擦写次数的限制、读写干扰、电荷泄露等的局限,为了最大程度的发挥 Flash Memory 的价值,通常需要有一个特殊的软件层次,实现坏块管理、擦写均衡、ECC、垃圾回收等的功能,这一个软件层次称为 FTL(Flash Translation Layer)。

在具体实现中,根据 FTL 所在的位置的不同,可以把 Flash Memory 分为 Raw Flash 和 Managed Flash 两类。

图片: Raw Flash 和 Managed Flash

Raw Flash

在此类应用中,在 Host 端通常有专门的 FTL 或者 Flash 文件系统来实现坏块管理、擦写均衡等的功能。Host 端的软件复杂度较高,但是整体方案的成本较低,常用于价格敏感的嵌入式产品中。通常我们所说的 NOR Flash 和 NAND Flash 都属于这类型。

Managed Flash

Managed Flash 在其内部集成了 Flash Controller,用于完成擦写均衡、坏块管理、ECC校验等功能。相比于直接将 Flash 接入到 Host 端,Managed Flash 屏蔽了 Flash 的物理特性,对 Host 提供标准化的接口,可以减少 Host 端软件的复杂度,让 Host 端专注于上层业务,省去对 Flash 进行特殊的处理。eMMC、SD Card、UFS、U 盘等产品是属于 Managed Flash 这一类。

看完这篇文章,相信对Flash memory都会有一个全面的了解,无论是其原理,还是NOR Flash 和 NAND Flash、Raw Flash 和 Managed Flash 之间的异同,欢迎关注宏旺半导体,会持续带来存储领域更专业的文章。

存储芯片 emmc、Nand flash、Nor flash之间有什么区别

随着存储领域的发展,有很多不同的存储介质,今天ICMAX就带大家来分一分emmc、Nand flash、Nor flash之间的区别。

一、定义及区别

emmc:全称为embeded MultiMedia Card,是一种嵌入式非易失性存储器系统,由Nand flash和Nand flash控制器组成,以BGA方式封装在一款chip上。

Nand flash:一种存储数据介质;若要读取其中的数据,需要外接的主控电路。

Nor flash:也是一种存储介质;它的存储空间一般比较小,但它可以不用初始化,可以在其内部运行程序,一般在其存储一些初始化内存的固件代码。

这里主要重点讲的是emmc 和Nand flash 之间的区别,主要区别如下:

(1) 在组成结构上:emmc存储芯片简化了存储器的设计,将NAND Flash芯片和控制芯片以MCP技术封装在一起,省去零组件耗用电路板的面积,同时也让手机厂商或是计算机厂商在设计新产品时的便利性大大提高。而NAND Flash仅仅只是一块存储设备,若要进行数据传输的话,只能通过主机端的控制器来进行操作,两者的结构图如下:

(2) 在功能上:eMMC则在其内部集成了 Flash Controller,包括了协议、擦写均衡、坏块管理、ECC校验、电源管理、时钟管理、数据存取等功能。相比于直接将NAND Flash接入到Host 端,eMMC屏蔽了 NAND Flash 的物理特性,可以减少 Host 端软件的复杂度,让 Host 端专注于上层业务,省去对 NAND Flash 进行特殊的处理。同时,eMMC通过使用Cache、Memory Array 等技术,在读写性能上也比 NAND Flash要好很多。而NAND Flash 是直接接入 Host 端的,Host 端通常需要有 NAND Flash Translation Layer,即 NFTL 或者 NAND Flash 文件系统来做坏块管理、ECC等的功能。另一方面,emmc的读写速度也比NAND Flash的读写速度快,emmc的读写可高达每秒50MB到100MB以上;

二、emmc的初始化和数据通信

emmc与主机之间通信的结构图:

其中包括Card Interface(CMD,DATA,CLK)、Memory core interface、总线接口控制(Card Interface Controller)、电源控制、寄存器组。

图中寄存器组的功能见下表:

CID: 卡身份识别寄存器 128bit,只读, 厂家号,产品号,串号,生产日期。

RCA: 卡地址寄存器,可写的16bit寄存器,存有Device identification模式由host分配的通信地址,host会在代码里面记录这个地址,MMC则存入RCA寄存器,默认值为0x0001。保留0x0000以用来将all device设置为等待CMD7命令状态。

CSD: 卡专有数据寄存器部分可读写128bit,卡容量,最大传输速率,读写操作的最大电流、电压,读写擦出块的最大长度等。

SCR: 卡配置寄存器, 可写的 64bit 是否用Security特性(LINUX不支持),以及数据位宽(1bit或4bit)。

OCR: 卡操作电压寄存器 32位, 只读,每隔0.1V占1位, 第31位卡上电过程是否完成。

(5)Device Identification Mode和初始化

MMC通过发CMD的方式来实现卡的初始化和数据通信

Device Identification Mode包括3个阶段Idle State、Ready State、Identification State。

Idle State下,eMMC Device会进行内部初始化,Host需要持续发送CMD1命令,查询eMMC Device是否已经完成初始化,同时进行工作电压和寻址模式协商:eMMC Device 在接收到这些信息后,会将OCR的内容(MMC出厂就烧录在里面的卡的操作电压值)通过 Response 返回给 Host,其中包含了 eMMC Device 是否完成初始化的标志位、设备工作电压范围 Voltage Range 和存储访问模式 Memory Access Mode 信息。

如果 eMMC Devcie 和 Host 所支持的工作电压和寻址模式不匹配,那么 eMMC Device 会进入Inactive State。

Ready State,MMC完成初始化后,就会进入该阶段。

在该 State 下,Host 会发送 CMD2命令,获取eMMC Device 的CID。

CID,即 Device identification number,用于标识一个 eMMC Device。它包含了 eMMC Device 的制造商、OEM、设备名称、设备序列号、生产年份等信息,每一个 eMMC Device 的 CID 都是唯一的,不会与其他的 eMMC Device 完全相同。

eMMC Device 接收到CMD2后,会将 127 Bits 的CID的内容通过 Response返回给 Host。

Identification State,发送完 CID 后,eMMC Device就会进入该阶段。

Host 会发送参数包含 16 Bits RCA 的CMD3命令,为eMMC Device 分配 RCA。设定完 RCA 后,eMMC Devcie 就完成了 Devcie Identification,进入 Data Transfer Mode。

注:emmc初始化和数据通信的过程,有点类似USB协议,USB控制器去发送请求给USB设备,以IN包和OUT包的形式去建立与USB设备之间的通信,默认状态下,USB设备也是0地址的,与控制器分配设备地址。(感兴趣的可以看一下USB2.0的协议,主要是第8和9章内容)

三、eMMC工作电压和上电过程

根据工作电压的不同,MMC卡可以分为两类:

High Voltage MultiMediaCard,工作电压为3.3V左右。

Dual Voltage MultiMediaCard,工作电压有两种,1.70V~1.95V和2.7V~3.6V,CPU可以根据需要切换

我所使用的eMMC实测工作电压VCC为2.80V~2.96V,VCCQ为1.70V~1.82V。

其中VCC为MMC Controller/Flash Controller的供电电压,VCCQ为Memory和Controller之间I/O的供电。

上电初始化阶段MMC时钟频率为400KHz,需要等电压调整到它要求的VCC时(host去获取OCR中记录的电压值,上面有说),MMC时钟才会调整到更高的正常工作频率。

相关问答

h0norv30是华为 手机 吗?

荣耀V30是华为手机,荣耀v30是华为荣耀发布的首款5g手机,2019年11月26号在北京举办芯片发布会。荣耀v30搭载华为,海思990处理器,8GB内存。在性能方面,荣耀v...

honor是什么品牌 手机 ?-ZOL问答

honor是华为荣耀手机。荣耀(HONOR),是面向年轻人群的科技潮牌,主打潮流设计和极致性能。荣耀不断推出不同系列产品,致力于打造手机+IoT产品生态圈。荣耀的使...

华为 手机 h0 nor 是什么歌?

你好,Honor是是华为旗下互联网手机品牌“荣耀”的宣传主题曲,由高晓松作词,钱雷作曲,《中国好歌曲》原创音乐人王晓天演唱。中文名称荣耀外文名称Honor你...

华为 手机 突然白屏怎么回事-ZOL问答

这种情况建议重新启动下手机试试,个人觉得应该是手机系统出现了故障。有用(0)回复chyc0326一、软件问题:主要是手机的软件设计存在BUG,当手机的系统程序和在...

ho nor手机 如何把按键去掉?

HONOR手机将按键去掉是指移除屏幕上的虚拟按键吗?如果是,您可以尝试以下方法:1.确保您的手机已经更新到最新版本的系统。这样,您可以确保拥有最新的功能和...

华为 nor 屋尺寸是多少?

华为一款手机的尺寸是141.2×69.1×7.1mm。具体手机尺寸可能因型号不同而有所差异,建议查看华为官网或咨询线下门店工作人员,获取更准确的信息。华为nova的机...

华为 手机 开机后反复出现honor?

像这种情况就说明需要印刷机,你可以将手机关机,同时按住开机键和音量上键。根据提示,清除所有内容,恢复出厂设置,然后重新开机。以上回答希望能够帮助到很...

ho nor 8x 手机 应用锁是干嘛的?

荣耀手机应用锁是一款用于保护用户隐私和保密信息的应用程序。它允许用户为特定的应用程序设置密码、图案等锁屏方式,确保只有经过授权的人可以访问这些应用。...

CHECKINGNVRAM中文是什么意思啊?

检查NVRAMNVRAM是非易失性随机存储器的意思,在电脑中就是内存,楼主遇到的问题是主板在检测内存通不过,可能有几个原因,一个是主板出现故障,另外可能是内存...

手机 闪存什么意思呢?

手机闪存是指手机内部存储器中的一种存储技术,它使用闪存芯片来存储数据。与传统的机械硬盘相比,手机闪存具有更快的读写速度、更低的能耗和更小的体积。它可...

 遗产分配  施嘉莉 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2024  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部