zoukankan      html  css  js  c++  java
  • NOR FLASH与NAND FLASH

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

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


  • 相关阅读:
    Solution: Win 10 和 Ubuntu 16.04 LTS双系统, Win 10 不能从grub启动
    在Ubuntu上如何往fcitx里添加输入法
    LaTeX 笔记---Q&A
    Hong Kong Regional Online Preliminary 2016 C. Classrooms
    Codeforces 711E ZS and The Birthday Paradox
    poj 2342 anniversary party
    poj 1088 滑雪
    poj 2479 maximum sum
    poj 2481 cows
    poj 2352 stars
  • 原文地址:https://www.cnblogs.com/noble/p/4144175.html
Copyright © 2011-2022 走看看