NAND NOR 的区别

来源:互联网 发布:双色球杀复式缩水软件 编辑:程序博客网 时间:2024/05/09 21:06

转自http://bbs.ednchina.com/view_comments.jspa?entry_id=3000024&from=RSS 

 

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型闪存。

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

原创粉丝点击