RAMFIFOFLASH总结

1RAM

RAMrandomaccessmemory)随机存储器。存储单元的内容可按需随意取出或存入,且存取的速度与存储单元的位置无关的存储器。这种存储器在断电时将丢失其存储内容,故主要用于存储短时间使用的程序。按照存储信息的不同,机存储器又分为静态随机存储器(StaticRAM,SRAM)和动态随机存储器(DynamicRAM,DRAM)

1.1SRAM

SRAMStaticRandomAccessMemory的缩写,中文含义为静态随机访问存储器,它是一种类型的半导体存储器。静态是指只要不掉电,存储在SRAM中的数据就不会丢失。这一点与动态RAMDRAM)不同,DRAM需要进行周期性的刷新操作。然后,我们不应将SRAM与只读存储器(ROM)和FlashMemory相混淆,因为SRAM是一种易失性存储器,它只有在电源保持连续供应的情况下才能够保持数据。随机访问是指存储器的内容可以以任何顺序访问,而不管前一次访问的是哪一个位置。

SRAM中的每一位均存储在四个晶体管当中,这四个晶体管组成了两个交叉耦合反向器。这个存储单元具有两个稳定状态,通常表示为01。另外还需要两个访问晶体管用于控制读或写操作过程中存储单元的访问。因此,一个存储位通常需要六个MOSFET。对称的电路结构使得SRAM的访问速度要快于DRAMSRAMDRAM访问速度快的另外一个原因是SRAM可以一次接收所有的地址位,而DRAM则使用行地址和列地址复用的结构。

SRAM不应该与SDRAM相混淆,SDRAM代表的是同步DRAMSynchronousDRAM),这与SRAM是完全不同的。SRAM也不应该与PSRAM相混淆,PSRAM是一种伪装成SRAMDRAM

从晶体管的类型分,SRAM可以分为双极性与CMOS两种。从功能上分,SRAM可以分为异步SRAM和同步SRAM×××AM)。异步SRAM的访问独立于时钟,数据输入和输出都由地址的变化控制。同步SRAM的所有访问都在时钟的上升/下降沿启动。地址、数据输入和其它控制信号均于时钟信号相关。

DPRAM

DPRAM即双口RAM,是在一个SRAM存储器上具有两套完全独立的数据线、地址线和读写控制线,并允许两个独立的系统同时对该存储器进行随机性的访问。即共享式多端口存储器。

双口RAM最大的特点是存储数据共享。一个存储器配备两套独立的地址、数据和控制线,允许两个独立的CPU或控制器同时异步地访问存储单元。因为数据共享,就必须存在访问仲裁控制。内部仲裁逻辑控制提供以下功能:对同一地址单元访问的时序控制;存储单元数据块的访问权限分配;信令交换逻辑(例如中断信号)等。双口RAM可用于提高RAM的吞吐率,适用于作于实时的数据缓存。

目前在市面上查到的最大容量SRAM是华邦的pseudoSRAM,容量256MB,频率133MHZ,价格不详。不过据说明来看是用DARM伪装的。

1.2DRAM

DRAMDynamicRandomAccessMemory),即动态随机存取存储器最为常见的系统内存DRAM只能将数据保持很短的时间。为了保持数据,DRAM使用电容存储,所以必须隔一段时间刷新(refresh)一次,如果存储单元没有被刷新,存储的信息就会丢失。(关机就会丢失数据)

DRAM分为很多种,常见的主要有FPRAM/FastPageEDORAMSDRAMDDRRAMRDRAMSGRAM以及WRAM等。

1.2.1SDRAM

SDRAM:SynchronousDynamicRandomAccessMemory,同步动态随机存储器,同步是指Memory工作需要同步时钟,内部的命令的发送与数据的传输都以它为基准;动态是指存储阵列需要不断的刷新来保证数据不丢失;随机是指数据不是线性依次存储,而是自由指定地址进行数据读写。

SDRAM从发展到现在已经经历了四代,分别是:第一代SDRSDRAM,第二代DDRSDRAM,第三代DDR2SDRAM,第四代DDR3SDRAM.(显卡上的DDR已经发展到DDR5)

1.2.2DDRRAM

DDRSDRAM(DoubleDataRateSDRAM)简称DDRRAM,也就是双倍速率SDRAM”的意思。DDRRAM可以说是SDRAM的升级版本,DDRRAM在时钟信号上升沿与下降沿各传输一次数据,这使得DDRRAM的数据传输速度为传统SDRAM的两倍。由于仅多采用了下降缘信号,因此并不会造成能耗增加。至于定址与控制信号则与传统SDRAM相同,仅在时钟上升缘传输。

目前SDRAM查到的最大容量为现代的HY57V561620FTP-6HY57V561620FTP-H,两者都是256MB,其中HY57V561620FTP-6主频为166MHZHY57V561620FTP-H主频为133MHZ

2FIFO

FIFO是英文FirstInFirstOut的缩写,是一种先进先出的数据缓存器,他与普通存储器的区别是没有外部读写地址线,这样使用起来非常简单,但缺点就是只能顺序写入数据,顺序的读出数据,其数据地址由内部读写指针自动加1完成,不能像普通存储器那样可以由地址线决定读取或写入某个指定的地址。

在系统设计中,以增加数据传输率、处理大量数据流、匹配具有不同传输率的系统为目的而广泛使用FIFO存储器,从而提高了系统性能。FIFO存储器是一个先入先出的双口缓冲器,即第一个进入其内的数据第一个被移出,其中一个存储器的输入口,另一个口是存储器的输出口。对于单片FIFO来说,主要有两种结构:触发导向结构和零导向传输结构。触发导向传输结构的FIFO是由寄存器阵列构成的,零导向传输结构的FIFO是由具有读和写地址指针的双口RAM构成。

