资讯
HOME
资讯
正文内容
nand flash内部 Nand Flash操作原理及裸机程序分析——FLASH操作原理
发布时间 : 2024-10-11
作者 : 小编
访问数量 : 23
扫码分享至微信

Nand Flash操作原理及裸机程序分析——FLASH操作原理

来源:韦东山嵌入式专栏_ARM裸机加强版维基教程

作者:韦东山

本文字数:1056,阅读时长:10分钟

NAND_FLASH操作原理

NAND FLASH原理图NAND FLASH是一个存储芯片那么: 这样的操作很合理”读地址A的数据,把数据B写到地址A”

问1. 原理图上NAND FLASH和S3C2440之间只有数据线,怎么传输地址?

答1. 在DATA0~DATA7上既传输数据,又传输地址当ALE为高电平时传输的是地址,

那么在数据线上是不是只传输数据和只传输地址呢?

我们参考NAND FLASH的芯片手册可以知道,对NAND FLASH的操作还需要发出命令,下面有个NAND FLASH的命令表格

问2. 从NAND FLASH芯片手册可知,要操作NAND FLASH需要先发出命令怎么传入命令?

答2. 在DATA0~DATA7上既传输数据,又传输地址,也传输命令:

当ALE为高电平时传输的是地址。当CLE为高电平时传输的是命令。当ALE和CLE都为低电平时传输的是数据。

问3. 数据线既连接到NAND FLASH,也接到NOR FLASH,还接到SDRAM、DM9000等等那么怎么避免干扰?

答3. 这些设备,要访问时必须”选中”,没有选中的芯片不会工作,相当于没接一样。

问4. 假设烧写NAND FLASH,把命令、地址、数据发给它之后,NAND FLASH肯定不可能瞬间完成烧写的,怎么判断烧写完成?

答4. 通过状态引脚RnB来判断:它为高电平表示就绪,它为低电平表示正忙

问5. 怎么操作NAND FLASH呢?

答5. 根据NAND FLASH的芯片手册,一般的过程是:

发出命令

发出地址

发出数据/读数据

看上面的命令表格,不容易看,我们看一下读ID的时序图,

每个NAND FLASH都内嵌一些ID(譬如:厂家ID,设备ID),时序图从左往右看,纵向放是一列一列的看。

对于我们s3c2440来说,内部集成了一个NAND FLASH控制器,2440和外设连接的简易图,如下图所示

NAND FLASH控制器,帮我们简化了对NAND FLASH的操作,下面来分析一下不使用NAND FLASH控制器和使用NAND FLASH控制器对外设NAND FLASH的操作。

发命令:

发地址:

发数据:

读数据 :

用UBOOT来体验NAND FLASH的操作:

1.读ID

下图是读操作时序图

对于存储为256M的NAND FLASH,需要28条地址线,来表示这个地址值,根据原理图可以,只用8根地址线,所以需要4个周期的地址,为了兼容更大容量的NAND FLASH,要发出5个周期的地址:(如下图所示)

2.读数据

「新品首发」STM32MP157开发板火爆预售!首批仅300套

「收藏」Flash闪存颗粒和工艺知识深度解析

[收藏] Flash闪存颗粒和工艺知识深度解析

原创: Hardy 架构师技术联盟 5天前

Wafer即晶圆,是半导体组件“晶片”或“芯片”的基材,从沙子里面高温拉伸生长出来的高纯度硅晶体柱(Crystal Ingot)上切下来的圆形薄片称为“晶圆”。采用精密“光罩”通过感光制程得到所需的“光阻”,再对硅材进行精密的蚀刻凹槽,继续以金属真空蒸着制程,于是在各自独立的“晶粒”(Die)上完成其各种微型组件及微细线路。对晶圆背面则还需另行蒸着上黄金层,以做为晶粒固着(Die Attach) 于脚架上的用途。

以上流程称为Wafer Fabrication。早期在小集成电路时代,每一个6吋的晶圆上制作数以千计的晶粒,现在次微米线宽的大型VLSI,每一个8吋的晶圆上也只能完成一两百个大型芯片。我们NAND Flash的Wafer,目前主要采用8寸和12寸晶圆,一片晶圆上也只能做出一两百颗NAND Flash芯片来。

NAND Flash Wafer

