RAM与Nand/Nor flash之间的区别
主要讲RAM与flash,以及NAND flash与NOR flash的区别。
一、RAM和flash的区别
RAM有两大类,一种称为静态RAM(Static RAM/SRAM),SRAM速度非常快,是目前读写最快的存储设备了,但是它也非常昂贵,所以只在要求很苛刻的地方使用,譬如CPU的一级缓冲cache。另一种称为动态RAM(Dynamic RAM/DRAM),DRAM保留数据的时间很短,速度也比SRAM慢,不过它还是比任何的ROM都要快,但从价格上来说DRAM相比SRAM要便宜很多,计算机内存就是DRAM的。
Flash(闪存)也分两类,即nand 和 nor flash,flash闪存是非易失存储器,可以对称为块的存储器单元块进行擦写和再编程。任何flash器件的写入操作只能在空或已擦除的单元内进行,所以大多数情况下,在进行写入操作之前必须先执行擦除。Flash 的编程原理都是只能将1写为0,而不能将0写为1。所以在 Flash 编程之前,必须将对应的块擦除,而擦除的过程就是把所有位都写为 1的过程,块内的所有字节变为0xFF。
而我们平时接触最多的就是RAM即内存,这里主要也是讲内存与flash的区别:易失性,即断电后RAM里面的数据就没了,而fhash里面的数据依然存在。
二、NAND flash与 NOR flash的区别
1)NOR的特点是芯片内执行(XIP, eXecute In Place),这样应用程序可以直接在flash闪存内运行,不必再把代码读到系统RAM中。NOR在开发板中应用的非常广泛,通过JTAG/JLINK把boot烧到NOR中,通电后自动运行。这也是NAND和NOR最主要的区别。
2)NORflash带有SRAM接口,有足够的地址引脚来寻址,可以很容易地存取其内部的每一个字节;NAND器件使用复杂的I/O口来串行地存取数据,各个产品或厂商的方法可能各不相同。8个引脚用来传送控制、地址和数据信息;NAND读和写操作采用512字节的块,这一点有点像硬盘管理此类操作,很自然地,基于NAND的存储器就可以取代硬盘或其他块设备。
3)NAND的写入速度比NOR快很多,所以NAND适合用于存储数据。如U盘(NAND)存储数据比较快。
4)NOR的读速度比NAND稍快一些。
5)NAND的4ms擦除速度、编程速度远比NOR的5s快。
6)NAND的擦除单元更小,相应的擦除电路更少。
7)在NAND闪存中每个块的最大擦写次数是一百万次,而NOR的擦写次数是十万次。
8)NAND器件中的坏块是随机分布的,对介质进行初始化扫描发现坏块,并将坏块标记为不可用。在烧写内核到NAND的时候,经常有发现坏块提示。
9)由于Flash固有的电器特性,在读写数据过程中偶然会产生1位或几位数据错误,即位反转,NAND Flash发生位反转的几率要远大于NOR Flash。位反转无法避免,因此,使用NAND Flash的同时,应采用错误探测/错误更正(EDC/ECC)算法。
10)NANDFlash与NOR Flash相比容量大。
11)NOR价格高,呵呵,这才是最重要的。
补充:综合编程 , 其他综合 ,