整理自NOR FLASH
与NAND FLASH

1:NandFlash与NorFlash典型电路图

Nor Flash接原理图

从上图可以看出,该NorFlash采用并行地址和数据总线, 其中,21bit地址总线,16bit数据总线。

该NorFlash最大可寻址2M的地址空间。实际上,该NorFlash大小为2M。所以,NorFlash可作内存使用。可以直接寻址每一个存储单元。

NandFlash的典型原理图

NandFlash没有区分地址总线和数据总线。只有一个8bit的I/O总线、6根控制线(WE、WP、ALE、CLE、CE、RE)和RB。

实际上,NandFlash数据和地址均通过8bit I/O总线串行传输的。

NOR型与NAND型闪存的区别很大,打个比方说,NOR型闪存更像内存,有独立的地址线和数据线;而NAND型更像硬盘,地址线和数据线是共用的I/O线,类似硬盘的所有信息都通过一条硬盘线传送一般。

NOR和SRAM都是可以连续空间寻址的,但是对于地址线的要求就多了,比如1MB的地址空间,需要20根地址线(2^20=1048576=1MB)。由于NAND不支持连续空间寻址,无法直接实现片内程序运行,所以要实现NAND BOOT,需要CPU端做一些特殊处理,一般都是将一定大小的程序从NAND读到CPU内部的SRAM里,从SRAM实现BOOT。

2:使用NandFlash,程序的放置与加载过程。

S3C2410满足从NandFlash上执行引导程序,为了支持NandFlash的系统引导,S3C2410具备了一个内部SRAM缓冲器。当系统启动时,NandFlash存储器的前面4KByte字节将被自动载入到SRAM中,然后系统自动执行这些载入的引导代码。

一般情况下,这4K的引导代码需要将NandFlash中程序内容拷贝到SDRAM中,在引导代码执行完毕后跳转到SDRAM执行。

自动导入模式步骤:

1、完成复位。

2、如果自动导入模式使能,NandFlash存储器的前4K字节被自动拷贝到SRAM内。

3、SRAM被映射到nGS0。

4、CPU在SRAM的4KB内开始执行引导代码。

3:NOR FALASH既然不仅可以记忆数据而且可以运行程序,是不是可以不要RAM?

理论上找一个大一点儿的norflash也应该可以,但事实上是不行的。

1、程序执行时中间要用到一些临时变量,一些临时的缓存数据,还有一些相应的堆栈 信息。这些变量与数据就要存在RAM中。理论上这些数据存在norflash中也是可以的,但这些变量是要频繁读写的,flash的擦写是有次数的(一般几万次到几百万次),对于一个高速的CPU像操作变量一样擦写flash,估计很快就挂了。

2、norflash的速度比起RAM来差得多,况且这些临时变量并不需要永久保存,可以掉丢失。

一般CPU内部都会有一小块的RAM,被称之为cache(高速缓存),常用的变量会放在这里来处理,大量的缓冲数据会放在外面的SDRAM中,这样会提高系统的速度。

4:NandFlash与NorFlash不同的连接方式

NandFlash与NorFlash具有相同的存储单元,存储原理相同但是他们的连接方式不同,所以存储管理上就有差异。

NorFlash存储单元之间采用的是并联方式,而NandFlash存储单元之间是串联方式。

NAND的结构与硬盘相似,NAND型闪存的编址方法是:全部存储单元被分成若干个块 ,每个块内又分成若干个页 ,每个页的大小为512x8bits,单元位宽为8。就是说,每个页内 有512条位线。页的大小之所以取512个字节,是为了方便闪存装置与磁盘进行数据交换,因为磁盘一个扇区也是512个字节,所以这绝不是数字上的巧合,而是刻意的安排。

Nor的结构与内存相同,Nor闪存具有专用的地址线,且存储单元是并行排布、可以实现一次性的直接寻址。

5:结构不同决定了性能不同

1)速度差异

