ROM、RAM、DRAM、SRAM和FLASH的区别

ROMRAM指的都是半导体存储器,ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据典型的RAM就是计算机的内存。

 

RAM有两大类,一种称为静态RAMStatic RAM/SRAM),SRAM速度非常快,是目前读写最快的存储设备了,但是它也非常昂贵,所以只在要求很苛刻的地方使用,譬如CPU的一级缓冲,二级缓冲。另一种称为动态RAMDynamic RAM/DRAM),DRAM保留数据的时间很短,速度也比SRAM慢,不过它还是比任何的ROM都要快,但从价格上来说DRAM相比SRAM要便宜很多,计算机内存就是DRAM

 

DRAM分为很多种,常见的主要有FPRAM/FastPageEDORAMSDRAMDDR RAMRDRAMSGRAM以及WRAM等,这里介绍其中的一种DDR RAM

 

DDR RAMDate-Rate RAM)也称作DDR SDRAM这种改进型的RAMSDRAM是基本一样的,不同之处在于它可以在一个时钟读写两次数据,这样就使得数据传输速度加倍了。这是目前电脑中用得最多的内存在很多高端的显卡上,也配备了高速DDR RAM来提高带宽,这可以大幅度提高3D加速卡的像素渲染能力

 

内存工作原理:

 

内存是用来存放当前正在使用的(即执行中)的数据和程序,我们平常所提到的计算机的内存指的是动态内存(即DRAM,动态内存中所谓的"动态",指的是当我们将数据写入DRAM后,经过一段时间,数据会丢失,因此需要一个额外设电路进行内存刷新操作

 

具体的工作过程是这样的:一个DRAM的存储单元存储的是0还是1取决于电容是否有电荷,有电荷代表1,无电荷代表0。但时间一长,代表1的电容会放电,代表0的电容会吸收电荷,这就是数据丢失的原因;刷新操作定期对电容进行检查,若电量大于满电量的12,则认为其代表1,并把电容充满电;若电量小于12,则认为其代表0,并把电容放电,藉此来保持数据的连续性。

 

ROM也有很多种,PROM是可编程的ROMPROMEPROM(可擦除可编程ROM)两者区别是,PROM是一次性的,也就是软件灌入后,就无法修改了,这种是早期的产品,现在已经不可能使用了,而EPROM是通过紫外光的照射擦出原先的程序,是一种通用的存储器。另外一种EEPROM是通过电子擦出,价格很高,写入时间很长,写入很慢

 

举个例子,手机软件一般放在EEPROM中,我们打电话,有些最后拨打的号码,暂时是存在SRAM中的,不是马上写入通讯记录(通话记录保存在EEPROM中),因为当时有很重要工作(通话)要做,如果写入,漫长的等待是让用户忍无可忍的。

 

PSRAM,假静态随机存储器


基本原理:

 

PSRAM就是伪SRAM内部的内存颗粒跟SDRAM的颗粒相似,但外部的接口跟SRAM相似,不需要SDRAM那样复杂的控制器和刷新机制,PSRAM的接口跟SRAM的接口是一样的。

 

PSRAM容量有8Mbit,16Mbit,32Mbit等等,容量没有SDRAM那样密度高,但肯定是比SRAM的容量要高很多的,速度支持突发模式,并不是很慢HynixCoremagic, WINBOND .MICRON. CY 等厂家都有供应,价格只比相同容量的SDRAM稍贵一点点,比SRAM便宜很多。

 

PSRAM主要应用于手机,电子词典,掌上电脑,PDA,PMP.MP3/4,GPS接收器等消费电子产品SRAM(采用6T的技术)相比,PSRAM采用的是1T+1C的技术,所以在体积上更小,同时,PSRAMI/O接口与SRAM相同.在容量上,目前有4MB,8MB,16MB,32MB,64MB128MB。比较于SDRAM,PSRAM的功耗要低很多。所以对于要求有一定缓存容量的很多便携式产品是一个理想的选择。

 

===================================================

FLASH存储器又称闪存,它结合了ROMRAM的长处,不仅具备电子可擦除可编程(EEPROM)的性能,还不会断电丢失数据同时可以快速读取数据NVRAM的优势),U盘和MP3里用的就是这种存储器。在过去的20年里,嵌入式系统一直使用ROMEPROM)作为它们的存储设备,然而近年来Flash全面代替了ROMEPROM)在嵌入式系统中的地位,它用作存储Bootloader以及操作系统或者程序代码,或者直接当硬盘使用(U盘)。

 

