admin管理员组

文章数量:1535481

2024年7月10日发(作者:)

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

ROM和RAM指的都是半导体存储器,ROM在系统停止供电的时候仍然可以保持

数据,而RAM通常都是在掉电之后就丢失数据,典型的RAM就是计算机的内

存。

RAM有两大类,一种称为静态RAM(Static RAM/SRAM),SRAM速度非常快,

是目前读写最快的存储设备了,但是它也非常昂贵,所以只在要求很苛刻的地方

使用,譬如CPU的一级缓冲,二级缓冲。另一种称为动态RAM(Dynamic RAM

/DRAM),DRAM保留数据的时间很短,速度也比SRAM慢,不过它还是比任

何的ROM都要快,但从价格上来说DRAM相比SRAM要便宜很多,计算机内

存就是DRAM的。

DRAM分为很多种,常见的主要有FPRAM/FastPage、EDORAM、SDRAM、DDR

RAM、RDRAM、SGRAM以及WRAM等,这里介绍其中的一种DDR RAM。

DDR RAM(Date-Rate RAM)也称作DDR SDRAM,这种改进型的RAM和S

DRAM是基本一样的,不同之处在于它可以在一个时钟读写两次数据,这样就使

得数据传输速度加倍了。这是目前电脑中用得最多的内存。在很多高端的显卡上,

也配备了高速DDR RAM来提高带宽,这可以大幅度提高3D加速卡的像素渲染

能力。

内存工作原理:

内存是用来存放当前正在使用的(即执行中)的数据和程序,我们平常所提到的

计算机的内存指的是动态内存(即DRAM),动态内存中所谓的"动态",指的

是当我们将数据写入DRAM后,经过一段时间,数据会丢失,因此需要一个额

外设电路进行内存刷新操作。

具体的工作过程是这样的:一个DRAM的存储单元存储的是0还是1取决于电

容是否有电荷,有电荷代表1,无电荷代表0。但时间一长,代表1的电容会放

电,代表0的电容会吸收电荷,这就是数据丢失的原因;刷新操作定期对电容进

行检查,若电量大于满电量的1/2,则认为其代表1,并把电容充满电;若电

量小于1/2,则认为其代表0,并把电容放电,藉此来保持数据的连续性。

ROM也有很多种,PROM是可编程的ROM,PROM和EPROM(可擦除可编程R

OM)两者区别是,PROM是一次性的,也就是软件灌入后,就无法修改了,这

种是早期的产品,现在已经不可能使用了,而EPROM是通过紫外光的照射擦

出原先的程序,是一种通用的存储器。另外一种EEPROM是通过电子擦出,价

格很高,写入时间很长,写入很慢。

举个例子,手机软件一般放在EEPROM中,我们打电话,有些最后拨打的号码,

暂时是存在SRAM中的,不是马上写入通讯记录(通话记录保存在EEPROM中),

因为当时有很重要工作(通话)要做,如果写入,漫长的等待是让用户忍无可忍

的。

PSRAM,假静态随机存储器。

基本原理:

PSRAM就是伪SRAM,内部的内存颗粒跟SDRAM的颗粒相似,但外部的接口

跟SRAM相似,不需要SDRAM那样复杂的控制器和刷新机制,PSRAM的接口

跟SRAM的接口是一样的。

PSRAM容量有8Mbit,16Mbit,32Mbit等等,容量没有SDRAM那样密度高,但肯

定是比SRAM的容量要高很多的,速度支持突发模式,并不是很慢,Hynix,Co

remagic, WINBOND .MICRON. CY 等厂家都有供应,价格只比相同容量的SDR

AM稍贵一点点,比SRAM便宜很多。

PSRAM主要应用于手机,电子词典,掌上电脑,PDA,3/4,GPS接收器等

消费电子产品与SRAM(采用6T的技术)相比,PSRAM采用的是1T+1C的技术,所

以在体积上更小,同时,PSRAM的I/O接口与SRAM相同.在容量上,目前有4MB,8

MB,16MB,32MB,64MB和128MB。比较于SDRAM,PSRAM的功耗要低很多。所

以对于要求有一定缓存容量的很多便携式产品是一个理想的选择。

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

FLASH存储器又称闪存,它结合了ROM和RAM的长处,不仅具备电子可擦

除可编程(EEPROM)的性能,还不会断电丢失数据同时可以快速读取数据(N

VRAM的优势),U盘和MP3里用的就是这种存储器。在过去的20年里,嵌入

式系统一直使用ROM(EPROM)作为它们的存储设备,然而近年来Flash全面

代替了ROM(EPROM)在嵌入式系统中的地位,它用作存储Bootloader以及操

作系统或者程序代码,或者直接当硬盘使用(U盘)。

目前Flash主要有NOR Flash和NADN 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应用是嵌入式系