任何闪存器件的写入操作只能在空或已擦除的单元内进行,所以大多数情况下,在进行写入操作之前必须先执行擦除。

在写数据和擦除数据时,nand因为支持整块擦写操作,所以速度要快得多。执行一次擦除操作,nor器件需要5s,而nand器件只需要4ms,速度相差千倍。但是,在读取nand闪存中的数据时情况就不同了,因为需要先向芯片发送地址信息进行寻址,之后才能开始读取数据。而nand的地址信息包括“块号”、“快内页号”、“快内字节号”三个部分,首先选择到某一块,然后选择其中的页,最后才能定位到所操作的字节。这样,每进行一次数据访问,就需要经过三次寻址,至少占用三个时钟周期。所以nor的读取速度很快。

2)容量和成本

Nor型闪存每个存储单元都与位线相连,增加了芯片内连线的数量,不利于存储密度的提高。通常nand型闪存单元的平面只有nor器件的一半,每个nand存储单元在体积上只有nor器件的1/8。Nand 芯片的价格通常比同等容量的nor芯片便宜。NAND结构可以在给定的模具尺寸内提供更高的容量,也就相应地降低了价格。NOR flash占据了容量为1~16MB闪存市场的大部分,而NAND flash只是用在8~128MB的产品当中,这也说明NOR主要应用在代码存储介质中,NAND适合于数据存储。NAND flash的单元尺寸几乎是NOR器件的一半,由于生产过程更为简单,NAND结构可以在给定的模具尺寸内提供更高的容量,也就相应地降低了价格。

3)易用性

NAND器件使用复杂的I/O口来串行地存取数据,各个产品或厂商的方法可能各不相同。8个引脚用来传送控制、地址和数据信息。NOR flash带有SRAM接口,有足够的地址引脚来寻址,可以很容易地存取其内部的每一个字节。

4)可靠性

一位的变化可能不很明显,但是如果发生在一个关键文件上,这个小小的故障可能导致系统停机。Nand闪存由于其结构特点,相邻存储单元之间交易发生位翻转而导致坏块的出现,增加了出错率。

5)耐用性

Nand 擦写次数100万次,而nor的擦写次数只有10万次。Nand与nor寿命之所以不同,是因为两者使用了不同的写入技术。Nand 采用f-n隧道效应,nor采用热电子注入方式。

6:选择nor还是nand

通过上边的介绍我们已经知道,nor闪存与nand闪存各有所长:

(1)nor的存储密度低,nand闪存的存储密度和存储容量均比较高。

(2)Nand型闪存在擦写文件时速度非常快,而nor的读取速度很快。

Nor和nand各有所长(nor读的快而nand写得快),但两种优势无法在一个芯片上得到体现。所以,设计人员在选用芯片时,只能趋利避害,依照使用目的和主要功能在两者之间进行适当的选择。一般的原则是:在大容量的多媒体应用中选用nand型闪存,而在数据/程序存储应用中选用nor型闪存。

除了速度、存储密度的因素,设计师在选择闪存芯片时,还要考虑接口设计。