Wafer的制造虽动辄投资数百亿,但却是所有电子工业的基础。晶圆的原始材料是硅,而地壳表面有用之不竭的二氧化硅。二氧化硅矿石经由电弧炉提炼,盐酸氯化,并经蒸馏后,制成了高纯度的多晶硅,其纯度高达99.99%以上。晶圆制造厂再将此多晶硅融解,再在融液里种入籽晶,然后将其慢慢拉出,以形成圆柱状的单晶硅晶棒,由于硅晶棒是由一颗晶面取向确定的籽晶在熔融态的硅原料中逐渐生成,此过程称为“长晶”。硅晶棒再经过切段,滚磨,切片,倒角,抛光,激光刻,封装后,即成为集成电路工厂的基本原料——硅晶圆片,这就是“晶圆”。

下图是NAND Flash生产简要流程:

Die 就是芯片未封装前的晶粒,是从硅晶圆(Wafer)上用激光切割而成的小片(Die)。每一个Die就是一个独立的功能芯片,它无数个晶体管电路组成,但最终将被作为一个单位而被封装起来成为我们常见的闪存颗粒,CPU等常见芯片。

什么是ink Die

在晶圆制造过程中,会对Wafer中的每个Die进行严格测试,通过测试的Die,就是Good Die,未通过测试的即为Ink Die。这个测试过程完成后,会出一张Mapping图,在Mapping里面会用颜色标记出不良的Die,故称Ink Die。

Flash芯片封装分类

目前NAND Flash封装方式多采取TSOP、FBGA与LGA等方式,由于受到终端电子产品转向轻薄短小的趋势影响,因而缩小体积与低成本的封装方式成为NAND Flash封装发展的主流趋势。

TSOP: (Thin smaller outline package )封装技术,为目前最广泛使用于NAND Flash的封装技术,首先先在芯片的周围做出引脚,采用SMT技术(表面安装技术)直接附着在PCB板的表面。TSOP封装时,寄生参数减小,因而适合高频的相关应用,操作方便,可靠性与成品率高,同时具有价格便宜等优点,因此于目前得到了极为广泛的应用。

BGA: (Ball Grid Array也称为锡球数组封装或锡脚封装体 )封装方式,主要应用于计算机的内存、主机板芯片组等大规模集成电路的封装领域,FBGA 封装技术的特点在于虽然导线数增多,但导线间距并不小,因而提升了组装良率,虽然功率增加,但FBGA能够大幅改善电热性能,使重量减少,信号传输顺利,提升了可靠性。

采用FBGA新技术封装的内存,可以使所有计算机中的内存在体积不变的情况下容量提升数倍,与TSOP相比,具有更小的体积与更好的散热性能,FBGA封装技术使每平方英寸的储存量有很大的提升,体积却只有TSOP封装的三分之一,与传统TSOP封装模式相比,FBGA封装方式有加快传输速度并提供有效的散热途径,FBGA封装除了具备极佳的电气性能与散热效果外,也提供内存极佳的稳定性与更多未来应用的扩充性。

LGA: (Land Grid Array ) 触点陈列封装,亦即在底面制作有数组状态坦电极触点的封装,装配时插入插座即可,现有227 触点(1.27mm中心距)和447 触点(2.54mm 中心距)的陶瓷LGA,应用于高速逻辑 LSI 电路,由于引线的阻电抗小,对高速LSI 相当适用的,但由于插座制作复杂,成本较高,普及率较低,但未来需求可望逐渐增加。

Flash芯片封装叠Die(Stack Die)

由于NAND Flash单颗Die的容量有限,为了实现更高的容量,需要在一个封装片内堆叠几个Die。在Wire Bond的时候,用金线互连。

目前单颗Die的容量最高的为Micron公司的MLC 4GB,目前最先进的堆叠技术可以叠8层,因此理论上MLC单颗封装片可以做到32GB。Micron公司计划在09年Q4推出此容量的封装片。

Flash芯片TSOP封装和BGA封装的内部结构

TSOP封装只需要一个引脚框架,把NAND FLASH Die的Pad打线(Wire Bond)连接到引进框架上面即可。封装技术简单,成本低。但其打线方式只能从两边打线,因此stack die就比较困难。

