资讯
HOME
资讯
正文内容
nand写flash NAND和NOR Flash 完全学习笔记(基础篇)
发布时间 : 2025-04-19
作者 : 小编
访问数量 : 23
扫码分享至微信

NAND和NOR Flash 完全学习笔记(基础篇)

本文要点:1. NAND FLASH与NOR FLASH 的技术对比;2. 最详细的存储单元对比详解;3. NAND FLASH与NOR FLASH 的最新市场份额及应用;4. NAND FLASH与NOR FLASH 的基础原理分析。

目前,NOR FLASH和NAND FLASH是市场上主要的非易失性闪存技术,但是据我了解,还是有很多工程师分不清NAND FLASH与NOR FLASH。首先,来一个直观的图片。

然后,我从权威的网站上找到了最新的NAND FLASH收益以及市场份额表,根据最新的表单,我们可以知道谁是这个市场的老大,做的比较好一些,一方面让工程师时刻知道市场的动向,另一方面可以在之后的器件选型等方面提供重要的参考。

一般来说,快闪记忆体可分为两大规格,一个是NAND, 一个是NOR。简单来说,NAND一般以存储数据为主,晶片容量大,容量可以达到2Gb甚至更大,NAND的读取是以一次读取一块的形式来进行的,通常一次读取512个字节,采用这种技术的Flash比较廉价;NOR一般以存储程序代码为主,又称为Code Flash,所以可让微处理器直接读取,但晶片容量较低,主流容量512Mb,NOR采用内存的随机读取技术。如果利用闪存只是用来存储少量的代码,这是NOR Flash更合适一些。用户不能直接运行NAND Flash上的代码,因此很多使用NAND Flash的Demo Board除了使用NAND Flash以外,还加上一块小的NOR Flash来运行启动代码。通过下表我比较了几乎所有关于NAND FLASH以及NOR FLASH的全部重要特性。

然后,对于Flash三个重要概念的理解:

1. Flash属于非易失性存储设备,内部存储单元是MOSFET,里面有一个悬浮门(Floating Gate), 是存储数据的单元。与此对应的,易失性存储设备就是断电后,数据就丢失了,例如常用的内存,不论是之前的SDRAM,还是现在通用的DDR3以及DDR4,都是断电后,数据就没有了。

2. SLC和MLC的区别:NAND FLASH的内存单元可以分为两类,存储一位数据,也就是SLC(Single Level Cell); 对应的,存储多位数据的就是MLC(Multi Level Cell),比如两位,或者四位。

3. 大多数的写入操作需要先进行擦除操作。

到此,对于NAND FLASH以及NOR FLASH 我们有了一个基本的认识。我对知识的学习一个重要的方法是对比,通过图表的对比更能看出各自的差异化,从而达到加深知识的效果,因此我做了下图来比较目前还算所有存储器的最小单元结构图,便于学习与理解。

原理分析 要说明此原理,需要一些基本的量子物理学,我认为以下这种论述是比较适合理解的,也很有趣:经典物理学认为,物体越过势垒,有一定的阈值能量;所以,粒子能量小于此阈值能量的不能越过,能量大于此阈值能量的可以越过。举例来说,我们骑自行车过坡道,如果先用力骑,因此有一定初入能量,坡道不高的话,即使不蹬自行车也可以依靠惯性过去;但是,如果坡道很高,不蹬自行车,可能车到了一半,可能就退回来了。而量子力学则认为,即便是粒子能量小于阈值能量,同时很多粒子冲向势垒,虽然也有一部分粒子会反弹,但是还会有一些粒子可以越过去,好像有一个隧道,因此称为量子隧道。

对比二者的差异发现,宏观上的确定性在微观上常常就具有不确定性。因为隧穿几率极小,因此通常情况下,隧道效应并不影响经典的宏观效应,但是某些特殊条件下也会出现。当微电子器件进一步微型化是必须要考虑量子效应。NAND FLASH的擦写均是基于隧道效应,电流穿过浮置栅极与硅基层之间的绝缘层,对浮置栅极进行充电(写数据)或放电(擦除数据);另外,NOR FLASH擦除数据也是基于隧道效应(电流从浮置栅极到硅基层),但在写入数据时则是采用热电子注入方式(电流从浮置栅极到源极)。对于FLASH闪存单元来说,它是为三端器件,与场效应管有相同的名称:源极、漏极和栅极。栅极与硅衬底之间有二氧化硅绝缘层,用来保护浮置栅极中的电荷不会泄漏。采用这种结构,使得存储单元具有了电荷保持能力。举个栗子,就像是装进瓶子里的水,当你倒入水后,水位就一直保持在那里,除非你再次倒入或倒出,所以闪存具有记忆能力。

绝缘浮置栅极是NAND存储数据的核心

案例分析,NAND FLASH流水实现高速存储

流水技术原理

所谓流水线处理,如同生产装配线一样,是将操作执行工作量分成若干个时间上均衡的操作段,从流水线的起点连续地输入,流水线的各操作段以重叠方式执行。这使得操作执行速度只与流水线输入的速度有关,而与处理所需的时间无关。这样,在理想的流水操作状态下,其运行效率很高。

如果某个设计的处理流程分为若干步骤,而且整个数据处理是单流向的,即没有反馈或者迭代运算,前一个步骤的输出是下一个步骤的输入,则可以采用流水线设计方法来提高系统的工作效率。

