为什么 RAM 必须是易失性的?

Chi*_*edi 93 memory ramdisk

如果计算机 RAM 像其他持久存储一样是非易失性的,那么就不会有启动时间这样的事情。那么为什么非易失性 RAM 模块不可行呢?

MSa*_*ers 150

在内心深处,这是由于物理学。

任何非易失性存储器都必须将其位存储在两个状态中,这两种状态之间有很大的能量屏障,否则最小的影响就会改变位。但是在写入内存时,我们必须积极克服那个能量障碍。

设计师在设置这些能量障碍方面有相当多的自由。将其设置为低0 . 1,您将获得可以在不产生大量热量的情况下进行大量重写的内存:快速且易失。将能量屏障设置得很高0 | 1,这些钻头几乎会永远保持不动,或者直到您消耗大量能量。

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

Flash 使用以高压射入隔离器的电子。能量屏障太高了,你无法以可控的方式将它们弄出来;唯一的方法是清除整个位块。

  • 很好的答案!你实际上以一种易于理解的方式回答了它的*为什么*。 (12认同)
  • 接受的答案实际上并没有回答这个问题,而这个答案确实如此。 (11认同)

gro*_*taj 117

当大多数人读到或听到“RAM”时,他们会想到这些:

两个 SDRAM 棒,由维基百科提供

其实这些都是用DRAM芯片做的,DRAM是否是RAM的一种是有争议的。(它曾经是“真正的” RAM,但技术已经发生了变化,无论是不是 RAM,它更像是一种宗教信仰,请参阅评论中的讨论。)

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

例如 HDD 不是随机存取存储器,因为当您尝试读取两个不相邻的位时(或者您出于任何原因以相反的顺序读取它们),您必须等待盘片旋转和标题移动。只能读取连续位,而无需在其间进行额外操作。这也是 DRAM 可以被视为非 RAM 的原因——它以块为单位读取。

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

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

由于非易失性存储器的内部架构,它们必须磨损。写入和擦除周期的数量限制为 100,000-1,000,000。它看起来是一个很大的数字,通常对于非易失性存储来说已经足够了(笔式驱动器不会经常损坏,对吗?),但这是一个必须在 SSD 驱动器中解决的问题。RAM 的写入频率高于 SSD 驱动器,因此它更容易磨损。

DRAM 不会磨损,速度快且相对便宜。SRAM 更快,但也更贵。现在它在 CPU 中用于缓存。(毫无疑问,它是真正的 RAM ;))

  • +1 与 0.1% 的人一起正确地声明 ROM 也是 RAM!(虽然说 D-RAM 不是 RAM 有点极端……) (36认同)
  • @DanielRHicks 这很有趣。也许“RAMiness”不是二进制的:DRAM 的随机性低于 SRAM,HDD 的随机性低于 DRAM 等等。 (18认同)
  • 如果您将随机访问称为随机访问任何内存,无论当前状态如何,访问随机点在大小方面只需要“O(1)”时间,则 DRAM 是随机访问,HDD 可以在“O(#tracks+rotation_time)”中访问大小不同 (12认同)
  • 但是最初的磁盘驱动器被称为“RAM”(因为另一个选择是磁带)。如果历史决定了优先级,那么 DASD(你们年轻人所说的 HDD)绝对是 RAM。 (11认同)
  • “RAM”是我相信(我找不到好的参考资料)与 _sequential_ 内存(磁带或纸带;水银延迟线)相对应的,它可以_only_按顺序访问。同时,我发现其他语言中关于“RAM”的术语的题外话:http://www.smo.uhi.ac.uk/~oduibhin/termai/etymology.htm,它强调了 RAM/ROM 差异的不同方面。 (9认同)
  • 这不是迂腐,这是胡说八道。他解释说 DRAM 不是 RAM,因为 HDD 不是。这是没有道理的,是胡说八道。此外,他只专注于 SSD 的磨损,而忽略了 RAM 的第一个重要方面——快速写入能力。SSD 以块为单位写入,速度非常慢。这就是为什么他们一开始就很糟糕。让磨损单独存在。顺便说一句,SSD 真的是块访问。由于不确定的原因,这个答案使一切颠倒过来并陷入混乱。这个答案与吊坠主义相反,因为迂腐=秩序。 (5认同)
  • 关于 HDD 不是 RAM 的部分很有趣。一方面,*你发什么疯‽,当然他们是!*,毕竟,CD/DVD 和 HDD 显然是 RAM,因为与磁带不同,你不必等待它完成介于两者之间的所有事情到达你想要的部分。另一方面,*嗯,是的,您实际上 ** 做 *** 必须经历中间的所有事情(尽管速度要快得多),因为正如您所说,头部/激光必须寻找(当然,除非文件是连续的) )。因此,有趣(且令人沮丧)的是,行业术语(包括陈旧的、陈旧的术语)仍然含糊不清和不一致。 (5认同)
  • 并非所有非易失性存储器都必须磨损;看看古老的核心内存,IBM 几年来一直在说他们正在开发一个现代版本。正确的答案是他们不必*必须*,只是当前具有成本效益的技术*是*,因为它基于电容器,电容器会泄漏,但可以做得非常小/密集。此外,DRAM *不*以块为单位读取。您必须先打开一行,然后才能读取或写入它,但是一旦打开,您可以读取或写入单个字节,然后关闭它。 (3认同)
  • @Gizmo 请注意,单位面积的 SRAM 容量要小得多:http://www.digikey.com/catalog/en/partgroup/ddr-ii-xtreme-sram/34225,因此要获得 8Gb,您需要几平方英尺芯片,此时布线延迟会扼杀速度优势。 (3认同)
  • 这个答案的介绍可能有些极端,但还是有道理的。与“顺序访问”相反,RAM 一直是用词不当。不涉及随机性。我认为所有普遍接受的定义都同样错误,但互换使用它们只会增加混乱。这个答案清楚地宣布了它所订阅的定义。我认为这是必要的,而不是迂腐。 (2认同)
  • @jlliagre:他对 RAM 的定义“可以以任何顺序读取或写入的任何类型的内存”绝对不包括 ROM。ROM 不能以任意顺序写入。它根本不能被写入*(某些变体可以被*编程*,但这与内存写入非常不同)。 (2认同)
  • @Vector - 一些非易失性存储器设计在写入或擦除某个位置时会发生实际的物理变化 - 有效地融化和重新冻结不同配置中的一些“斑点”。随着每次更改,“blob”变得更加混乱,直到它不再能够可靠地来回切换。 (2认同)