目前Flash主要有NOR FlashNADN Flash


一、类型理解

   分为NOR(或非)  NAND(与非)

二、接口理解

  NOR(或非)----地址、数据总线分开;

  NAND(与非)----地址、数据总线共用。

三、读写单位:

  NOR(或非)----字节; 

  NAND(与非)----页。

四、组成结构:

   NOR(或非)----扇区、字节;

   NAND(与非)----块、页;

五、擦除单位:

   NOR(或非)----扇区;

   NAND(与非)----块;


NOR Flash读取和我们常见的SDRAM的读取是一样,用户可以直接运行装载在NOR FLASH里面的代码,这样可以减少SRAM的容量从而节约了成本。

 

NAND Flash没有采取内存的随机读取技术,它的读取是以一次读取一块的形式来进行的,通常是一次读取512个字节,采用这种技术的Flash比较廉价。用户不能直接运行NAND Flash上的代码因此好多使用NAND Flash的开发板除了使用NAND Flah以外,还加上了一块小的NOR Flash来运行启动代码。

 

一般小容量的用NOR Flash,因为其读取速度快,多用来存储操作系统等重要信息,而大容量的用NAND FLASH,最常见的NAND FLASH应用是嵌入式系统采用的DOCDisk On Chip)和我们通常用的"闪盘",可以在线擦除。目前市面上的FLASH主要来自IntelAMDFujitsuToshiba,而生产NAND Flash的主要厂家有SamsungToshiba

===================================================================

NAND FlashNOR Flash的比较

 

NORNAND是现在市场上两种主要的非易失闪存技术。Intel1988年首先开发出NOR flash技术,彻底改变了原先由EPROMEEPROM一统天下的局面。紧接着,1989年,东芝公司发表了NAND flash结构,强调降低每比特的成本,更高的性能,并且象磁盘一样可以通过接口轻松升级。

 

大多数情况下闪存只是用来存储少量的代码,这时NOR闪存更适合一些。而NAND则是高数据存储密度的理想解决方案

 

NOR一般只用来存储少量的代码;NOR主要应用在代码存储介质中。NOR的特点应用简单、无需专门的接口电路、传输效率高,它是属于芯片内执行(XIP, eXecute In Place),这样应用程序可以直接在(NOR型)flash闪存内运行,不必再把代码读到系统RAM。但是很低的写入和擦除速度大大影响了它的性能NOR flash带有SRAM接口,有足够的地址引脚来寻址,可以很容易地存取其内部的每一个字节NOR flash占据了容量为116MB闪存市场的大部分。

 

NAND结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快。应NAND的困难在于nand flash的管理需要特殊的系统接口

 

1、性能比较:

 

任何flash器件的写入操作只能在空或已擦除的单元内进行,所以大多数情况下,进行写入操作之前必须先执行擦除NAND器件执行擦除操作是十分简单的,NOR则要求在进行擦除前先要将目标块内所有的位都写为1

 

由于擦除NOR器件时是以64128KB的块进行的,执行一个写入/擦除操作的时间为5s,与此相反,擦除NAND器件是以832KB的块进行的,执行相同的操作最多只需要4ms

 

NOR速度比NAND稍快一些。

NAND写入速度比NOR很多

NAND4ms擦除速度远比NOR5s快。

大多数写入操作需要先进行擦除操作

NAND的擦除单元更小,相应的擦除电路更少

(注:NOR FLASH SECTOR擦除时间视品牌、大小不同而不同,比如,4M FLASH,有的SECTOR擦除时间为60ms,而有的需要最大6s)

 

2、接口差别:

 

NOR flash带有SRAM接口,有足够的地址引脚来寻址,可以很容易地存取其内部的每一个字节