利用流水线的设计方法,可大大提高系统的工作速度。这种方法可广泛运用于各种设计,特别是大型的、对速度要求较高的系统设计。虽然采用流水线会增大资源的使用,但是它可降低寄存器间的传播延时,保证系统维持高的系统时钟速度。在实际应用中,考虑到资源的使用和速度的要求,可以根据实际情况来选择流水线的级数以满足设计需要。

下面我们以房屋装修为例展示一下流水线的流程,如图3-7所示。

图3-7 房屋装修流水线示意图

房屋装修分4个步骤,分别是水电改造、木工上场、瓦工上场和油工上场。

如果设计团队由4个人员组成,那么在装修A小区某房屋的时候,需要按照上述出场顺序工作。水电改造工人完成A小区的工作后,可以去B小区某房屋工作,B小区工作完毕后,再去C小区工作。同理,木工、瓦工和油工也是如此。

我们可以得出结论,从水平方向上看,对于某个小区的房屋,需要四个人顺序出场;但是基于某个特定人员,在整个平面上来看,在平面方向上是排满饱和的。

所以基于团队,用流水线的方式确保了高效率,每个人工作量饱满,收益最大。

案例:NAND FLASH流水实现高速存储

NAND FLASH的详细介绍见第9章。

我们知道,NAND FLASH的特点是读/写速度比较慢。

以写为例,写数据后,必须有长时间的编程等待时间,编程结束之后,才能进行下一次写数据过程。

例如:K9K4G08UOM这款芯片的最大写入时间(编程时间)为700 μs,写数据阶段的时间为125 μs(2 Kb/16 M,假如用16 MHz时钟,一次写入2 Kb个数据)。评估一下有效的写入速率为2 Kb/(125 μs+700 μs)=2.42 Mb/s。

我们可以利用流水线技术来提高读/写速度,如图3-8所示。

图3-8 FLASH控制器流水线式进行写操作

示例中,我们用了5片芯片,为写入时间(编程时间)分配了800 μs的时间,为写数据分配了200 μs时间,组成了5级流水。第一片芯片写数据结束、编程等待的时候,对第二片芯片进行写数据,第二片芯片写数据结束、编程等待的时候,对第三片芯片进行写数据,以此类推,第五片芯片写数据结束后,重新对第一片芯片进行写数据。

重新评估一下写入速度为2Kb/200 μs=10Mb/s。

当然,上面的计算是为了方便读者理解来设定的,目的是让800 μs成为200 μs的整数倍,图片看上去美观一些。实际上我们还是用125 μs来进行写数据,写入速度接近16Mb/s。

在大容量存储类的项目中,不止使用流水线技术,还采用并行工作方式,优化之后的速度能达到几百兆。

以上介绍的为FLASH写阶段的流水线过程,读和擦除也可以利用流水线技术,此处不展开论述。

专栏推荐,【零基础学FPGA】

本专栏基于Altera公司的器件和Verilog HDL语言。学完以后,相信读者能够掌握FPGA开发的基本技术,并能够独立进行FPGA项目开发。

相关问答

如何编 写nandflash 驱动?

实际上与其他嵌入式系统一样。给没有操作系统的手机写驱动:查看datasheet,一点一点写吧;有操作系统的,先学习操作系统提供的API接口,再学习操作系统提供给...

如何编写Linux下 NandFlash 驱动?

实现ubifs相对简单,框架都搭好了,根据nandflash控制器写mtd接口就好了。主要关注pagelayout,硬ECC能力是否与nand要求匹配,ECC最好有纠错比特数预警,以实...

平板电脑怎样可以把默认储存 nandflash 改为外置储存?

首先,升级ipados13,然后再空间里把应用都重新装一遍,可以节约15%左右的app自身空间(ios/ipados13自带的功能),然后你就可以用外置u盘了,这个时候看看万...

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

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

你好U盘因强制拔出后电脑无法识别变成了驱动器 NAND Flash USB device怎么办呀?

按如下步骤,一步步排除故障。1、在确保没问题的USB接口上,插上U盘,听一下音箱有没有叮咚一声的响声。如果什么声音也没有,说明电脑完全没有识别到有USB设备...

8GBNAND是什么?

8GBNAND是容量8GBNANDFLASH,可以用来做TF卡SD卡CFSSD等产品。8GBNAND是容量8GBNANDFLASH,可以用来做TF卡SD卡CF...

UBOOT移植时,不同型号的 NANDFLASH 存储的起始地址怎么得到?

你只能通过NandFlash控制器访问NandFlash,即是只要知道Nand控制器的寄存器地址即可。NandFlash不是一个RamLike的器件。Uboot放入nand中,在nand的0地址开...

烧录 NAND Flash 程序时校验为什么提示出错?

NANDFlash跟普通的Flash结构不一样,由于NANDFlash自身的特性,偶尔会出现位反转的情况,所以在烧录的时候要注意下ECC。位反转是指原先NandFlash中的某个位,...

s34ml01g100tf100是什么芯片?

S34ML01G100TF100是贴片48脚TSOP1封装,1Gb闪存芯片:S34ML01G100TF100是贴片48脚TSOP1封装,1Gb闪存芯片:

NAND 与ROM有什么不同-ZOL问答

我的PPC有8G的NAND但是ROM只有128MB,我想问在WM系统中NADN和ROM的使用功能一样...它在任何时候都可以读写,RAM通常是作为操作系统或其他正在运行程序的临时存储...

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

QQ

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

热线

188-0000-0000
专属服务热线

微信

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