DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1319|回复: 1
打印 上一主题 下一主题

[待整理] 多种新兴存储器技术的比较和选择策略

[复制链接]
跳转到指定楼层
楼主
发表于 2014-10-5 12:58:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
多种新兴存储器技术的比较和选择策略

     长期以来,人们利用存储器进行设计时形成了一些固定的观念,如EEPROM存储配置数据、SRAM存储变量和结构数据、DRAM是最便宜的高速存储器等,然而,新兴存储器技术的出现,迫使人们必须对存储器进行深入的比较并探讨新的选择策略。
目前,FRAM、DDR SDRAM和Rambus DRAM (RDRAM)已经崭露头角,SDRAM几年前就已盛行,FRAM主要用于8位和16位系统,而DDR SDRAM和RDRAM正在争夺64位高端系统的领地。本文将探讨存储器的功能、应用以及它们对现有技术的影响。

FRAM

FRAM的基本技术早在1921年就诞生了,但直到最近才得以开发利用。Ramtron国际公司是第一个成功制造出FRAM的厂商。该公司成立于1984年,主要开发和出售FRAM技术许可证。目前,所有FRAM产品要么是Ramtron生产的,要么是其授权生产的。

FRAM集RAM和ROM两者的长处于一身,其写入速度快,而且可作为非易失性存储器使用。它结合了当前存储器的众多优点:DRAM的单晶体管存储单元,SRAM的低价格,以及Flash的一些数据保持特性。FRAM似乎是一种完美的结合,但实际上并非如此。受FRAM存储单元物理特性的限制,其存取次数是有限的。若超出这一上限,其非易失性就会消失。下面将进一步阐述这一特性。

FRAM的名字取自位于存储器核心的铁电(ferro-electric)晶体。请不要望文生义,这种材料既与磁无关,该存储器也不是用电荷存储实现的。事实上,磁电材料利用晶体中自由原子的位置来存储状态(数据)。自由原子只有两个稳定位置,一个稳定位置用于表示逻辑1,另一个表示逻辑0。这种晶体的特别之处在于它无需供电就可保持状态。这就是FRAM非易失性的原理。即使关闭电源,数据仍然能够保留若干年。

糟糕的是,晶体会老化。经过一定次数的读取后,存储器将失去非易失性。FRAM最多能够承受100亿次读取操作。超过这个次数后,数据在没有供电的情况下就无法再保持。但FRAM并不会丧失全部功能,它仍然是完好的RAM,只是不具有非易失性。

现在的FRAM存储单元有两个晶体管,其中一个存储数据,另外一个作为备用。FRAM采用“读取-刷新”数据读取方式,存取速度可与普通DRAM相媲美。现已可买到存取时间为70ns的FRAM。快速写入和非易失性是一个绝佳的组合,即便非易失性并不理想。但是,其性能与标准存储器相比,究竟如何呢?




FRAM与EEPROM

每个设计都要求存储器在上电时准备就绪,程序总要在某个地方开始启动。在最简单的设计中,可能只涉及代码本身,将代码烧入PROM即可。但在较复杂的设计中,可能需要一段独立的引导代码,它与主程序是完全分开的。因为引导代码比较短,也很少修改,而且必须是非易失性的,所以EEPROM很适合存储这类代码。EEPROM写入速度慢的缺点是可以容忍的,因为引导代码通常只在开发阶段修改,然后就不变了。

FRAM可以作为EEPROM的替代方案来存储引导代码。它具有EEPROM的所有特性,而且速度更快。但是,在使用FRAM之前,必须确信引导代码的读取次数不会超过1,010次。如果计算失误,引导代码突然消失,可能会导致死机,这可是非常糟糕的事情。

这就是说,FRAM完全可以满足存储引导代码的要求。引导代码只是在系统启动时才读取一次,很少有应用系统在其整个生命周期内需要启动100亿次。

EEPROM的另外一个应用是存储配置数据。这些数据是用户自己选用的,应该一开机就可以使用。访问频度可能和引导代码差不多,但有些事情仍需小心。

如果使用EEPROM,由于其读取次数不受限制,所以可以在运行期间任意读取配置数据。虽然对于FRAM不能这样随意,但是克服最大读取次数限制应该不是什么问题。为了避免超过1,010次的上限,可以在启动时将数据从FRAM拷贝到另外一个存储器。也许这个存储器是SRAM,下面对FRAM和SRAM做一比较。

FRAM和SRAM

