Nand Flash与Nor Flash

起始

1988年,Intel于首先开发出NOR flash技术,一经推出很快蚕食掉EPROM和EEPROM的市场。因此可实现程序在片内执行。
1989年,东芝公司发表了NAND flash结构,强调降低每比特的成本,且容量可以很高。
所以:NAND闪存采用非常小的单元尺寸设计,可实现低位成本的存储数据,主要用作高密度数据存储介质,用于消费类设备,如数码相机和USB固态磁盘驱动器。
NOR Flash通常用于便携式电子设备(如手机和PDA)中的代码存储和直接执行。
而且:NOR和NAND闪存系统都是电可擦除解决方案,可以多次写入和擦除数据,但在关闭电源时不会丢失存储的数据。

内部结构

在NOR Flash的内部电路配置中,各个存储器单元并联连接,这使得器件能够实现随机访问。
此配置可实现随机访问微处理器指令所需的短读取时间。
NOR Flash是低密度,高速读取应用的理想选择,这些应用大多是只读的,通常称为代码存储应用。
NAND闪存是作为高密度数据存储优化的替代方案而开发的,在权衡中放弃随机访问能力以实现更小的单元尺寸,从而转换为更小的芯片尺寸和更低的每比特成本。
这是通过创建一系列连接成串的八个存储晶体管来实现的。
NAND闪存系统利用NAND闪存架构的高存储密度和更小的单元尺寸,通过编程数据块实现更快的写入和擦除。
NAND闪存是低成本,高密度,高速编程/擦除应用的理想选择,通常被称为数据存储应用。

由于其本身两者结构差异以及半导体行业现有发展来看,对于任何给定的光刻工艺,NAND闪存阵列的密度将始终高于NOR闪存。理论上,对于相同的工艺技术和芯片尺寸,最高密度的NAND将至少是NOR密度的两倍。

NAND 与 NOR Flash的封装引脚

NAND、NOR封装都包含TSOP封装与BGA封装,下面以TSOP48举例:
Nand Flash
特点:有同步与分同步之分;也有ONFI与TOGGLE之分,这些将在以后文章介绍。
注意NAND的数据和地址信号是公用的数据总线(一般是8条或者16条);其余为命令线以及控制线,具体如下:
ALE:地址锁存信号线;
CE#:片选线,低电平有效;
CLE:命令所存信号线;
DQX:数据输入输出;
RE#:读信号使能;
WE#:写信号使能;
WP#:写保护,保护数据;
R/B#:Read、Busy输出指示,OD门;
其余为电源和地引脚。

NOR Flash
特点:无同步与异步之分,该器件的数据和地址分开,使用不同的总线传输,各司其职,所以数据传输速度比较快。具体引脚如下:
A[MAX:0]:地址传输线;
CE#:芯片片选;
OE#:输出使能;
WE#:写使能;
VPP/WP#:编程电压/写保护‘
BYTE#:位选择/字选择,8位或者16位总线选择;
RST#:复位信号;
DQx:数据信号总线;
RY/BY#:准备/繁忙指示信号,OD门;
其余为Vcc和GND。

并列比较

区别/差异


如上图,两者区别主要在于以下几点:

项目 待机功耗 每bit花费 文件存储 程序运行 容量 写速度 读取速度 工作功耗
NAND 适合 不行
NOR 不适合 可以

如何选取

NAND闪存的特点是:高密度,中读取速度,高写入速度,高擦除速度,以及间接或I / O类访问。NOR闪存的特点是密度低,读取速度快,写入速度慢,擦除速度慢,以及随机访问接口。

对于需要从Flash引导的系统,从Flash执行代码,或者如果读取延迟是一个问题,NOR Flash可能就是答案。但是,对于存储应用,NAND Flash的更高密度以及高编程和擦除速度使其成为最佳选择。虽然高密度闪存器件的高编程速度的好处是显而易见的,但擦除性能同样重要,尽管不太明显。与磁存储系统驱动器(硬盘驱动器和磁带)不同,闪存需要一个单独的擦除步骤,以便在器件编程之前将所有位恢复为“1”状态。

功率是许多应用的另一个重要问题。对于任何写密集型应用,NAND闪存将消耗更少的功率。虽然NOR闪存和NAND闪存之间的瞬时功率(电压电流)数字似乎相当,但总能量将是NOR闪存显着更高,因为能量=功率*时间。
以下为关键参数对比:

所以,当系统 (如相机电话) 同时需要代码执行和大容量数据存储时, 设计人员可能需要考虑替代方案和权衡, 例如使用这两种类型的闪存, 可能与伪静态 RAM (PSRAM) 结合使用, 或将 NAND 与低功耗 DRAM 结合使用, 以便在其中运行操作代码。最好选择的闪存将是以最低的成本提供所需的性能和密度的闪存。

硬件电路设计

NAND Flash

在NAND Flash器件处:
1、电源设计,器件包含两种电压,接口电压Vccq和内部存储器电压Vcc,请记住接口电压Vccq小于等于内部存储器电压Vcc。一般接口电压有3.3、1.8和1.2 V,但是常见的是3.3 V。电源引脚放置10 uF和100 nF电容用于滤波。
2、R/B引脚需要上接上拉电阻,因为该引脚为OD(漏极开路)门结构,用于指示空闲和繁忙状态。
3、CE片选引脚,该引脚为片选信号,上电时可以IO口控制,但是IO口可能是高、低、高阻,很难控制,所以我们要给一个确定的点平,高电平,不选中。(CE低电平有效)。
4、WP引脚,写保护引脚,该引脚也需要一个稳定的上电电平。所以该引脚我们上拉就是不写保护;下拉就是写保护状态。(WP低电平有效)。
5、Layout时,电源滤波电容靠近NAND Flash电源引脚放置。
6、将NAND Flash尽量靠近CPU放置,这样可以减小走线总线电容,提高信号完整性。
7、对于数据口,有些人建议走线要等常处理,但是实际上很多情况下都是非等长的处理,在我做的项目里影响不是很大,这个看产品类型以及厂商规范。

8、因为ONFO与TOGGLE规范有些差异,所以需要在设计时预留兼容两家设计的器件,我使用的主要是镁光的,所以还好,主要是东芝的不太一样。

在CPU NAND Flash接口处
1、在CPU侧的NAND Flash接口,一般都是eMMC与NAND接口共存通用的,因为eMMC等于控制器+Nand Flash;所以需要看清楚,确定那些信号指示什么,这个主要看控制器原厂的设计。
2、CPU支持的NAND Flash容量大小,块的数量,页的数量是有一定限制的,不可能无限大,就像手机可以安装的SD卡,有容量限制一样。所以在实际开发时需要注意。
3、某些CPU需要额外的配置,在上电时获取存储器的相关信息;比如:容量大小、块的数量、页的数量,这其实就是很常见的一种硬件识别软件做法,具体实现是外部IO口的电平状态来确定。

NOR Flash

NOR Flash的电路设计基本上与NAND Flash一致,仅仅是NOR的数据和地址分开了,不用每次需要传地址再传数据了。

SLC、MLC、TLC

SLC:
SLC = Single-Level Cell ,即1bit/cell,速度快寿命长,价格超贵(约MLC 3倍以上的价格),约10万次擦写寿命;
MLC:
MLC = Multi-Level Cell,即2bit/cell,速度一般寿命一般,价格一般,约3000—10000次擦写寿命。
TLC:
TLC = Trinary-Level Cell,即3bit/cell,也有Flash厂家叫8LC,速度慢寿命短,价格便宜,约500次擦写寿命,目前还没有厂家能做到1000次。
QLC
QLC是东芝最先实现商用的,但是目前信息很少,故不作详细介绍。

以上区分在固态硬盘SSD里面很常见,人们在选择时总会不好确定是选择那种的;其实上面已经很明确了,速度、寿命、容量、性价比时需要考虑的;但是SSD不仅取决于存储类型,也取决于接口控制芯片的性能,就像同样大的火车,火车头不行,那么大的货箱没用。最重要的是,电子产品的保修期很短,你能确定在保修期内上面的四种存储都会坏掉吗?显然是值得考量的。

Reference

[1].东芝存储
[2].NAND 百科
[3].三星电子

