突然在网上看到别人两年前写的一篇关于nor和nand的好文章,做为csdn的合法公民,有必要转

一、存储数据的原理

  两种闪存都是用三端器件作为存储单元,分别为源极、漏极和栅极,与场效应管的工作原理相同,主要是利用电场的效应来控制源极与漏极之间的通断,栅极的电流消耗极小,不同的是场效应管为单栅极结构,而FLASH为双栅极结构,在栅极与硅衬底之间增加了一个浮置栅极。

  浮置栅极是由氮化物夹在两层二氧化硅材料之间构成的,中间的氮化物就是可以存储电荷的电荷势阱。上下两层氧化物的厚度大于50埃,以避免发生击穿。

  二、浮栅的重放电

  向数据单元内写入数据的过程就是向电荷势阱注入电荷的过程,写入数据有两种技术,热电子注入(hot electron injection)和F-N隧道效应(Fowler Nordheim tunneling),前一种是通过源极给浮栅充电,后一种是通过硅基层给浮栅充电。NOR型FLASH通过热电子注入方式给浮栅充电,而NAND则通过F-N隧道效应给浮栅充电。

  在写入新数据之前,必须先将原来的数据擦除,这点跟硬盘不同,也就是将浮栅的电荷放掉,两种FLASH都是通过F-N隧道效应放电。

NAND flash的写入和擦除

NOR flash的写入和擦除

三、0和1

  这方面两种FLASH一样,向浮栅中注入电荷表示写入了'0',没有注入电荷表示'1',所以对FLASH清除数据是写1的,这与硬盘正好相反;

  对于浮栅中有电荷的单元来说,由于浮栅的感应作用,在源极和漏极之间将形成带正电的空间电荷区,这时无论控制极上有没有施加偏置电压,晶体管都将处于导通状态。而对于浮栅中没有电荷的晶体管来说只有当控制极上施加有适当的偏置电压,在硅基层上感应出电荷,源极和漏极才能导通,也就是说在没有给控制极施加偏置电压时,晶体管是截止的。

  如果晶体管的源极接地而漏极接位线,在无偏置电压的情况下,检测晶体管的导通状态就可以获得存储单元中的数据,如果位线上的电平为低,说明晶体管处于导通状态,读取的数据为0,如果位线上为高电平,则说明晶体管处于截止状态,读取的数据为1。由于控制栅极在读取数据的过程中施加的电压较小或根本不施加电压,不足以改变浮置栅极中原有的电荷量,所以读取操作不会改变FLASH中原有的数据。

  四、连接和编址方式

  两种FLASH具有相同的存储单元,工作原理也一样,为了缩短存取时间并不是对每个单元进行单独的存取操作,而是对一定数量的存取单元进行集体操作,NAND型FLASH各存储单元之间是串联的,而NOR型FLASH各单元之间是并联的;为了对全部的存储单元有效管理,必须对存储单元进行统一编址。

  NAND的全部存储单元分为若干个块,每个块又分为若干个页,每个页是512byte,就是512个8位数,就是说每个页有512条位线,每条位线下有8个存储单元;那么每页存储的数据正好跟硬盘的一个扇区存储的数据相同,这是设计时为了方便与磁盘进行数据交换而特意安排的,那么块就类似硬盘的簇;容量不同,块的数量不同,组成块的页的数量也不同。在读取数据时,当字线和位线锁定某个晶体管时,该晶体管的控制极不加偏置电压,其它的7个都加上偏置电压而导通,如果这个晶体管的浮栅中有电荷就会导通使位线为低电平,读出的数就是0,反之就是1。

  NOR的每个存储单元以并联的方式连接到位线,方便对每一位进行随机存取;具有专用的地址线,可以实现一次性的直接寻址;缩短了FLASH对处理器指令的执行时间。

五、性能

  1、速度
  在写数据和擦除数据时,NAND由于支持整块擦写操作,所以速度比NOR要快得多,两者相差近千倍;读取时,由于NAND要先向芯片发送地址信息进行寻址才能开始读写数据,而它的地址信息包括块号、块内页号和页内字节号等部分,要顺序选择才能定位到要操作的字节;这样每进行一次数据访问需要经过三次寻址,至少要三个时钟周期;而NOR型FLASH的操作则是以字或字节为单位进行的,直接读取,所以读取数据时,NOR有明显优势。

  2、容量和成本
  NOR型FLASH的每个存储单元与位线相连,增加了芯片内位线的数量,不利于存储密度的提高。所以在面积和工艺相同的情况下,NAND型FLASH的容量比NOR要大得多,生产成本更低,也更容易生产大容量的芯片。

  3、易用性
  NAND FLASH的I/O端口采用复用的数据线和地址线,必须先通过寄存器串行地进行数据存取,各个产品或厂商对信号的定义不同,增加了应用的难度;NOR FLASH有专用的地址引脚来寻址,较容易与其它芯片进行连接,另外还支持本地执行,应用程序可以直接在FLASH内部运行,可以简化产品设计。

  4、可靠性
  NAND FLASH相邻单元之间较易发生位翻转而导致坏块出现,而且是随机分布的,如果想在生产过程中消除坏块会导致成品率太低、性价比很差,所以在出厂前要在高温、高压条件下检测生产过程中产生的坏块,写入坏块标记,防止使用时向坏块写入数据;但在使用过程中还难免产生新的坏块,所以在使用的时候要配合EDC/ECC(错误探测/错误更正)和BBM(坏块管理)等软件措施来保障数据的可靠性。坏块管理软件能够发现并更换一个读写失败的区块,将数据复制到一个有效的区块。

  5、耐久性
  FLASH由于写入和擦除数据时会导致介质的氧化降解,导致芯片老化,在这个方面NOR尤甚,所以并不适合频繁地擦写,NAND的擦写次数是100万次,而NOR只有10万次。