NAND器件使用复杂的I/O口来串行地存取数据,各个产品或厂商的方法可能各不相同。8个引脚用来传送控制、地址和数据信息。

NAND读和写操作采用512字节的块这一点有点像硬盘管理此类操作,很自然地,基于NAND的存储器就可以取代硬盘或其他块设备。


3、容量和成本:

 

NAND flash的单元尺寸几乎是NOR器件的一半,由于生产过程更为简单,NAND结构可以在给定的模具尺寸内提供更高的容量,也就相应地降低了价格

NOR flash占据了容量为116MB闪存市场的大部分,而NAND flash只是用在8128MB的产品当中,这也说明NOR主要应用在代码存储介质中,NAND适合于数据存储


4、可靠性和耐用性:

 

可以从寿命(耐用性)、位交换和坏块处理三个方面来比较NORNAND的可靠性。

 

A)寿命(耐用性)

 

NAND闪存中每个块的最大擦写次数是一百万次,而NOR的擦写次数是十万次NAND存储器除了具有101的块擦除周期优势,典型的NAND块尺寸要比NOR器件小8,每个NAND存储器块在给定的时间内的删除次数要少一些。

 

B)位交换

 

所有flash器件都受位交换现象的困扰。在某些情况下(很少见,NAND发生的次数要比NOR)一个比特(bit)位会发生反转或被报告反转了。

一位的变化可能不很明显,但是如果发生在一个关键文件上,这个小小的故障可能导致系统停机。如果只是报告有问题,多读几次就可能解决了。

当然,如果这个位真的改变了,就必须采用错误探测/错误更正(EDC/ECC)算法。位反转的问题更多见于NAND闪存NAND的供应商建议使用NAND闪存的时候,同时使用EDC/ECC算法

这个问题对于用NAND存储多媒体信息时倒不是致命的。当然,如果用本地存储设备来存储操作系统、配置文件或其他敏感信息时,必须使用EDC/ECC系统以确保可靠性

 

C)坏块处理

 

NAND器件需要对介质进行初始化扫描以发现坏块,并将坏块标记为不可用。在已制成的器件中,如果通过可靠的方法不能进行这项处理,将导致高故障率。

 

5、易于使用:

 

可以非常直接地使用基于NOR的闪存,可以像其他存储器那样连接,并可以在上面直接运行代码。

由于nandflash需要I/O接口,所以要复杂得多。各种NAND器件的存取方法因厂家而异。

在使用NAND器件时,必须先写入驱动程序,才能继续执行其他操作NAND器件写入信息需要相当的技巧,因为设计师绝不能向坏块写入,这就意味着NAND器件上自始至终都必须进行虚拟映射。


6、软件支持:

 

NOR器件上运行代码不需要任何的软件支持,NAND器件上进行执行操作时,通常需要 驱动程序,也就是内存技术驱动程序(MTD)NANDNOR器件在进行写入和擦除操作时都需要MTD

使用NOR器件时所需要的MTD要相对少一些。驱动还用于对DiskOnChip产品进行仿真和NAND闪存的管理,包括纠错、坏块处理和损耗平衡。

 

NOR FLASH的主要供应商是INTEL ,MICRO等厂商,曾经是FLASH的主流产品,但现在被NAND FLASH挤的比较难受。NOR优点可以直接从FLASH中运行程序缺点工艺复杂,价格比较贵。

 

NAND FLASH的主要供应商是SAMSUNG和东芝,在U盘、各种存储卡、MP3播放器里面的都是这种FLASH,由于工艺上的不同,Nand flashNOR FLASH拥有更大存储容量,而且便宜。但也有缺点,就是无法寻址和直接运行程序,只能存储数据。另外NAND FLASH非常容易出现坏区,所以需要有校验的算法

 

在掌上电脑里要使用NAND FLASH存储数据和程序,但是必须有NOR FLASH来启动除了SAMSUNG处理器支持nand flash启动程序,其他用在掌上电脑的主流处理器还不支持直接由NAND FLASH启动程序。因此,必须先用一片小的NOR FLASH 启动机器,在把OS等软件从NAND FLASH载入SDRAM中运行才行,挺麻烦的。


