为什么RAM必须是易失的?


90

如果计算机RAM像其他持久性存储一样是非易失性的,那么就没有启动时间之类的东西。那么为什么拥有非易失性ram模块是不可行的呢?谢谢。


2
这个问题值得一个完整的答案,但我认为非易失性存储器要慢得多。
mveroone

12
是什么让你觉得它确实有挥发?还不是40年前。
Daniel R Hicks

20
RAM是易失性的,不是因为它必须是易失性的,而是因为它使用的技术易失性的。
Alvin Wong

8
@jhocking,因为没有可比性能的非易失性技术可用。
Dan Neely 2013年

2
假设我从现在开始问了这两年:为什么不记得在问这个问题之前喝的苏打水的最后味道是什么?
Erik Reppen

Answers:


113

当大多数人阅读或听到“ RAM”时,他们会想到以下几点:

两个SDRAM棒,由Wikipedia提供

实际上,它们是由DRAM芯片制成的,如果DRAM是一种RAM,则存在争议。(它曾经是“真实的” RAM,但是技术已经发生了变化,无论它是否是RAM,更多的是宗教信仰,请参阅评论中的讨论。)

RAM是一个广义术语。它代表“随机访问内存”,即可以按任何顺序访问的任何类型的内存(其中“已访问”是指读取或写入,但某些类型的RAM可能是只读的)。

例如,HDD并不是随机存取存储器,因为当您尝试读取不相邻的两个位(或出于任何原因以相反的顺序读取它们)时,您必须等待盘片旋转和标题移动。只能读取顺序位,而中间没有其他操作。这就是为什么可以将DRAM视为非RAM的原因-可以按块读取。

随机存取存储器有很多种。其中一些不是易失性的,甚至还有只读的,例如ROM。因此存在非易失性RAM。

我们为什么不使用它?速度并不是最大的问题,例如,NOR闪存可以像DRAM一样快地读取(至少Wikipedia这么说,但没有引证)。写入速度较差,但是最重要的问题是:

由于非易失性存储器的内部体系结构,它们必须磨损。写入和擦除周期的数量限制为100,000-1,000,000。它看起来像很多,通常足以用于非易失性存储(笔式驱动器不会经常损坏,对吗?),但这是SSD驱动器中必须解决的问题。与SSD驱动器相比,RAM的写入频率更高,因此更容易磨损。

DRAM不会磨损,它速度快且相对便宜。SRAM速度更快,但价格也更高。现在,它已在CPU中用于缓存。(毫无疑问,它确实是RAM;))


34
正确表示ROM的0.1%的人+1也是RAM!(尽管说D-RAM不是RAM有点极端……)
jlliagre

11
但是原始的磁盘驱动器被称为“ RAM”(因为另一个选择是磁带)。如果历史确定优先顺序,则DASD(您年轻时称为HDD)肯定是RAM。
Daniel R Hicks

18
@DanielRHicks有趣。也许“ RAMiness”不是二进制的:DRAM的随机性不及SRAM,HDD的随机性不及DRAM,依此类推。
gronostaj

