资讯
HOME
资讯
正文内容
msflash for 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 之间的异同,欢迎关注宏旺半导体,会持续带来存储领域更专业的文章。

NOR Flash 和 NAND Flash 的区别

参考于《ARM嵌入式系统开发典型模块》一书,仅用于笔记学习,如果侵删

Flash Memory是一种非易失性的存储器。

Flash 按照结构可以分为 nor flash 和 nand flash两大类,两者的读取速率差不多。

NOR flash的特点就是芯片内执行,这样应用程序可以直接在 flash 内存内运行,不必再把代码读到系统 RAM 中。nor flash 的传输效率很高,在1~4MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响了它的性能。

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

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

NAND flash 结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快。应用nand flash 的困难在于flash 的管理和需要的特殊接口。

总结nor flash 和 nand flash的差别在以下的几个方面

1、容量和成本

nor flash 的容量大小为1MB~32MB ,而nand flash 的为16MB~512MB。nand flash 的单元尺寸几乎是nor flash 的一半,由于生产的过程更为简单,因此价格也是相对低。

2、性能差别

(1)nor flash 的读速度比 nand flash稍快一些

(2)nor flash 的写入速度比 nand flash 慢了很多

(3)nand flash 的4ms擦除速度远比nor flash 的5s 快

(4)nand flash 的擦除单元更小,相应的擦除电路也久更小

3、接口差别

nor flash 的接口和RAM一样,而 nand flash 是使用I/O口来串行地存取数据。

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

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

4、易用性

使用nor flash 的相对简单,可以非常直接地使用基于 nor flash 地内存,可以像其他存储器那样连接,还可以直接在上面运行代码

而使用 nand flash 的话就复杂了,需要I/O接口,必须先写入驱动程序,才可以继续执行其他的操作。

5、耐用性

在nand flash内存中的每个块的最大擦除写次数是100万次,而nor flash 的擦写次数是10万次。

NAND FLASH根据每个存储单元内存储比特个数的不同,可以分为SLC(Single-LevelCell)、MLC(MulTI-LevelCell)和TLC(Triple-LevelCell)三类。其中,在一个存储单元中,SLC可以存储1个比特,MLC可以存储2个比特,TLC则可以存储3个比特。每一个存储单元内部通过不同的电压等级来表示其所存储的信息。在SLC中,存储单元的电压被分为两个等级,分别表示0和1两个状态,即1个比特;在MLC中,存储单元的电压则被分为4个等级,分别表示00011011四个状态,即2个比特位;同理,在TLC中,存储单元的电压被分为8个等级,存储3个比特信息。

NAND FLASH的单个存储单元存储的比特位越多,读写性能会越差,寿命也越短,但是成本会更低。

6、坏块处理

nand flash 器件中的坏处是随机分布的

nand flash 器件需要对介质进行初始化扫描以发现坏块,并将坏块标记为不可用。在已制成的器件中,如果通过可靠的方法不能进行这项处理,将导致高故障率。

7、位交换

所有flash器件都受位交换现象的困扰。在某些情况下(很少见,nand flash发生的次数要比nor flash多),一个比特位会发生反转或被报告反转了。

一位的变化可能不很明显,但是如果发生在一个关键文件上,这个小小的故障可能导致系统停机。如果只是报告有问题,多读几次就可能解决了。当然,如果这个位真的改变了,就必须采用错误探测/错误更正(EDC/ECC)算法。位反转的问题更多见于NAND闪存,NAND的供应商建议使用NAND闪存的时候,同时使用EDC/ECC算法。

这个问题对于用NAND存储多媒体信息时倒不是致命的。当然,如果用本地存储设备来存储操作系统、配置文件或其他敏感信息时,必须使用EDC/ECC系统以确保可靠性。

8、主要用途

nor flash常用于保存代码和关键数据。nand flash 用于保存数据。

9、软件支持

当讨论软件支持的时候,应该区别基本的读/写/擦操作和高一级的用于磁盘仿真和闪存管理算法的软件,包括性能优化。

在NOR器件上运行代码不需要任何的软件支持,

在NAND器件上进行同样操作时,通常需要驱动程序,也就是内存技术驱动程序(MTD),

NAND和NOR器件在进行写入和擦除操作时都需要MTD。

使用NOR器件时所需要的MTD要相对少一些,许多厂商都提供用于NOR器件的更高级软件,这其中包括M-System的TrueFFS驱动,该驱动被Wind River System、Microsoft、QNX Software System、Symbian和Intel等厂商所采用。

驱动还用于对DiskOnChip产品进行仿真和NAND闪存的管理,包括纠错、坏块处理和损耗平衡。

相关问答

嵌入式设计中有必要同时具备nor flash nand flash 吗?

性能差别:于Flash写入速度其实写入擦除综合速度NandFlash擦除简单NorFlash需要所位全部写0(要说明Flash器件写入能1写0能0写1,说其写入式按照逻辑与进行譬原...

Serial flash 和nor flash nand flash 有什么区别?

性能差别:对于Flash的写入速度,其实是写入和擦除的综合速度,NandFlash擦除很简单,而NorFlash需要将所有位全部写0(这里要说明一下,Flash器件写入只能把1写为0...

之前我不小心删掉了flashplayer,重装之后电脑就出现断断续续...

手机MotoMotoFLASH共10条回答9815浏览可能装的版本低了可能中毒了...一般来说这些都是应为软件跟系统冲突造成的严重的甚至导致Windows无法正常启...

NANDflash 和NORflash的区别?

1、存储架构不同NORFlash架构提供足够的地址线来映射整个存储器范围。这提供了随机访问和短读取时间的优势,这使其成为代码执行的理想选择。另一个优点是100%...

...阻止访问以下嵌入对象,以保证安全“ - Microsoft Community

[回答]Hi小城李某,我将一个Flash文件打包成.exe文件并插入到PowerPoint页中。直接点击此文件时,我会遇到您提到的提示信息。您可以通过如下方式打开.exe...

电脑开机 flash 自动跳出来?

电脑开机时出现Flash自动跳出来的问题可能有多种原因,以下是一些可能的解决方法:检查Flash驱动程序:首先,确保你的电脑上安装了最新版本的Flash驱动程序。你...

在座的好基友!谁能给我说一下 flash 烧录和ic烧录?,IC烧录座...

[回答]性能差别:对于Flash的写入速度,其实是写入和擦除的综合速度,NandFlash擦除很简单,而NorFlash需要将所有位全部写0(这里要说明一下,Flash器件写入只...

adobe flash 肿么彻底删除?-ZOL问答

4人讨论7662次围观关注问题写回答讨论回答(4)ljwenlove1、打开控制面板2...3、找到flash卸载无法删除就用注册表去删注册表HKEY_LOCAL_MACHINE\...

建立网站后,可以在编辑区直接编辑主页了吗..._网络编辑_帮考网

最简单的方法是在IE中打开属性进行设置.如果不可执行regedit中HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\InternetExplorer\Main\Star...

电脑开机显示这些起不来了PRESS F2 TO RUN SETUP PRESS F6 FOR INSTANT FLASH PRESS F11 FOR BOOT MENU?

F2是进入修改BIOS里面的一些设置;F6是你的主板特有的吧,“华擎独家开发的一项操作方便的BIOS更新工具。它内建于FlashROM中,可让您无需进入操作系统,...

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

QQ

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

热线

188-0000-0000
专属服务热线

微信

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