BGA封装与TSOP封装不同在于其采用了Substrate,用电路板来对引脚走线,因此可以进行四面打线,这样在进行叠die的时候,就变得更加容易操作。但成本会比TSOP要高。

Flash芯片封装的尺寸,一些封装方式尺寸比较:

NAND Flash出货有两种产品样式:

一种是Wafer,即晶圆出货,这种产品样式一般客户采购回去需要再测试和COB封装等,这种客户多为闪存卡大客户。

一种是封装片出货,NAND Flash目前最普遍采用的是48TSOP1的封装方式,现货市场均为TSOP的封装片。

NAND Flash按工艺可分为SLC与MLC

SLC英文全称(Single Level Cell)即单层式单元储存。SLC技术特点是在浮置闸极与源极之中的氧化薄膜更薄,在写入数据时通过对浮置闸极的电荷加电压,然后透过源极,即可将所储存的电荷消除,通过这样的方式,便可储存1个信息单元,这种技术能提供快速的程序编程与读取,不过此技术受限于Silicon efficiency的问题,必须要用较先进的流程强化技术,才能向上提升SLC制程技术。

MLC英文全称(Multi Level Cell)即多层式单元储存。Intel在1997年9月最先开发成功MLC,其作用是将两个单位的信息存入一个Floating Gate(闪存存储单元中存放电荷的部分),然后利用不同电位(Level)的电荷,通过内存储存的电压控制精准读写。MLC通过使用大量的电压等级,每一个单元储存两位数据,数据密度比较大。SLC架构是0和1两个值,而MLC架构可以一次储存4个以上的值。因此,MLC架构可以有比较高的储存密度。

TLC英文全称(Triple Level Cell)即一个单元可以存储单元可以存储3bit,因此需要8个等级的电位进行编码解码才能实现。其实TLC是属于MLC的一种。

SLC和MLC的基本特性表

Flash坏块的形成

NAND Flash的存储原理是,在写入(Program)的时候利用F-N隧道效应(Tunnel Injection隧道注入)的方法使浮栅充电,即注入电荷;在擦除(Erase)的时候也是是利用F-N隧道效应(Tunnel Release隧道释放)将浮栅上的电荷释放。

隧道注入和隧道释放的产生都需要十几伏的瞬间高电压条件,这对浮栅上下的氧化层会造成一定损伤,因此这样重复的操作(P/E Cycle)是有限的。SLC大概是100K次,MLC大概是10K次。达到读写寿命极限的时候存储单元就会出现失效,然后就会造成数据块擦除失效,以及写入失效,于是就会被标记起来,作为坏块,并将这个标记信息存放在Spare Area里面,后续操作这个Block时,需要Check一下这个信息。

Flash固有坏块

由于制造工艺的原因,通常普通的NAND FLASH从出厂开始就有坏块了,一般在2‰以下。一般芯片原厂都会在出厂时都会将坏块第一个page的spare area的第6个byte标记为不等于0xff的值。

NAND Flash的存储单元是有使用寿命的

NAND Flash的存储原理是,在写入(Program)的时候利用F-N隧道效应(Tunnel Injection隧道注入)的方法使浮栅充电,即注入电荷;在擦除(Erase)的时候也是是利用F-N隧道效应(Tunnel Release隧道释放)将浮栅上的电荷释放。隧道注入和隧道释放的产生都需要20V左右瞬间高电压条件,这对浮栅上下的氧化层会造成一定损伤,因此这样重复的操作(P/E Cycle)是有限的。SLC大概是100K次,MLC大概是10K次。

三星估算的SSD硬盘的寿命

如果每天对SSD写入4.8GB的数据,假设SSD总容量为16GB,那么,你至少需要3.34天才能对整个SSD的每个单元擦写一次;如果此SSD为擦写次数为100K的SLC单元,那么,你至少需要3.34×100K天才能使这个SSD完全失效;3.34×100K天=913年,因此16G的SSD可以使用913年 。那么,如果是MLC的话,也至少可以使用91.3年。

晶圆制程工艺发展历史

芯片制程工艺是指晶圆内部晶体管之间的连线间距。按技术述语来说,也就是指芯片上最基本功能单元门电路和门电路间连线的宽度。

主流厂商的晶圆制程工艺以及下一代制程工艺的情况,如下表。

