首先我能可以将存储器区分按存储介质分为易失性存储器和非易失性存储器,易失性存储器是指掉电后信息不能够保存,非易失性存储器指掉电后信息可以被保存下来。
一、RAM
RAM是指掉电后数据会丢失,典型的例子就是计算机的内存。RAM又分为SRAM(Static Random Access Memory - SRAM,静态存储器)和DRAM(Dynamic Random Access Memory -DRAM,动态存储器)。
1、SRAM
利用双稳态电路进行存储,只要有电,SRAM中的数据就不会变化,不需要一直刷新,读写速度非常快,但是价格较为昂贵。
2、DRAM
需要不断的刷新才能保存数据,读写速度相较于SRAM较慢,但还是高于ROM,但是价格较SRAM便宜。DRAM又可以区分为SDRAM(Synchronous Dynamic Random Access Memory,同步动态随机存储器)、DDRDRAM(Date-Rate RAM)等等。
SDRAM的同步含义是内存工作需要同步时钟,内部命令的发送和数据的传输都以它为基准,它的内部是一个存储阵列,我们可以将其看作一个表格,在写入数据的时候,指定行和列就可以确定存储的位置。
DDR SDRAM的内部构造和SDRAM基本一致,不同的是它可以在一个时钟周期写两次数据,这样就可以提升传输的速度,这是目前电脑中用的最多的内存。
二、ROM
ROM掉电后数据不会丢失。
1、PROM
可编程ROM,在出厂时程序已经编写完毕,用户不能进行更改。
2、EPROM
可擦除可编程ROM,用紫外光照射擦除原先的程序。
3、EEPROM
通过电子擦除,目前主要使用的都是EEPROM。
三、Flash
又称为闪存,它结合了ROM和RAM各自的长处,不仅具备了电子可擦除的性能,而且还不会掉电丢失数据,读写速度较快。在它出现之前,嵌入式系统中EEPROM占据了主导地位,目前,Flash全面取代了EEPROM的地位,它用作存储BootLoader或操作系统或程序代码。目前主要使用的有NOR(或非) Flash和NAND(与非) Flash。
1、NOR Flash
地址、数据总线分开使用,读写的单位是字节。由字节和扇区组成,擦除单位是扇区。
NOR Flash的使用与SDRAM是一样的,用户可以直接运行存储在NOR Flash中的程序,这样可以减少SRAM的容量。
2、NAND Flash
地址、数据总线共用,读写的单位是页,由页和块组成,擦除单位是块。
NAND Flash没有采取内存的随机存储技术,它是一次读取一块,采用这种方式的Flash比较便宜。但是缺点是用户不能直接运行存储在Flash中的程序,因此通常在使用NAND FLash的时候加上一小块NOR FLash用来运行启动代码。
它们两个的区别主要在于:
NOR Flash应用简单,无需专门的接口电路,传输效率高。它是属于芯片内执行,这样应用程序可以直接在NOR Flash中运行,而不必将其读取到RAM中执行,但是很低的写入和擦除速度大大影响了其性能。NOR Flash带有SRAM接口,有足够的引脚来寻址,可以很容易的存取内部的每一个字节。NOR Flash占据了市场上1-16MB的绝大部分份额。
NAND Flash 提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快。但是缺点在于需要专门的接口。