在小型应用中,运行期间数据一般存储在SRAM中。由于需要快速的写入速度,因此须为SRAM付出相对较高的代价,好在无需太大的存储量。除此之外,SRAM易于使用,它没有DRAM让人头痛的时序问题,也没有EEPROM的串行问题。FRAM似乎无法撼动SRAM的地位。在相同的价格下,SRAM的速度更快。但从整体设计来看,FRAM还是值得考虑。

假如一个应用系统需要大约3KB的SRAM、几百字节的引导代码和配置数据,配置可能如图1所示。

假设这一小型系统对存储变量的存取时间要求是70ns,这样就可以用一片FRAM来完成,如图2所示。

非易失性可以满足引导代码和配置数据的存储要求(假设已经考虑了最大读取次数问题)。存储变量的FRAM部分实际上是非易失的,但是这也没有经济损失。一旦超过访问次数限制,变成易失的,会产生什么后果呢?也不会有任何损失,因为根本不需要非易失特性。总之,FRAM是值得考虑的方案。

即使FRAM适用于多种场合,但要作为理想的通用存储器还远远不够。从它与DRAM和Flash的比较就可看出其中端倪。

FRAM和DRAM

当容量和价格比速度更重要时,DRAM是存储器的自然之选。例如,DRAM特别适合作为图像显示存储器之用。有大量像素需要存储,但查询速度并不重要。而且无需为下次启动保持存储内容,因此易失的RAM刚好合适。

为了充分比较FRAM和DRAM,我们应该讨论下一代DRAM。更新换代速度快是DRAM最突出的特色之一,尽管有时未免有点过火。说实话,DRAM有着显而易见的优势。如果需要大量便宜的存储器,还是别选FRAM为好。如果还存有疑虑,对比一下它们的价格吧:FRAM每千字节20美分,DRAM每兆字节50美分。




FRAM和Flash存储器

当前,程序存储器经常采用Flash存储器。它如此易用且便宜,由不得你不选用。

程序存储器必须是非易失的,而且不能太昂贵。随着Flash的广泛使用,大家认为存储器中的程序也应该易于修改。然而,程序存储器另外一个很少考虑但很重要的特点是:它必须永远可读。若采用FRAM,必须考虑这一点。

在此,可以看到FRAM的局限性。假设一个循环代码须处理100个字节,每次处理一个字节,每50ms处理一次。经过两个月的连续运行,该循环代码将读取100亿次。如果循环代码存储在FRAM中,掉电后代码将丢失。如果FRAM制造商能够消除这一最大读取次数的限制,FRAM无疑将是一种很具竞争力的存储器产品,但是目前,FRAM还无法与Flash相比。

FRAM小结

对于现有存储器技术,FRAM已成为一个很有前途的替代者。在某些应用中,它完全可以替代EEPROM,并且可满足SRAM和EEPROM的需求。但是,在其最大读取次数限制消除之前,FRAM欲成为通用存储器还有很漫长的路要走。

DRAM、SDRAM和下一代存储器

在分析系统对存储器的需求时,所需考虑的不外乎速度、容量和成本三个因素。太注重其中一个就会牺牲另外两个。DRAM用户在注意这三个因素的同时还必须考虑第四个因素,即存储器的控制协议。

DRAM一般要求多条控制线,而且时序要准确。只有确信能够控制存储器时才能选用合适的DRAM芯片。设计者有两种选择:自己解决控制问题(采用ASIC或者FPGA),或者购买专用的DRAM控制芯片。DRAM控制器曾经是单独的芯片,但现在高端处理器已将DRAM控制功能集成进去。

实际应用表明,存储器控制和存储器本身是密不可分的。从各种DRAM的性能表现可以看到这一点。

普通DRAM的存取速度大致为60ns,与4MHz总线(周期250ns)匹配不成问题。而要与100MHz总线匹配就会出现问题,因为总线的周期为10ns,控制器须等待6个周期才能将数据存储到所需的存储器。显然,需要更快速的存储器。

同步DRAM(SDRAM)解决了上述问题,它按额定的频率存取数据,可与总线时钟同步。虽然SDRAM需要设置时间,而且可能存在一些等待状态,但是大部分数据是按额定频率存取的。把100MHz的SDRAM接到100MHz的总线上,会得到一个匹配良好的高速系统。

有存取请求时,标准DRAM才启动存取过程,然后要等待存储器准备就绪。而SDRAM在每个时钟周期都可存取数据,它由两块存储器组成,当一块被读取时,另外一块预先写入。

双数据速率(DDR) SDRAM的名字来自其双倍于SDRAM存取数据的能力。DDR是SDRAM的进化,它在时钟信号的上升沿和下降沿都可以存取数据,因此在相同时钟下,其吞吐量是SDRAM的两倍。