统采用的DOC(Disk On Chip)和我们通常用的"闪盘",可以在线擦除。目前市

面上的FLASH主要来自Intel,AMD,Fujitsu和Toshiba,而生产NAND Flash

的主要厂家有Samsung和Toshiba。

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

NAND Flash和NOR Flash的比较

NOR和NAND是现在市场上两种主要的非易失闪存技术。Intel于1988年首先

开发出NOR flash技术,彻底改变了原先由EPROM和EEPROM一统天下的局面。

紧接着,1989年,东芝公司发表了NAND flash结构,强调降低每比特的成本,

更高的性能,并且象磁盘一样可以通过接口轻松升级。

大多数情况下闪存只是用来存储少量的代码,这时NOR闪存更适合一些。而N

AND则是高数据存储密度的理想解决方案。

NOR一般只用来存储少量的代码;NOR主要应用在代码存储介质中。NOR的特

点是应用简单、无需专门的接口电路、传输效率高,它是属于芯片内执行(XIP,

eXecute In Place),这样应用程序可以直接在(NOR型)flash闪存内运行,不

必再把代码读到系统RAM中。但是很低的写入和擦除速度大大影响了它的性能。

NOR flash带有SRAM接口,有足够的地址引脚来寻址,可以很容易地存取其

内部的每一个字节。NOR flash占据了容量为1~16MB闪存市场的大部分。

NAND结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的

速度也很快。应用NAND的困难在于nand flash的管理需要特殊的系统接口。

1、性能比较:

任何flash器件的写入操作只能在空或已擦除的单元内进行,所以大多数情况下,

在进行写入操作之前必须先执行擦除。NAND器件执行擦除操作是十分简单的,

而NOR则要求在进行擦除前先要将目标块内所有的位都写为1。

由于擦除NOR器件时是以64~128KB的块进行的,执行一个写入/擦除操作的

时间为5s,与此相反,擦除NAND器件是以8~32KB的块进行的,执行相同的

操作最多只需要4ms。

NOR的读速度比NAND稍快一些。

NAND的写入速度比NOR快很多。

NAND的4ms擦除速度远比NOR的5s快。

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

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

(注:NOR FLASH SECTOR擦除时间视品牌、大小不同而不同,比如,4M FLA

SH,有的SECTOR擦除时间为60ms,而有的需要最大6s。)

2、接口差别:

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

部的每一个字节。

NAND器件使用复杂的I/O口来串行地存取数据,各个产品或厂商的方法可能

各不相同。8个引脚用来传送控制、地址和数据信息。

NAND读和写操作采用512字节的块,这一点有点像硬盘管理此类操作,很自

然地,基于NAND的存储器就可以取代硬盘或其他块设备。

3、容量和成本:

NAND flash的单元尺寸几乎是NOR器件的一半,由于生产过程更为简单,NAN

D结构可以在给定的模具尺寸内提供更高的容量,也就相应地降低了价格。

NOR flash占据了容量为1~16MB闪存市场的大部分,而NAND flash只是用在

8~128MB的产品当中,这也说明NOR主要应用在代码存储介质中,NAND适

合于数据存储。

4、可靠性和耐用性:

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

性。

A)寿命(耐用性)

在NAND闪存中每个块的最大擦写次数是一百万次,而NOR的擦写次数是十

万次。NAND存储器除了具有10比1的块擦除周期优势,典型的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器件时,必须先写入驱动程序,才能继续执行其他操作。向NAN

D器件写入信息需要相当的技巧,因为设计师绝不能向坏块写入,这就意味着在

NAND器件上自始至终都必须进行虚拟映射。

6、软件支持:

在NOR器件上运行代码不需要任何的软件支持,在NAND器件上进行执行操

作时,通常需要 驱动程序,也就是内存技术驱动程序(MTD),NAND和NOR

器件在进行写入和擦除操作时都需要MTD。

使用NOR器件时所需要的MTD要相对少一些。驱动还用于对DiskOnChip产品

进行仿真和NAND闪存的管理,包括纠错、坏块处理和损耗平衡。

NOR FLASH的主要供应商是INTEL ,MICRO等厂商,曾经是FLASH的主流产品,

但现在被NAND FLASH挤的比较难受。NOR的优点是可以直接从FLASH中运

行程序,缺点是工艺复杂,价格比较贵。

NAND FLASH的主要供应商是SAMSUNG和东芝,在U盘、各种存储卡、MP3

播放器里面的都是这种FLASH,由于工艺上的不同,Nand flash比NOR 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写入前需要用电进行擦除,而且擦除不同与EEPRO

M可以以byte(字节)为单位进行,flash rom只能以sector(扇区)为单位进行。

不过其写入时可以byte为单位。flash rom主要用于bios,U盘,Mp3等需要

大容量且断电不丢数据的设备

本文标签: 需要进行操作数据写入