11
如果您称随机访问任何存储器,O(1)而无论当前状态如何,访问随机点仅占用时间大小(而不管当前状态如何),那么DRAM就是随机访问,则HDD的访问O(#tracks+rotation_time)大小会有所不同
棘手怪胎

8
我相信“ RAM”(我找不到很好的参考)与顺序存储器(磁带或纸带;汞延迟线)相反,后者只能按顺序访问。同时,我发现其他语言中的“ RAM” 一词有所偏离smo.uhi.ac.uk/~oduibhin/tearmai/etymology.htm强调了RAM / ROM差异的不同方面。
pjc50 2013年

141

归根结底是由于物理原因。

任何非易失性存储器都必须以两种状态存储其位,这两种状态之间具有较大的能垒,否则最小的影响将改变该位。但是,当写入该内存时,我们必须积极克服这种能量障碍。

设计师在设置这些能量壁垒方面有很大的自由度。将其设置为低0 . 1,您将获得可以被大量重写而不会产生大量热量的内存:快速且易失。将能量屏障设置得高一些0 | 1,这些钻头将几乎永久放置,或者直到消耗大量能量为止。

DRAM使用泄漏的小电容器。较大的电容器泄漏较少,挥发性较小,但充电时间较长。

闪光灯使用以高压射入隔离器的电子。能量屏障非常高,以至于您无法以受控的方式将它们排出。唯一的方法是清除整个位块。


11
好答案!您实际上以简单易懂的方式回答了它的原因
Synetech

10
接受的答案实际上并不能回答问题,而这个答案可以。
Mark Adler

1
您可能会避免提及这一点,因为它 “深入物理”了,但是我想说的是,该障碍关乎的不是能量,而是。SRAM的电容器比DRAM还要小,但不会泄漏,因为它使用场效应晶体管而不是电阻器-可以说,它通过外部提供的电压阈值绕过了热噪声的干扰。未来,只有少数几个芯片会缩小。我们将在干涉方面达到另一种类型—量子隧道效应—实际的能量屏障将是保留经典信息的唯一方法。
左右左转

@leftaroundabout:SRAM根本没有电容器,除了寄生电容,也许还有一些研究设计。
MSalters 2013年

1
@leftaroundabout:SRAM和DRAM都不能在不以某种形式刷新该位的情况下将其存储更长的时间(将0.2变回清晰的0位)。SRAM连续地执行此操作,而DRAM在重写周期中执行。
MSalters 2013年

23

应当指出,计算机中第一个常用的“主存储”是“核心”,即铁氧体材料的微小环形线圈,它们排列成阵列,导线沿三个方向穿过它们。

要写入1,您将通过相应的X和Y线发送相等强度的脉冲,以“翻转”磁芯。(要写零,就不会。)在写之前,您必须先擦除该位置。

要进行读取,您将尝试写入1并查看是否在“感应”线上产生了相应的脉冲-如果是,则该位置曾经是零。然后,您当然必须将数据写回,因为您只是将其擦除了。

(当然,这是一个稍微简化的描述。)

但是这些东西是非易失性的。 您可以关闭计算机,一周后再启动,数据仍然存在。而且绝对是“ RAM”。

(在“核心”之前,大多数计算机都是直接通过磁性“鼓”运行的,只有几个CPU存储器寄存器,以及一些诸如存储CRT之类的二手设备。)

因此,关于RAM(以当前最常见的形式)易变的原因的答案仅仅是,该形式既便宜又快速。(有趣的是,英特尔是开发半导体RAM 早期领导者,只是涉足CPU业务以为其RAM创造市场。)


基于内核的计算机是否经过典型的设计,以便在意外的电源故障后,它们可以(重新加电时)在中断的地方恢复运行?我的推测是,如果执行“关闭”程序,则系统可能会将所有感兴趣的内容保存到内核中,然后开始执行NOP,直到断电为止。如果重新启动时使用了正确的过程,则可以恢复系统状态。您是否知道如果外部电源丢失,系统通常是否可以自动触发关机程序?如果基于内核的系统是...
supercat

...由于电源故障而停止运行,并且在完全断电之前没有机会完成正在进行的任何操作,我希望将要执行的任何存储单元都将丢失;此外,由于我希望程序计数器,定序器等不会保存在核心内存中,因此这些内容也会丢失。
2014年

@supercat-有各种各样的设计。主要的工作集中在维护文件系统的完整性上,因此崩溃恢复最有可能尝试查找正在进行的文件操作并完成这些操作。但是我记得,检测到电源故障并隐藏CPU寄存器是相当普遍的。
Daniel R Hicks

如果将内存用作文件系统,我希望代码可以确保它始终处于有效状态,这样任何中断的操作都可以回滚或运行到完成状态。另一方面,据我了解,经常使用核心内存并不是因为它是非易失性的,而是因为它比任何其他替代品都便宜,所以我很好奇设计人员在多大程度上利用了非易失性或只是忽略了它。
2014年

@supercat-他们经常利用它(因此,例如,文件系统不如易失性RAM所希望的健壮)。并不是说这是一个很大的“卖点”,而是在那里,那为什么不呢?
Daniel R Hicks

18

DRAM速度快,可以廉价地构建到极高的密度(低$ / MB和cm 2 / MB),但是除非经常刷新,否则它会丢失其状态。它很小的尺寸是问题的一部分。电子通过薄壁泄漏出去。

SRAM速度非常快,便宜(高$ / MB)和密度较小,并且不需要刷新,但是一旦断电便会失去其状态。SRAM结构用于“ NVRAM”,它是连接到小电池的RAM。我有一些Sega和Nintendo盒带,它们的存储状态已经保存了数十年,存储在NVRAM中。

EEPROM(通常以“闪存”的形式)是非易失性的,写入速度较慢,但​​价格便宜且密集。

FRAM(铁电RAM)是可以满足您需要的新一代存储技术之一:快速,廉价,非易失性...但还不密集。您可以获得使用它TI微控制器并提供所需的行为。切断电源并恢复它可以使您从上次中断的地方恢复。但它只有64 KB的内容。或者您可以获得2Mbit串行FRAM

正在研究“忆阻器”技术以提供与FRAM类似的特性,但实际上还不是商业产品。


编辑:请注意,如果您具有RAM持久性系统,则需要确定如何在运行时对其应用更新,或者接受偶尔重新启动而又不丢失所有工作的需要。有许多预智能手机PDA将其所有数据存储在NVRAM中,如果电池没电了,您的所有数据都会立即开机并可能立即丢失。


是的忆阻器技术,至少要等10年或更长时间才能看到基于这些“新”设备的超酷产品。但是他们应该对内存实现抱有很大希望。
克里斯·奥

DRUM是快速的,但不是很密集,并且每个字符的成本很高。(什么?DRAM ??没关系。)
Daniel R Hicks

1
NVRAM与电池支持的SRAM不同。NVRAM每位具有一个电容器,该电容器可以充分绝缘,以使任何电荷都不会泄漏出去,但也可以被感测和编程。比特单元结构相当大,并且在某些技术中涉及更多的奇特制造步骤,因此NVRAM是一种低密度,高成本的技术。但是它也具有很长的存储寿命。空闲时,CMOS SRAM消耗的功率非常小,因此用电池进行备份具有成本效益。曾经很常见的PC“ CMOS”设备就是一个例子。
RBerteig

1
SRAM +电池组件不是真正的NVRAM。真正的基于EEPROM的NVRAM。
user539484 2013年

@RBerteig:我的理解是,NVRAM是SRAM与非易失性存储以及足够大的能量存储介质的结合,以允许SRAM在没有额外功耗的情况下复制到非易失性存储。如果SRAM和非易失性存储位于单独的芯片中,则将一个转移到另一个会花费一段时间(并消耗大量能量)。将它们结合在一起可以使传输更快。
2013年

6

海事组织这里的主要问题确实是动荡。为了快速写作,写作必须容易(即不需要长时间)。这与选择RAM时想要看到的内容矛盾:它必须快速。

日常类比:-在白板上写东西非常容易,几乎不需要花力气。因此,它很快,您可以在几秒钟内画出整个木板。-但是,您在白板上的草图非常不稳定。一些错误的动作,一切都消失了。-拿一块石板在上面刻上草图-就像摩登原始人风格-这样,您的草图将在此保留数年,数十年甚至几个世纪。不过,编写此代码要花费更长的时间。

回到计算机:使用快速芯片存储持久数据的技术已经存在(例如闪存驱动器),但是与易失性RAM相比,速度仍然低得多。看看一些闪存驱动器并比较数据。您会发现“读取速度为200 MB / s”和“写入速度为50 MB / s”。这是完全不同的。当然,产品价格在这里起着一定的作用,但是,一般的访问时间可能会增加花更多的钱,但是阅读仍然比写作快。

“但是刷新BIOS呢?那是内置的并且很快!” 你可能会问。没错,但是您是否曾经刷新过BIOS映像?通过BIOS引导仅需片刻-大多数时间都浪费在等待外部硬件上-但是实际的刷新可能需要几分钟,即使刻录/写入只有几KB。

但是,有针对此问题的解决方法,例如Windows的Hybernate功能。RAM内容被写入非易失性存储设备(如HDD)中,然后再回读。上网本上的某些BIOS使用隐藏的HDD分区为常规的BIOS配置和设置提供了类似的功能(因此,即使在冷启动时,您也基本上跳过了BIOS的工作)。


6

主要是因为追22。如果您的DRAM(如前所述,RAM是非常宽泛的术语。您所说的是DRAMD表示动态)突然变得非易失性,人们将其称为NVRAM,这是非常不同的存储类型。

还有一个实际的原因,目前不存在NVRAM(我的意思是真正的基于EEPROM的NVRAM,不需要电源)类型,该类型允许无限次数的写入而不会降低硬件性能。


关于基于DRAM的大容量存储设备:看看技嘉i-RAM(请注意可充电锂离子电池,这会使它在一段时间内保持非易失性)

一种


3

实际上,严格来说,RAM并不需要是易失的,但是为了方便起见,我们通常这样做。有关一种潜在的非易失性RAM技术,请参阅Wikipedia上的Magnetic Ram(http://en.wikipedia.org/wiki/Magnetoresistive_random-access_memory),尽管仍需要进一步开发以实用。

基本上,DRAM的优势是尺寸。这是一种非常简单的技术,具有非常快的读写特性,但因此易变。闪存具有正常的读取特性,但与RAM相比,它的运行速度非常慢。

静态RAM具有非常有利的读写特性,并且功耗非常低,但是与DRAM相比具有大量的组件,因此价格昂贵得多。(更大的硅片占位面积=更多的故障+每个芯片更少的芯片数量=更高的成本)它也易失,但即使是很小的电池也可以为它供电一段时间,如果不是出于成本考虑,它就成为一种伪NVRAM。问题。

无论是MRAM还是其他技术,在将来的某个时候,我们都可能找到一种方法来解决当前对分层内存结构的需求,这会降低计算机的速度,但我们还没有找到解决方法。但是,即使那个时代到来了,很可能我们仍然需要一些长期可靠(读取:SLOW)的存储介质来存档数据。


2

正如许多其他人所提到的那样,现代RAM仅在设计上是易变的,而不是在要求上。SDRAM和DDR-SDRAM的麻烦还在于还需要刷新以保持操作的可靠性。这只是动态RAM模块的本质。但是,我忍不住想知道是否还有另一种选择。存在哪些符合条件的内存类型?在本演练中,我将仅介绍可以在运行时读取/写入的内存。这将淘汰ROM,PROM和其他一次性芯片-一旦编程,它们将保持不变。

如果我们稍微靠近频谱的非易失性端,那么我们确实会遇到SRAM-但其非易失性非常有限。实际上,这只是数据保留。它不需要刷新,但是断电时间过长肯定会丢失数据。除此之外,它还比DRAM快一点-直到达到GB大小。由于存储单元(每单元6个晶体管)的增加,与DRAM相比,SRAM的速度优势的可行性随着使用中的存储器尺寸的增加而开始减弱。

接下来是BBSRAM-电池供电的SRAM。这种类型的存储器是SRAM的修改版本,在断电的情况下使用电池变得非易失性。但是,这带来了一些问题。电池用完后如何处置?SRAM本身是否还不够大?在混合物中添加电源管理电路和电池只会减少可用于实际存储单元的空间量。我也不记得长时间暴露在高温下的电池效果还不错...

除了频谱的非易失性方面,我们现在将目光聚焦在EPROM上。“但是等等”,您问-“ EPROM是否也一次性使用?” 如果您拥有紫外线灯,并且愿意承担高风险,则不可以。如果暴露在紫外线下,则可以重写EPROM。但是,一旦编程,它们通常包装在不透明的外壳中-必须先脱落。高度不切实际,因为它无法在运行时在线进行重写。而且您将无法定位单个内存地址/单元-只能擦除。但是,EEPROM可能会帮助...

EE代表电可擦除。这为电路中发生一次写入操作打开了大门(与ROM,PROM和EPROM相比)。但是,EEPROM使用浮栅晶体管。这导致被俘获的电子逐渐积累,最终将使存储单元无法工作。否则,存储单元可能会遇到电荷损失。这导致单元处于擦除状态。这是有计划的死刑判决-不是您要寻找的。

MRAM在列表中的下一个。它使用了一个磁隧道结,该结由一点永磁体和一个可变磁体组成(由薄绝缘层隔开)。根据维基百科

最简单的读取方法是通过测量电池的电阻来实现的。(通常)通过为相关的晶体管供电来选择特定的电池,该晶体管将电流从通过电池的电源线切换到地。由于隧道磁阻,电池的电阻因两块板中磁化的相对方向而变化。通过测量由此产生的电流,可以确定任何特定电池内部的电阻,并由此确定可写板的磁化极性。

这种形式的存储器基于电阻和测量电压的差异,而不是电荷和电流。它不需要电荷泵,这有助于使其运行比DRAM消耗更少的功率-尤其是对于基于STT的变体。MRAM的设计具有多个优势,包括与DRAM相当的存储密度;在有限的测试案例中,性能和速度可与SRAM媲美;功耗远低于DRAM;以及由于重复的读/写操作而导致的性能下降。这使MRAM受到研究人员和科学家的关注,进一步推动了其发展。实际上,它也被视为“ 通用内存 ” 的可能候选者。但是,这种存储器的制造成本仍然很高,其他选项 -在这一点上看起来有些笨拙。

我可以查看铁电RAM,但这是一个相当可悲的选择。F-RAM在结构上类似于DRAM-只需用铁电材料代替介电层即可。它具有较低的功耗,不错的读/写耐久性-但此后优势逐渐消失。它具有更低的存储密度,完全的存储容量,破坏性的读取过程(需要对任何IC进行更改以通过读取后写入的方式来适应它),以及更高的总体成本。不太漂亮的景象。

频谱上的最后一个选项是SONOSCBRAMFlash-RAM(NAND Flash,基于NOR等)。普通的类似SSD的存储不会削减成本,因此我们在此范围的末尾找不到任何可行的选择。SONOS和Flash-RAM都遇到以下问题:读写速度有限(主要用于永久存储-未针对类似于RAM的操作速度进行优化),需要分块写入以及在说“晚安'。它们可能对传呼很有用,但它们肯定不适用于高速访问。对于您的目的,CBRAM也太慢了。

目前,这次狩猎的前景似乎黯淡。但请不要担心-我为您的个人阅读留下了一些光荣的提及。T-RAM(Thysistor-RAM),Z-RAMnvSRAM也是可能的候选对象。尽管T-RAMZ-RAM偶尔都需要刷新(与DRAM,SDRAM和DDR-SDRAM相比),但是nvSRAM却没有这种要求。这三个选项都具有更好的内存密度,更好的读/写速度和/或更好的功耗率。他们也不需要电池-这是一个很大的优点(BBSRAM在角落里哭了)。仔细研究nvSRAM,似乎我们已经找到了可行的替代DDR-SDRAM的可行选择。

但是很快(至少对于那些选择阅读这本书的人来说),我们都会在我们自己的角落里哭泣-除了与SRAM尺寸相同的问题外,nvSRAM还没有足够大的模块用作合适的DDR-SDRAM替代品。有选项-但要么尚未准备好生产(如MRAM),要么根本就不准备(nvSRAM)。而且,在您提出要求之前,技嘉i-RAM也已经淘汰了-它只能通过SATA接口工作,从而产生了性能瓶颈。它还有一个电池。我想我们所有人都应该关注内存的下一步运行情况?我想这是一个甜蜜的结局。


1
您为什么不提磁芯存储器?:D
Jamie Hanrahan

@JamieHanrahan也许我会:P ...
TopHatProductions115 '18年

1
当您谈论铁电RAM时,我以为“下一个与核心有关”……它们甚至具有破坏性的读取功能!
Jamie Hanrahan

1
  • 大容量存储器需要较小的单个存储单元。在非易失性内存中,一个拥有1个电荷或0个电荷的简单电容器比复杂逻辑要小得多,而且速度更快。

  • 补充泄漏量是一个与硬件无关的循环。这种逻辑是通过使处理器通常不受阻碍的方式进行的。

  • 另一方面,断电会停止刷新。因此,是的,在引导或休眠状态下需要重新加载。

  • 相同大小的更大容量赢得投票。

8GB内存= 8.589.934.592字节x 8位= 68.719.476.736位(信元-无奇偶校验)


1

要回答这个问题-事实并非如此!

非易失性随机存取存储器维基百科上的免费百科全书“非易失性随机存取存储器(NVRAM)”是在电源关闭时会保留其信息的非易失性随机存取存储器(非易失性)。这与动态随机存取存储器(DRAM)和静态随机存取存储器(SRAM)形成对比,后者仅在通电时才保持数据。如今,最著名的NVRAM存储器形式是闪存。闪存的一些缺点包括要求以比许多计算机都无法自动解决的更大的块数来写入闪存,并且由于闪存的有限的写擦除循环次数,闪存的使用寿命相对有限(大多数消费者闪存产品在写入时可以在内存开始恶化之前只能承受大约100,000次重写)。另一个缺点是性能限制,阻止闪存匹配响应时间,并且在某些情况下阻止传统形式的RAM提供的随机寻址能力。几种较新的技术正试图以某些角色代替闪存,有些甚至声称是真正的通用存储器,可提供具有非易失性的最佳SRAM器件的性能。迄今为止,这些替代方案尚未成为主流。

资料来源:NVRAM Wiki页面


1

严格来说,RAM不需要是易失的。计算机中使用了多种形式的非易失性RAM。一方面,铁氧体核心存储器是RAM的主要形式(充当主存储器,处理器直接从中获取信息),直到70年代,晶体管化的单片存储器成为主流。

我相信IBM也将HDD称为随机访问存储,因为它与顺序访问存储(例如磁带)不同。区别可与盒式磁带和黑胶唱片媲美-您必须遍历整个录音带才能找到最后一首歌,而只需将销钉重新放置在唱片上的任何位置即可从那里开始聆听。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.