7、寻址:

NAND每次读取数据时都是指定块地址、页地址、列地址,列地址就是读的页内起始地址,每次都是先将数据读入页缓冲区内再 由I/O输入地址 在缓冲区内寻址,其实这里列地址,只是指定起始地址的作用。NAND是 以页 为基本单位 操作的写入数据也是首先在页面缓冲区内缓冲,数据首先写入这里,再写命令后,再统一写入页内因此NAND页缓冲区的作用就是,保证芯片的按页的读、写操作,是I/O操作与芯片操作的接口、桥梁,因为数据是从I/O输入的,又是每次一个字节,因此需要缓冲。即使每次改写一个字节,都要重写整个页,因为它只支持页写,而且如果页内有未擦除的部分,则无法编程,在写入前必须保证页是空的


NOR的 读、写 字节为基本单位操作的,但擦除 是以扇区操作的。综上所述在芯片操作上,NAND要比NOR快很多,因为NAND是页操作的而NOR是字节操作的。

8、应用:
   NAND 正是基于这种构造:块、页,无法字节寻址,页读写本身就靠的是内部复杂的串、并行转换 ,因此也没有很多地址引脚,所以其地址、数据线共用,所以容量可以做的很大 。
NOR 是和SRAM一样的可随机存储的,也不需要驱动,因此,其地址就有限,所以容量普遍较小,其实是受限于地址线。


  基于以上几点,在工业领域,NOR 用的较多,特别是程序存储,少量数据存储等。

  在消费领域,大量数据存储,NAND较多。


存储器局限性

闪存最关键的限制可能是写/擦除周期数有限。多数商用基于快闪产品都保证能进行高达100万个写周期。这一数字看起来似乎很大,对于NOR闪存,很可能是这样,因为将一个软件或BIOS保存很长时间可能没问题。不过,在典型的经常进行文件写入、检索和重写的NAND应用中,这些周期很快耗完,而大多数用户可能不进行计数。对于频繁更新的关键数据的存储,闪存可能不适合。

为应对这种限制,可采用固件或文件系统驱动器,对存储器写的次数进行逐次计数。这些软件将动态地重新映射这些块,在扇区间分享写操作。换句话说,万一写操作失败,软件通过写验证和重新映射向未使用的扇区授权写操作。

像RAM一样,闪存可以一个字节或一个字一次进行读或编程,但擦除必须是一次进行一个完整的块,将块中的所有位重新置位为1。这意味着需要花更多时间进行编程。例如,如果将一位(0)写入一个块,要对该块重新编程,就必须完全擦除此块,而不是仅仅重写该位。


=========================================================================

 

DRAM利用MOS管的栅电容上的电荷来存储信息,一旦掉电信息会全部的丢失,由于栅极会漏电,所以每隔一定的时间就需要一个刷新机构给这些栅电容补充电荷,并且每读出一次数据之后也需要补充电荷,这个就叫动态刷新,所以称其为动态随机存储器。由于它只使用一个MOS管来存信息,所以集成度可以很高,容量能够做的很大。SDRAM比它多了一个与CPU时钟同步。

 

SRAM利用寄存器来存储信息,所以一旦掉电,资料就会全部丢失,只要供电,它的资料就会一直存在,不需要动态刷新,所以叫静态随机存储器。

 

以上主要用于系统内存储器,容量大,不需要断电后仍保存数据的。

 

Flash ROM是利用浮置栅上的电容存储电荷来保存信息,因为浮置栅不会漏电,所以断电后信息仍然可以保存。也由于其机构简单所以集成度可以做的很高,容量可以很大Flash rom写入前需要用电进行擦除,而且擦除不同与EEPROM可以以byte(字节)为单位进行,flash rom只能以sector(扇区)为单位进行。不过其写入时可以byte为单位flash rom主要用于biosU盘,Mp3等需要大容量且断电不丢数据的设备

原文地址:https://www.cnblogs.com/liulaolaiu/p/11745081.html