芯片制造工艺在1995年以后,从0.5微米、0.35微米、0.25微米、0.18微米、0.15微米、0.13微米、90纳米、75纳米、65纳米一直发展到目前最新的34纳米。

一步步印证了摩尔定律的神奇。以90纳米制造工艺为例,此时门电路间的连线宽度为90纳米。我们知道,1微米相当于1/60头发丝大小,经过计算我们可以算出,0.045微米(45纳米)相当于1/1333头发丝大小。可别小看这1/1333头发丝大小,这微小的连线宽度决定了芯片的实际性能,芯片生产厂商为此不遗余力地减小晶体管间的连线宽度,以提高在单位面积上所集成的晶体管数量。采用34纳米制造工艺之后,与65纳米工艺相比,绝对不是简单地令连线宽度减少了31纳米,而是芯片制造工艺上的一个质的飞跃。

目前最先实现34nm工艺的是Intel和Micron联合投资的IM,此技术被最先应用在了NAND FLASH上面,可见NAND FLASH的制程工艺跳跃是所有IC中最快的。

晶圆技术的发展都是受生产力驱动,必须向更小的制程间距和更大的晶圆尺寸发展。制程从2.0um、0.5um、0.18um、90nm一直到目前的34nm,晶圆尺寸从最初的5英寸发展到目前的12英寸,每次更迭都是一次巨大的技术跳跃,凝聚了人类科技的结晶,也一次次印证了摩尔定律的神奇。

晶圆尺寸的大约每9年切换一次。而晶圆制程由最初的几年更迭一次,到目前的基本上每年都能更迭一次。

更多内容和“闪存技术、产品和发展趋势全面解析”全面的闪存技术电子书,请点击“了解更多”查阅。

相关问答

exmc接口是什么?

EXMC是一个用来访问各种片外存储器、实现数据交换的独立模块。EXMC通过配置可以把内部的AMBA协议接口转换为各种类型的专用片外存储器通信协议接口。2.1主要...

为啥switch卡带不能烧录?

因为Switch卡带是一种物理媒介,用于存储游戏数据,其内部采用的是闪存芯片。烧录是指通过某种方式将数据写入到媒介中,而Switch卡带的闪存芯片是无法直接烧录的...

flash 烧录和ic烧录?,IC烧录原理如何选??

[回答]一、定义上的区别1、Nand-flash存储器是flash存储器的一种,其内部采用非线性宏单元模式,为固态大容量内存的实现提供了廉价有效的解决方案。2、NORF...

关于存储器中内存的问题?

处理器内部,如高速缓存(cache),因为速度和低功耗的需要,用SRAM。处理器外部,主板上,用DDR的比较多,好处是标准化程度高,容量大,可升级。但不能一概而...外,...

串口的笔记本硬盘接口,可以接并扣固态吗?

NGFF接口的固态硬盘,最大读取速度可达到700MB/s,写入为550MB/s,4K随机读写IOPS分别可达到100K及90K,相比mSATA来说...mSATA接口的固态硬盘(SSD)一般是指超...

iphone4s不用电脑怎么刷机?

好了,在电脑下载一个爱思助手然后选择刷机,手机就会恢复成没有越狱的状态。需要注意的是,在刷机前一定要备份好重要数据,以免数据丢失。刷机后需要重新设置手...

固态硬盘突然断电会损坏么?

固态硬盘(SSD)以NANDFlash存储器为基础且不依赖机械部件,因此相较于传统的机械硬盘来说,其具有更好的抗震性和抗振动性,而且不易因为机械故障而损坏数据...

如何安装 flash 插件 - 纵我拾起旧时光 的回答 - 懂得

可以搜索flash下载工具;但有的flash是内部调用另一个flash的则需要破解之后查看里面的源文件以及他的调用地址。如果你对网页也有所了解的却又不想...

stm32中 Flash 和sram的区别?

这个4G指stm32最大寻址空间,包括所有能加入的有的没的设备。把内部flash,sram,所有外设都加满,外部的4块sram,4块norflash,4块nand等等都加满是可以4G全...

flash 读取会导致数据丢失吗?

1、用户代码对Flash的误操作不当引起程序丢失或被错误改写例如,在有对Flash写入或擦除操作的代码中,如果用户误调用了写入或擦除函数或者由于程序跑飞而恰好...

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

QQ

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

热线

188-0000-0000
专属服务热线

微信

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