内存可分为易失性存储器和非易失性存储器两类,前者在掉电后会失去记忆的数据,后者即使在切断电源也可以保持数据。易失性存储器又可分为 DRAM(Dynamic RAM)和SRAM(Static RAM)。而ROM则是非易失性存储器,非易失性存储元件有很多种, ROM在类型上,EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)、flash memory和FRAM(Ferroelectric RAM)等。
RAM: 即Random Access Memory随机存储内存。就是计算机的内存。另外,一些变量,都是放到RAM里的。这种存储器在断电时将丢失其存储内容,故主要用于存储短时间使用的程序。SRAM静态存储器(Static Random Access Memory,SRAM)利用双稳态触发器来保存信息的和DRAM动态存储器(Dynamic Random Access Memory), 利用MOS电容存储电荷来储存信息,因此必须通过不停的给电容充电来维持信息,所以DRAM 的成本、集成度、功耗等明显优于SRAM。
Access Time: 存取时间 指的是CPU读或写内存内数据的过程时间
Cycle Time: 存储周期 连续启动两次读或写操作所需间隔的最小时间(我司选取内存的时候需要把Access Time 标出)
SRAM: SRAM速度非常快,是目前读写最快的存储设备了,但是它也非常昂贵,所以只在要求很苛刻的地方使用,譬如CPU的一级cache,二级cache。 SRAM利用寄存器来存储信息,所以一旦掉电,资料就会全部丢失,只要供电,它的资料就会一直存在,不需要动态刷新,所以叫静态随机存储器。DRAM利用MOS管的栅电容上的电荷来存储信息,一旦掉电信息会全部的丢失,由于栅极会漏电,所以每隔一定的时间就需要一个刷新机构给这些栅电容补充电荷,并且每读出一次数据之后也需要补充电荷,这个就叫动态刷新,所以称其为动态随机存储器 存储我们所设置的配置数据。即芯片启动的一些信息。
DDR SDRAM; (Double Data Rate synchronous dynamic random-access memory):双倍速率同步动态随机存储器DDR运行频率(CLK)主要有100MHz、133MHz、166MHz三种,由于DDR内存具有双倍速率传输数据的特性,因此在DDR内存的标识上采用了工作频率×2(数据传输速率)的方法,也就是DDR200、DDR266、DDR333和DDR400。
http://ishare.iask.sina.com.cn/f/64393323.html (附上DDR2的中文资料)
NVRAM:非易失性存储器(用起来和EEPROM差不多) ,接口上都支持QSPI,SPI,IIC。
FRAM:铁电存储器(FRAM,ferroelectric RAM)。属于NVRAM中的一种,应用上没什么不同,就是存储原理不一样。一般可以代替现在比较少用的EEPROM(价格原因).铁电是比较特殊的一类介质,其常用于存储运行中的数据,具有RAM和FLASH的双重特点,访问容易,写入也容易,而且掉电不丢失(电压低,掉电不容易丢失,因此功耗低)。由于接口也差不多(IIC,SPI)一般可以代替掉EEPROM.常用铁电有64k、128k、4M、8M等规格。铁电的一个显著好处是写入次数无限制(10的12次方),使用FLASH时,一个特别大的限制是擦除、写入
次数有限。
FRAM具有写入速度快(为EEPROM、Flash的1000倍以上),因为它在擦写时不需要高压,因此写入时的功耗大为降低(为EEPROM、Flash的1/1000 - 1/100000),尤其适合用于非接触卡或双界面卡等低功耗的应用场合。另外,由于不需要使用隧道氧化膜,其数据的重写次数,与flash memory和EEPROM相比也大大提高(EEPROM或flash 为10 的5方 - 10 的6方 ,FRAM可以达到10 的12方 以上)。
ROM: (Read-Only Memory)即只读内存,是一种只能读出事先所存数据的固态半导体存储器。
EEPROM:最典型的电可改写非挥发性存储器,它具有电可编程、可擦/写、使用灵活等优点。Flash memory和EEPROM都是电可擦写可编程的存储器,它们的原理是将数据以电荷的形式储存在浮栅电极上。与EEPROM相比,Flash在集成度方面有无可比拟的优越性。由于Flash Memory 采用单管单元,可以做到很高的集成度,它的单元面积仅为常规EEPROM的1/4。
FLASH(NAND FLASH ,NOR FLASH) : 它结合了ROM和RAM的长处,不仅具备电子可擦出可编程(EEPROM)的性能,还不会断电丢失数据同时可以快速读取数据(NVRAM的优势), 用作存储Bootloader以及操作系统或者程序代码或者直接当硬盘使用(U盘).
目前Flash主要有两种NOR Flash和NADN Flash。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。
Nor Flash由Intel公司在1988年发明,以替代当时在市场上占据主要地位的EPROM和EEPROM
NOR FLASH&NAND FLASH: NOR flash占据了容量为1~16MB闪存市场的大部分,而NAND flash只是用在8~128MB(更大)的产品当中,这也说明NOR主要应用在代码存储介质中,NAND适合于数据存储NOR flash占据了容量为1~16MB闪存市场的大部分,而NAND flash只是用在8~128MB的产品当中,这也说明NOR主要应用在代码存储介质中,NAND适合于数据存储
NOR flash带有SRAM接口,有足够的地址引脚来寻址,可以很容易地存取其内部的每一个字节。
NAND器件使用复杂的I/O口来串行的存取数据,各个产品或厂商的方法可能各不相同。8个引脚用来传送控制、地址和数据信息。NAND读和写操作采用512字节的块,这一点有点像硬盘管理此类操作,很自然地,基于NAND的存储器就可以取代硬盘或其他块设备。
对于用户来说,EEPROM和FLASH 的最主要的区别就是
1。EEPROM可以按“位”擦写,而FLASH 只能一大片一大片的擦。
2。EEPROM 一般容量都不大,如果大的话,EEPROM相对与FLASH 就没有价格上的优势了。市面上卖的stand alone 的EERPOM 一般都是在64KBIT 以下,而FLASH 一般都是8MEG BIT 以上(NOR 型)。
3。读的速度的话,应该不是两者的差别,只是EERPOM一般用于低端产品,读的速度不需要那么快,真要做的话,其实也是可以做的和FLASH差不多。
4。因为EEPROM的存储单元是两个管子而FLASH 是一个(SST的除外,类似于两管),所以CYCLING 的话,EEPROM比FLASH 要好一些,到1000K次也没有问题的。
总的来说,对与用户来说,EEPROM和FLASH没有大的区别,只是EEPROM是低端产品,容量低,价格便宜,但是稳定性较FLASH要好一些。
但对于EEPROM和FLASH的设计来说,FLASH则要难的多,不论是从工艺上的还是从外围电路设计上来说
EMMC: (Embedded Multi Media Card)即嵌入式多媒体卡。EMMC相当于NAND FLASH+FLASH CONTROLLER.
一个典型的系统配置是:采用ddr2/3的内存,配置若干容量的nor flash用于存储bootloader,一定容量的nand flash用于存储内核、文件系统等大容量数据,一定容量的铁电用于存储系统运行中的定植(一般用来存储日志之类的内容)。具体容量和使用场合、成本控制相关,若不记成本全用nor flash做存储也没关系。