NAND Flash系列之NAND与NOR Flash相关推荐

  1. Flash 系列:Nor/Nand/OneNand

    NAND Flash和NOR Flash是目前市场上两种主要的非易失闪存芯片. 与NOR Flash相比,NAND Flash在容量.功耗.使用寿命等方面的优势使其成为高数据存储密度的理想解决方案.N ...

  2. Flash 系列: Nor Nand OneNand

    来自 :http://hi.baidu.com/haozhongtao/blog/item/2ad71e251d75b52cd5074253.html Nor Nand OneNand NAND Fl ...

  3. 手把手系列--编写Keil MDK 外部FLASH下载算法

    声明:博文中涉及到的版权软件只用于教学使用 一.目的         完整工程下载地址:         链接:https://pan.baidu.com/s/1xtr8m_KGsyx64wN6rcn ...

  4. flash游戏html5支持吗,当flash邂逅html5

    随着html5的出台,很多人说flash有危机了,flash要淘汰了.大前端认为,其实不然,以上观点纯粹是危言耸听,flash在短期之内不会有任何危机问题,可能要经过一个年代之后,新的技术会替代. 一 ...

  5. safari java插件故障_safari flash插件故障怎么办 mac safari flash插件故障解决方法

    近几日,许多网友都在关注safari flash插件故障怎么办 mac safari flash插件故障解决方法这个话题,那么safari flash插件故障怎么办 mac safari flash插 ...

  6. flash和linux文件系统,面向大容量Flash的高效Linux文件系统改进和实现

    摘要: 文件系统是Linux操作系统的重要组成部分.而本文对于面向大容量Flash文件系统高效性的研究则主要侧重于对于嵌入式Linux操作系统文件系统的研究.由于嵌入式设备介质的特殊性,电源系统的不稳 ...

  7. php flash上传进度条,PHP_PHP+FLASH实现上传文件进度条相关文件 下载,PHP之所以很难实现上传进度条 - phpStudy...

    PHP+FLASH实现上传文件进度条相关文件 下载 PHP之所以很难实现上传进度条是因为在我们上传文件到服务器的时候,要等到文件全部送到服务器之后,才执行相应的php文件.在这之前,文件数据保存在一个 ...

  8. flash 异常修复:QQ 的 flash 图标显示异常?QQ 秀、表情加载异常?一招解决

    文章目录 前言 一.产生错误场景 1.1.flash 图标显示异常 1.2.解决思路 二.安装合适版本的 Flash Player 2.1.选择合适版本的 Flash Player 2.2.安装 Fl ...

  9. Magento: 代替flash上传 How to disable Flash uploader in Magento (product images and

    1. 替换产品页flash上传按钮 - 使用 Dull_Uploader How to disable Flash uploader in Magento 1.4.x - 1.9.x So what ...

最新文章

  1. saltstack之(十二)配置管理mount
  2. 如何用php弄导航栏,怎样用PHP来给网页做导航栏
  3. ubuntu修改根用户密码
  4. oracle 管道通信,oracle管道化表函数
  5. 发布一个适合服务端C++程序的高效日志库
  6. Python 打包的EXE文件反编译1|EXE文件反编译为pyc文件
  7. 微信小程序底部导航栏配置
  8. 机器学习(3)特征提取2 -- 文本特征提取(包括中文文本特征提取)
  9. 点到平面的距离、向量与平面夹角
  10. TableView下拉刷新崩溃
  11. 什么是windows的域(Domain)?
  12. Angular 的 ngOnInit 和 Constructor 的区别
  13. 运动轨迹绘制页面的设计与实现:仿照运动APP的轨迹记录功能将HTML5地理定位技术用于移动设备,实现地图显示与用户打车从起点到终点的运动轨迹绘制效果。
  14. .net开发过程中,错误集锦
  15. Java 中一个天天都在被人使用,但你并不知道为什么的知识点
  16. 做好如何融洽处理人际关系文章 把握是前言
  17. Pixel3 XL 刷Android原生系统,刷Magisk 进行ROOT
  18. 安全加密 - 安全认证 EAL,CC
  19. 【STM32】RTC休眠唤醒(停机模式)、独立看门狗开启状态下
  20. vue 数组中嵌套数组_vue数组嵌套数组的问题

热门文章

  1. Stm32_电容式触摸屏- GT9147获取ID
  2. HTML+CSS+JavaScript 实现登录注册页面(超炫酷)
  3. 论文笔记:Highly accurate protein structure prediction with AlphaFold (AlphaFold 2 appendix)
  4. Win10 SQL Server 2012 企业版 安装教程
  5. c语言万年历闹钟程序,C语言万年历的源程序
  6. c#-winform重绘Tabcontrol控件,标签带Logo图标
  7. Python:RuntimeWarning: invalid value encountered in true_divide解决方案
  8. 招沿实业怎样让投资理财收益最大化
  9. 分享2款设备管理系统源码:Springboot医院设备管理+物联网云监控IOT设备管理
  10. codeforces 378C MAZE