外行看Flash的存储原理相关推荐

  1. RAM、ROM、FLASH的存储原理及区别

    一.RAM(Random Access Memory )随机存取存储器,主要作用是存储代码和数据供CPU 需要时调用.这些数据的存储并不像用袋子盛米那般,更像是图书馆中用有格子的书架存放书籍一样,不但 ...

  2. NAND FLASH ECC校验原理与实现

    NAND FLASH ECC校验原理与实现 2008-01-25 14:57:27 转自:http://blog.csdn.net/nhczp/archive/2007/07/20/1700031.a ...

  3. 量子计算机科学原理,1000字看懂IBM量子计算机原理

    原标题:1000字看懂IBM量子计算机原理 IBM建造了一台真正的量子计算机,开启了量子计算的新纪元.为了得瑟一下,近日他们启动了量子计算云服务,让外部程序员和研究者可以通过算法来测试他们的量子芯片, ...

  4. 采用NAND Flash设计存储设备的挑战在哪里?

    对于搞电子设计的工程师而言,NAND Flash是再熟悉不过的东西了.在电子设计的时候,NAND Flash通常作为大容量存储介质,可以类比为PC系统中的磁盘.在电子设计领域,对于小容量存储,还可以采 ...

  5. Git 存储原理及相关实现

    Git 是目前最流行的版本控制系统,从本地开发到生产部署,我们每天都在使用 Git 进行我们的版本控制,除了日常使用的命令之外,如果想要对 Git 有更深一步的了解,那么研究下 Git 的底层存储原理 ...

  6. java 整数变负数_一文帮你读懂Java整数的存储原理

    前言 大家应该都知道,整数包括负数,零,和正数.在Java中,基本类型中byte(8位).short(16位).int(32位).long(64位)属于整数,并且没有无符号数,均是有符号的.对于计算机 ...

  7. linux下nand flash驱动工作原理,1.3.4. Nand flash驱动工作原理

    1.3.4. Nand flash驱动工作原理 在介绍具体如何写Nand Flash驱动之前,我们先要了解,大概的整个系统,和Nand Flash相关的部分的驱动工作流程,这样,对于后面的驱动实现,才 ...

  8. 基于闪存存储原理的U盘数据安全测试和U盘数据保护软件

    第一章 摘要 Flash Memory是一种长寿命的非易失性存储介质,其存储原理存在诸多漏洞.其中最为严重的则为写入次数上限.而以闪存作为存储介质的U盘是否会因闪存的存储缺陷而成为不安全的存储设备,这 ...

  9. minio对象存储原理_使用MinIO在本地运行S3对象存储

    minio对象存储原理 Object storage is amazingly versatile. We normally associate it with AWS S3, but Object ...

最新文章

  1. 【Groovy】Groovy 动态语言特性 ( Groovy 语言与 Java 语言执行效率对比 | 以动态特性编译的 Groovy 类 | 以静态特性编译的 Groovy 类 )
  2. MySQL-binlog格式对主从复制的影响MySQL主从复制的过程
  3. velocity参数重新赋值_Velocity(5)——#set指令
  4. 2019第10周知识总结
  5. mysql多线程导出_MySQL多线程导入导出工具Mydumper
  6. UNIX系统编程小结(三)----进程相关
  7. 土建中级工程师考试用书电子版_建筑工程中级职称考试试卷教学教材
  8. 无人机——像素坐标系转世界坐标系(NED)
  9. 阿里云服务搭建微信小程序开发环境
  10. czl蒻蒟的OI之路3
  11. Excel提取插入的PPT对象
  12. Linux 7 种文件类型
  13. Java培训机构哪家好,不靠谱的有哪些
  14. 最新彩虹易支付全解版疑似hack易支付整站源码打包
  15. 【深度学习图像识别课程】毕业项目:狗狗种类识别(1)环境准备
  16. 博客园自定义鼠标样式
  17. 【ICPC46届上海站 Edge Groups】树形dp
  18. 常见游戏设计思路及手法
  19. 阿里云服务器的优势,为何选择阿里云服务器?
  20. 三方直播SDK对比(腾讯云,阿里云,网易云信,七牛云,金山云,声网,即构科技)

热门文章

  1. python getopt
  2. iOS 5将加入全新的通知信息和桌面Widgets
  3. (转载)用oracle触发器对记录表增加记录的问题
  4. DHCP服务器-配置
  5. python爬虫urllib 数据处理_python爬虫学习笔记(三)-爬取数据之urllib库
  6. linux启动nifi指令,Nifi 组件脚本开发 - ExecuteScript 使用指南 (二)
  7. java replaceall正则表达式_编写高性能Java代码的最佳实践
  8. 高并发图片实时渲染技术在阿里妈妈的大规模应用
  9. java开发websocket聊天室_java实现基于websocket的聊天室
  10. 实验7-3-2 查找指定字符 (15分)