DDR SDRAM存取能力翻番的代价是价格的翻番。64M SDRAM的价格是4美元,而相同容量的DDR SDRAM是8美元。目前,没几家公司生产DDR SDRAM。尽管该芯片的制造合格率是可接受的,但DDR在市场上能否立足尚不得而知。英特尔公司在开始研制奔腾4时,就将DDR SDRAM排除在计划之外。虽然该公司已于去年7月下旬撤回这一决定,但要转向DDR SDRAM不但要考虑技术和价格前景,还要考虑是否有生产商愿意生产。

DDR SDRAM的主要竞争对手是Rambus DRAM(也称RDRAM)。RDRAM是完全不同的技术。它是一种系统级接口,有自己的协议。其速度特别快,最高可达833MHz。它很难大批量生产,因而价格一直居高不下。另外,使用Rambus还需要额外支付许可费用,这进一步抬高了价格。

一般来说,存储器按应用领域分为三类:中档应用、高速网络及与最新CPU芯片配合用于桌面PC的应用。下面将把它们与现有技术做一比较。

新一代DRAM和EDO DRAM

如果你曾见过儿童触摸图标就可发声的触摸屏计算机,那么,你差不多也已见到我正在设计的一种通信装置。虽然它不像桌面PC那么复杂,但是比烤面包机要复杂得多。

该设备可让儿童尽量快地表达出他们的想法。为了实现这一目标,该设备做了很多预测。如果儿童想说“我想要蓝色的......”,该机器就将所有她曾描述为蓝色的东西准备好。实现这一预测功能的数据结构存储在DRAM中。

至今为止,EDO(扩展数据输出)DRAM一直在应用。其速度可达83MHz,但是需要等待时序,这是其固有特性。SDRAM来势凶猛,EDO SRAM的日子已屈指可数,在新设计中已不再推荐使用EDO。但目前的设备仍在使用EDO DRAM,我们只能在下一代产品中采用更新的DRAM。

设计工程师会考虑SDRAM、DDR SDRAM和Rambus DRAM来满足其存储器要求。设计小组的分析表明了在实际应用中各种存储器之间的比较。

硬件设计小组领导者Jeff Holt解释说,新设备的存储器存取速度应达到100MHz。这样才能保证眨眼间就能看到预测结果。经过分析,数据结构对RAM的需求大约是32MB。小型、相对便宜的产品需要大容量的存储器,由此可知某种DRAM是当然之选。

现在市面上可买到的SDRAM一般工作在100MHz和133MHz,DDR SDRAM可以工作在200MHz和266MHz。Rambus DRAM比它们都要快得多,可达到400MHz和800MHz。作为优秀的设计者,通常不会采用超前的方案进行设计,因此SDRAM是最佳选择。另外,所选用的处理器是英特尔的StrongARM,它可以提供SDRAM所需的控制信号。遗憾的是,它既不支持DDR SDRAM,也不支持Rambus DRAM。

鉴于SDRAM的速度已足够快,其价格也是三种DRAM中最低的,而且它不需要额外的控制芯片,因此选用SDRAM是顺理成章之事。

在本文开始所做的一个假设就是,在满足速度要求的前提下尽量选用最便宜的DRAM。这个设计确实选用了能够满足速度要求且最便宜的DRAM,但是也全面考虑了其它DRAM。并不是所有设计者都能够进行如此充分的比较和选择。

高端应用

打算使用奔腾4的设计工程师可能很担心一件事情:不知道选择使用哪种存储器。英特尔已在几年前做出了选择,当时他们将该芯片与Rambus技术进行了结合。要将该芯片与SDRAM或DDR SDRAM连接的人必须等到明年才能梦想成真。威盛科技和宏基实验室正在开发可将两种类型的SDRAM与最新奔腾CPU连接起来的芯片组。

通常的高端应用是指网络系统开发。分销商告诉我,他们正在大量销售400MHz Rambus给系统开发商。价格很高,每256Mb大约700美元,但是用户愿意支付。133MHz的SDRAM无法满足要求,他们需要最快的速度,而Rambus是唯一可选的。DDR SDRAM的速度肯定会提高,届时他们就可以选择较便宜的了。[img]http://www.sogou.com/sogoupedia?query=%D1%A1%D4%F1]选择DRAM的经验继续有效。

未来的存储器

存储器世界和大千世界一样在日新月异地变化。对于富有想象力的系统设计者来说,FRAM可能是令人振奋的消息。而探索DRAM前沿技术的开拓者将研究所有可能的方案,设计出快速而便宜的方案。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-12-28 06:23 , 耗时 1.474087 秒, 18 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表