Dan*_*cks 23

应该注意的是,计算机中第一个常用的“主存储”是“核心” ——排列成阵列的铁氧体材料的微小环形,电线从三个方向穿过它们。

要写入 1,您需要通过相应的 X 和 Y 线发送相同强度的脉冲,以“翻转”核心。(要写一个零,你不会。)你必须在写之前擦除该位置。

要读取,您可以尝试写入 1 并查看是否在“感测”线上生成了相应的脉冲——如果是这样,则该位置曾经是零。然后你当然必须写回数据,因为你刚刚删除了它。

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

但这些东西是非挥发性的。 您可以关闭计算机,一周后重新启动,数据仍然存在。它绝对是“RAM”。

(在“核心”之前,大多数计算机直接通过磁“鼓”运行,只有几个 CPU 内存寄存器,以及一些使用过的东西,如存储 CRT。)

因此,为什么 RAM(以当前最常见的形式)易失的答案很简单,即该形式既便宜又快速。(有趣的是,英特尔是开发半导体 RAM早期领导者,只是进入 CPU 业务是为了为其 RAM 创造市场。)


pjc*_*c50 18

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

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

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

FRAM(铁电 RAM)是新一代存储技术之一,它可以满足您的需求:快速、廉价、非易失性……但还不够密集。您可以获得使用它并提供您想要的行为的TI 微控制器。切断电源并恢复电源可以让您从中断的地方继续。但它只有 64kbytes 的东西。或者你可以获得2Mbit 串行 FRAM

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


编辑:请注意,如果您有一个 RAM 持久系统,您要么需要弄清楚如何在它运行时对其应用更新,要么接受偶尔重新启动而不丢失所有工作的需要。有许多智能手机之前的 PDA 将所有数据存储在 NVRAM 中,如果电池没电,您可以立即启动并可能立即丢失所有数据。


Mar*_*rio 6

IMO 这里的主要问题确实是波动性。要写得快,写得简单(即不需要很长的时间)。这与您在选择 RAM 时希望看到的情况相矛盾:它必须很快。

日常类比: - 在白板上写东西很容易,几乎不需要努力。因此它很快,您可以在几秒钟内在整个板上绘制草图。- 但是,您在白板上的草图非常不稳定。一些错误的动作,一切都消失了。- 拿一些石板并在那里雕刻你的草图 - 就像The Flintstones风格 - 你的草图将在那里保留数年、数十年或可能几个世纪。不过写这个需要更长的时间。

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

“但是刷新 BIOS 怎么样?这是内置的,而且速度很快!” 你可能会问。你是对的,但你有没有刷过 BIOS 映像?通过 BIOS 启动只需要片刻——大部分时间都浪费在等待外部硬件上——但实际的闪烁可能需要几分钟,即使它只是几 KB 的刻录/写入。

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


use*_*484 5

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

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


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

一种