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(即闪存)是不需要Vpp电压信号的EEPROM,属于非易失性存储器(NVM)。Flash的类型主要分两种,nand flash和nor flash,这种分类方式是根据存储单元在矩阵中的排列方式来分类的。
基本原理:
Floating Gate
Flash存储单元基于浮栅(Floating Gate, FG)技术。MOS晶体管由两个重叠栅极CG(Control Gate)和FG(Floating Gate)构成。FG被隔离孤立在中间,像是浮在空中的小岛,这也就是“浮栅”名字的由来。 FG被氧化物包围,在无外力作用下,电子能在其中长期保留。从浮栅中注入和去除电子的操作分别称为编程(program)和擦除(erase)。这些操作修改了存储单元的阈值电压Vth,存储单元是一种特殊类型的MOS晶体管。在CG端上施加一个固定的电压,就可以区分两个存储级别:当栅极电压高于电池的Vth时,电池是开的(“1”),否则是关的(“0”)。
NOR Flash 和NAND Flash主要区别:
1,物理结构:
NOR Flash采用并行阵列架构,其中每个cell都可以通过触点直接访问,这也是NOR闪存具有卓越随机性能的原因。
NOR Flash结构
NAND Flash采用串行结构,存储单元以32个或64个为一组进行串联,如图所示。两个选择晶体管被放置在行边缘,以确保与源线(通过Msl)和位线(通过Mdl)的连接。每个NAND行与另一个行共享位行联系。控制门通过字线(wordlines, WLs)连接。
NAND Flash结构
2,存储单元面积、单位成本、读取速度、功耗
由于在物理结构上的差异,导致了两种Flash在面积、单位成本、读取速度及功耗的差异:
NOR Flash:存储单元面积大、单位成本高、读取快、功耗高;
NAND Flash:存储单元面积小、单位成本低、读取慢、功耗低;
NAND flash的单元尺寸几乎是NOR器件的一半,由于生产过程更为简单,NAND结构可以在给定的尺寸内提供更高的容量,也就相应地降低了价格。NOR flash占据了容量为1~16MB闪存市场的大部分,而NAND flash只是用在8MB以上的产品当中,这也说明NOR主要应用在代码存储介质中,NAND适合于数据存储。
3,接口及使用
NOR Flash接口类似SRAM接口,有足够的地址引脚来寻址,可以很容易地存取其内部的每一个字节。由于NOR flash接口非常直接地使用基于NOR闪存,可以像其他存储器那样连接,并可以在上面直接运行代码。
NAND Flash器件使用复杂的I/O口来串行地存取数据,各个产品或厂商的方法可能各不相同。8个引脚分时用来传送控制、地址和数据信息。在使用NAND器件时,必须先写入驱动程序或者硬件控制器支持,才能继续执行其他操作。所以使用上并不如NOR Flash方便容易。
4,位交换
位交换也叫位反转(Bit twiddling/bit flip),即存储值由0变1或者由1变0。所有flash器件都受位交换现象的困扰。所以就必须采用错误探测/错误更正(EDC/ECC)算法。位反转的问题更多见于NAND闪存,NAND的供应商建议使用NAND闪存的时候,同时使用EDC/ECC算法。这个问题对于用NAND存储多媒体信息时倒不是致命的。当然,如果用本地存储设备来存储操作系统、配置文件或其他敏感信息时,必须使用EDC/ECC系统以确保可靠性。
NOR flash由于物理结构的不同,很小概率出现位反转现象,故无纠错系统。
5,坏块处理
NAND器件中的坏块是随机分布的,需要对介质进行初始化扫描以发现坏块,并将坏块标记为不可用。NOR Flash则几乎无坏块或者很少,所以没有坏块处理模块。
Flash器件:
目前的flash存储器都符合PCMCIA标准,可以方便的用于各种设备上。当前有两种类型的卡:一种为Flash存储器卡,此种卡只有Flash Memory芯片组成的存储体,在使用时还需专门的软件进行管理。另一种称为Flash驱动卡,此种卡中除Flash芯片外还有由微处理器和其他逻辑电路组成的控制电路。
1,Flash存储器卡 :
Flash存储器卡也称为闪存卡(FlashCard),是利用闪存(FlashMemory)技术达到存储电子信息的存储器,一般应用在数码相机,掌上电脑,MP3等小型数码产品中作为存储介质,所以样子小巧,有如一张卡片,所以称之为闪存卡。根据不同的生产厂商和不同的应用,闪存卡大概有SmartMedia(SM卡)、CompactFlash(CF卡)、MultiMediaCard(MMC卡)、SecureDigital(SD卡)、MemoryStick(记忆棒)、XD-PictureCard(XD卡)和微硬盘(MICRODRIVE)这些闪存卡虽然外观、规格不同,但是技术原理都是相同的。
CF卡
CF卡(Compact Flash)是1994年由SanDisk最先推出的一种闪存卡,它革命性的使用了 闪存技术,对所保存的数据来说,CF卡比传统的磁盘驱动器安全性和保护性都更高。路由器、交换器等大多数的网络及电信设备及数码相机仍以CF卡 为主要的外部储存装置。
SM卡
SM卡(Smart Media)是由东芝公司在1995年11月退出的Flash Memory存储卡,三星公司在1996年购买了生产和销售许可,这两家公司成为主要的SM卡厂商。SmartMedia卡是市场上常见的微存储卡(但是最大容量只有128MB),一度在MP3播放器上非常的流行。SmartMedia卡被视为软磁盘的替代者,曾是数码相机普遍支持的存储格式,如今已是没落消亡之势。这一格式相比其他而言最大的好处是通过一个名为FlashPath的转换器,可以在标准的3.5英寸软盘驱动器内使用任何容量的SM卡。
MMC卡
MMC卡(MultiMedia Card)卡由西门子公司和首推CF的SanDisk公司于1997年联合推出,号称是目前世界上最小的Flash Memory存储卡。近年MMC卡技术已差不多完全被SD卡所代替,但由于MMC卡仍可被兼容SD卡的设备所读取,因此仍有其作用。
MS卡
MS卡(Memory Stick)通常称为记忆棒,是Sony公司研发并于1998年10月推出市场的,采用了Sony自己的外型、协议、物理格式和版权保护的一种闪存卡。MS卡的规格和同一时间上市的MMC很相似。
SD卡
SD卡(Security Digital Memory Card,译成安全数码卡) 由松下、东芝和SanDisk联合 推出,1999年8月才首次发布,大小如一张邮票。SD读卡器对计算机来说类似一个USB的软驱的作用,插上SD卡后的读卡器跟U盘功能是一样的,大小也和普通U盘类似。读卡器与电脑主机之间的连接都是采用USB接口,这种产品是配合数码相机而产生的。有外接式和内置式两种,不少新的个人电脑都已经内置了多功能的读卡器。
TF(MicroSD)卡
TF卡(TransFlash)由SanDisk(闪迪)公司发明创立,是一种主要用于手机的极细小的 快闪存储器卡,2004年重命名为MicroSD(顾名思义,就是小SD卡)。几乎只有一片指甲盖的大小,主流台式机、笔记本上均设有直接插槽,通过SD式读卡器连接后可以读写数据。
xD卡
xD卡(eXtreme Digital-Picture Card)是一种专门于数码相机的闪存存储卡,由富士胶 卷与奥林巴斯联合于2002年7月发布,用于取代SM卡(SmartMedia Card)。
miniSD卡
miniSD是闪迪2003年发布的极细小型规格标准SD卡,特别设计于移动电话上,并随卡附上minSD转接器,令它能够兼容所有配置了标准SD卡插槽的设备中。
微硬盘MD
微硬盘MD(Microdrive)最早是由IBM公司开发并于1999年上市的一款体积非常微小的硬盘式数据存储设备,用来对抗市面上主流的闪存产品。IBM将旗下硬盘部门卖给了日立(Hitachi)公司,因此自2003年起MicroDrive的技术与专利是由日立公司拥有。微型硬盘具有记忆容量大、读写速率高有点,缺点是较为耗电、容易发热、使用寿限较短和抗震性能差。
2,Flash驱动卡
eMMC卡
eMMC ( Embedded Multi Media Card) 采用统一的MMC标准接口, 把高密度NAND Flash以及MMC Controller封装在一颗BGA芯片中。针对Flash的特性,产品内部已经包含了Flash管理技术,包括错误探测和纠正,flash平均擦写,坏块管理,掉电保护等技术。用户无需担心产品内部flash晶圆制程和工艺的变化,同时eMMC单颗芯片为主板内部节省更多的空间。
UFS卡
UFS (Universal Flash Storage,通用闪存存储),UFS是一种高性能接口协议,也代表使用该协议的存储设备,设计用于需要最小化功耗的应用,包括智能手机和平板电脑等移动系统以及汽车应用,其高速串行接口和优化协议可显着提高吞吐量和系统性能。
U盘
U盘(USB flash disk),据谐音也称“优盘”。U盘是闪存的一种,故有时也称作闪盘。U盘与硬盘的最大不同是,它不需物理驱动器,即插即用,且其存储容量远超过软盘,极便于携带。U盘集磁盘存储技术、闪存技术及通用串行总线技术于一体。相较于其他可携式存储设备,闪存U盘有许多优点:占空间小,通常操作速度较快(USB1.1、2.0、3.0标准),能存储较多数据,并且性能较可靠(由于没有机械设备),在读写时断开而不会损坏硬件(软盘在读写时断开马上损坏),只会丢失数据。这类的磁盘使用USB大量存储设备标准,操作系统如 Linux、 Mac OS X、Unix与 Windows中皆有内置支持。
SSD固态硬盘
SSD(Solid State Drives ,即为固态硬盘),一般由存储单元(Flash或DRAM)和控制单元组成,固态硬盘是目前最主流的一种硬盘,而且在可预见的未来当中,短时间内很难会被其他硬盘替代。SSD读写速度快、防震抗摔性、低功耗、工作温度范围大、轻便。
flash存储器的种类很多,在生活中的应用也越来越广泛,但是价格依然处于昂贵的阶段, 而这也限制了flash存储器的使用,希望flash存储器能够摆脱价格昂贵的缺点,真正完全地进入人们的生活。
后记:
关于半导体存储基础及分类请参考:
《半导体存储发展与分类》
https://www.toutiao.com/article/7166887627948589605/?channel=&source=search_tab
相关问答
nand flash 底层读写 原理 ?原理:与DRAM以电容作为存储元件不同,闪存的存储单元为三端器件,与场效应管有相同的名称:源极、漏极和栅极。栅极与硅衬底之间有二氧化硅绝缘层,用来保护浮...
Nandflash 和norflash的区别?nandflash和norflash的区别如下:1、开发的公司不同:NORflash是intel公司1988年开发出了NORflash技术。NOR的特点是芯片内执行(XIP,eXecute...
简述 Flash 动画的 原理 ? - wa9jTzR67 的回答 - 懂得图形操作Flash动画火柴人绘图和编辑图形不但是创作Flash动画的基本功,也是进行多媒体创作的基本功。只有基本功扎实,才能在以后的学习和创作道路上...
nand flash 与ram大小区别?另一种称为动态RAM(DynamicRAM/DRAM),DRAM保留数据的时间很短,速度也比SRAM慢,不过它还是比任何的ROM都要快,但从价格上来说DRAM相比SRAM要便宜很多,计算...
flash 成像 原理 ?flash动画制作的特点在于帧,根据人眼成像的原理,就是说只要每秒连续播放24张或以上的图片,人眼所看到的就是动画,根据此来flash就是在帧上放置你想要的图片或...
Flash 是否有能力取代ROM?首先,这个题目写成一本书都不够说明清楚,所以在这里也不可能回答的非常仔细。题目本身其实问的不够“专业”,因为没有在根本上弄清楚什么是ROM,什么是Flash,...
长江存储能否顺利跻身全球 NAND Flash 的「第一梯队」?NANDFlash全名为FlashMemory,属于非易失性存储设备(Non-volatileMemoryDevice),数据存储在这类设备中,即使断电也不会丢失。广泛用于eMMC/eMCP...
nvm 原理 ?非易失性存储器NVM是指非易失性存储器,目前在智能卡上采用的主要包括:EEPROM和Flash。NVM通常用来存放程序和数据,对于智能卡而言,大多把应用程序和数...非...
flash 存储数据 原理 ?Flash存储器是一种能够长期保存数据的非易失性存储器,它采用了不同于传统硬盘的工作原理。Flash存储数据的原理是利用电荷累积来存储数据。Flash存储器中每个...
学习 flash ,会不会很难?是不是有用?亲,FLASH比PS好学,其实FLASH和PS一样要把动画原理和基本工具灵活掌握才行,Flash动画效果大致就那几种,但是可以组合成千变万化的效果,这个需要你的构思!希望...