FIFO一般用于不同时钟域之间的数据传输,比如FIFO的一端时AD数据采集,另一端时计算机的PCI总线,假设其AD采集的速率为16100KSPS,那么每秒的数据量为100K×16bit=1.6Mbps,PCI总线的速度为33MHz,总线宽度32bit,其最大传输速率为1056Mbps,在两个不同的时钟域间就可以采用FIFO来作为数据缓冲。另外对于不同宽度的数据接口也可以用FIFO,例如单片机位8位数据输出,而DSP可能是16位数据输入,在单片机与DSP连接时就可以使用FIFO来达到数据匹配的目的。

FIFO的宽度:也就是英文资料里常看到的THEWIDTH,它只的是FIFO一次读写操作的数据位,就像MCU8位和16位,ARM32位等等,FIFO的宽度在单片成品IC中是固定的,也有可选择的,如果用FPGA自己实现一个FIFO,其数据位,也就是宽度是可以自己定义的。
FIFO
的深度:THEDEEPTH,它指的是FIFO可以存储多少个N位的数据(如果宽度为N)。如一个8位的FIFO,若深度为8,它可以存储88位的数据,深度为12,就可以存储128位的数据,FIFO的深度可大可小,个人认为FIFO深度的计算并无一个固定的公式。在FIFO实际工作中,其数据的满/空标志可以控制数据的继续写入或读出。在一个具体的应用中也不可能由一些参数算数精确的所需FIFO深度为多少,这在写速度大于读速度的理想状态下是可行的,但在实际中用到的FIFO深度往往要大于计算值。一般来说根据电路的具体情况,在兼顾系统性能和FIFO成本的情况下估算一个大概的宽度和深度就可以了。而对于写速度慢于读速度的应用,FIFO的深度要根据读出的数据结构和读出数据的由那些具体的要求来确定。

根据FIFO工作的时钟域,可以将FIFO分为同步FIFO(synchronous)和异步FIFO(Asynchronous)。同步FIFO是指读时钟和写时钟为同一个时钟。在时钟沿来临时同时发生读写操作。异步FIFO是指读写时钟不一致,读写时钟是互相独立的。

目前查到的最大容量FIFO存储器是赛普拉斯半导体公司推出的一款容量高达72Mbit的先进先出(FIFO)存储器。

3FLASH

FLASH存储器又称闪存,它结合了ROMRAM的长处,不仅具备电子可擦出可编程(EEPROM)的性能,还不会断电丢失数据同时可以快速读取数据(NVRAM的优势),U盘和MP3里用的就是这种存储器。

目前Flash主要有两种NORFlashNADNFlash

NORFlashNANDFlash的比较

1NORFlashNANDFlash各自特点

NOR的特点是芯片内执行(XIPeXecuteInPlace),这样应用程序可以直接在闪存内运行,不必再把代码读到系统RAM中。NOR的传输效率很高,在14MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响了它的性能。

NAND结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快,容量大、芯片面积小、单元密度高、擦除速度快、成本低等特点这也是为何所有的U盘都使用NAND闪存做为存储介质的原因。应用NAND的困难在于闪存和需要特殊的系统接口。

2)性能比较

任何闪存器件的写入操作只能在空或已擦除的单元内进行,所以大多数情况下,在进行写入操作之前必须先执行擦除。NAND器件执行擦除操作是十分简单的,而NOR则要求在进行擦除前先要将目标块内所有的位都写为0。由于擦除NOR器件时是以64128KB的块进行的,执行一个写入/擦除操作的时间为5s,与此相反,擦除NAND器件是以832KB的块进行的,执行相同的操作最多只需要4ms。这样,当选择存储解决方案时,设计师必须权衡以下的各项因素。

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

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

3)NAND4ms擦除速度远比NOR5s快。大多数写入操作需要先进行擦除操作。

4)AND的擦除单元更小,相应的擦除电路更少。

3)接口差别

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

NAND闪存使用复杂的I/O口来串行地存取资料,各个产品或厂商的方法可能各不相同。8个引脚用来传送控制、地址和资料信息。NAND读和写操作采用512字节的块,这一点有点像硬盘管理此类操作,很自然地,基于NAND的闪存就可以取代硬盘或其它块设备。

4)容量和成本

NAND闪存的单元尺寸几乎是NOR闪存的一半,由于生产过程更为简单,NAND结构可以在给定的模具尺寸内提供更高的容量,也就相应地降低了价格。
NOR
闪存占据了116MB 闪存市场的大部分,而NAND闪存只是用在8MB以上的产品当中,这也说明NOR主要应用在代码存储介质中,NAND适合于资料存储,NANDCompactFlashSecureDigitalPCCardsMMC存储卡市场上所占份额最大。

5)可靠性和耐用性

采用闪存介质时一个需要重点考虑的问题是可靠性。可以从寿命(耐用性)、位交换和坏块处理三个方面来比较NORNAND的可靠性。

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

所有闪存器件都受位交换现象的困扰。在某些情况下(很少见,NAND发生的次数要比NOR 多),一个比特位会发生反转或被报告反转了。一位的变化可能不很明显,但是如果发生在一个关键文件上,这个小小的故障可能导致系统停机。如果只是报告有问题,多读几次就可能解决了。

NAND器件中的坏块是随机分布的。以前也曾有过消除坏块的努力,但发现成品率太低,代价太高,根本不划算。NAND器件需要对介质进行初始化扫描以发现坏块,并将坏块标记为不可用。在已制成的器件中,如果通过可靠的方法不能进行这项处理,将导致高故障率。

目前市场上查到NORFLASH芯片:MX29LV256EH/LT2I有最大容量256Mb

而查到的最大容量NANDFLASH为东芝的:TH58TAG7S2FBA89**,具有全球最大容量128Gb