NOR FLASH与NAND FLASH的更多相关文章

  1. nor flash与nand flash启动的简单比较--APPLE的ARM学习笔记一

    2010-10-08 22:26:00 A,nor flash与nand flash的一些区别 1)接口区别: NOR FLASH地址线和数据线分开,来了地址和控制信号,数据就出来. NAND Fla ...

  2. 新手学习ARM,对片内ram、SDRAM、NOR FLASH和NAND FLASH启动这几个概念的理解

    片内的ram用来存储启动代码,在2440初始化sdram之前,代码就在片内ram中运行.片内ram装载的是norflash中的内容,即u-boot. uboot放在norflash里,nandflas ...

  3. nor flash 和nand flash 傻傻分不清楚

    nor flash和nand flash差别 学习嵌入式有一段时间了,刚接触nor和nand时非常是迷惑.非要逼我写一篇博客才干记清楚. 首先他们都是存储设备.统称叫做flash memory.导致他 ...

  4. 存储Flash--NOR flash和 Nand flash

    flash是存储芯片的一种,通过特定的程序可以修改里面的数据.FLASH在电子以及半导体领域内往往表示Flash Memory的意思,即平时所说的“闪存”,全名叫Flash EEPROM Memory ...

  5. nor flash和nand flash的区别

    NOR和NAND是现在市场上两种主要的非易失闪存技术.Intel于1988年首先开发出NOR flash技术,彻底改变了原先由EPROM和EEPROM一统天下的局面.紧接着,1989年,东芝公司发表了 ...

  6. NOR FLASH与NAND FLASH的区别

    NOR和NAND是现在市场上两种主要的非易失闪存技术.Intel于1988年首先开发出NOR flash技术,彻底改变了原先由EPROM和EEPROM一统天下的局面.紧接着,1989年,东芝公司发表了 ...

  7. NOR flash和NAND flash区别,RAM 和ROM区别

    ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写.ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是 ...

  8. NOR flash和NAND flash区别,RAM 和ROM区别d

    ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写.ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是 ...

  9. 关于Nor Flash、Nand Flash等等

    [Nor Flash] Nor Flash的“读取”和RAM很类似,只要能能够提供数据的地址,数据总线就能够正确的给出数据,但不可以直接进行“写”操作: Nor Flash的写操作,需要遵循特定的命令 ...

随机推荐

  1. mybatis15 mapper方式 代码

    UserMapper.java package cn.itcast.mybatis.mapper; import java.util.List; import cn.itcast.mybatis.po ...

  2. CGI初识

    ---恢复内容开始--- 转自http://www.moon-soft.com/program/bbs/readelite887957.htm 用 C/C++ 写 CGI 程序 小传(zhcharle ...

  3. Android ListView实现仿iPhone实现左滑删除按钮

    需要自定义ListView.这里就交FloatDelListView吧. 复写onTouchEvent方法.如下: @Override public boolean onTouchEvent(Moti ...

  4. codeforces 505C Mr. Kitayuta, the Treasure Hunter(dp)

    题意:有30001个岛,在一条线上,从左到右编号一次为0到30000.某些岛屿上有些宝石.初始的时候有个人在岛屿0,他将跳到岛屿d,他跳跃的距离为d.如果当前他跳跃的距离为L,他下一次跳跃的距离只能为 ...

  5. 转之农民伯伯 IHttpHandler中使用Session实现原理[ASP.NET | IHttpHandler |IRequiresSessionState]

    前言 在实现自己的Handler的时候只需要继承IHttpHandler接口就行了,在Handler中使用Session时,只需要继承一下IRequiresSessionState就行了,到底为什么只 ...

  6. java中获得IP地址

    public class IPTest { public static void main(String[] args) { try{ // 获取计算机名 String name = InetAddr ...

  7. Tomcat启动后加载两次web.xml的问题(因为spring定时任务执行了俩次,引出此问题)

    http://www.linuxidc.com/Linux/2011-07/38779.htmhttp://jingyan.baidu.com/article/48206aeaf9422e216ad6 ...

  8. [转]深入理解JavaScript系列

    文章转自:汤姆大叔-深入理解JavaScript系列文章 深入理解JavaScript系列文章,包括了原创,翻译,转载,整理等各类型文章,如果对你有用,请推荐支持一把,给大叔写作的动力. 深入理解Ja ...

  9. 适合自己的vim配置文件

    主要用来写c++的:clang-completer这个是单独安装的,其他的都采用的vundle安装完成. clang-completer:只在centos7.2上安装成功过,6.4上失败了.先要安装一 ...

  10. php 单引号与双引号区别

    一.单引号与双引号区别 1." "双引号里面的字段会经过编译器解释,然后再当作HTML代码输出. 2.' '单引号里面的不进行解释,直接输出. 从字面意思上就可以看出,单引号比双引 ...