SSD 与 RAM:使用 SSD 作为内存的成本/耐用性差异和限制是什么?

SSD 与 RAM:使用 SSD 作为内存的成本/耐用性差异和限制是什么?

我读到一些市售的 SSD 最高可以达到 4GB/s 的写入速度,而当前的 DDR4 Ram 速度可以在 15GB/s 到 25GB/s 之间,这意味着我们相差不远。事实上,RAM 已经可以用作虚拟驱动器,例如 RAM 磁盘(尽管易失性)。我还知道一般的 SSD 耐用性并不好,尽管被夸大了,但我仍然不明白背后的机械原因。

那么 SSD 不能用作 RAM 的原因和区别是什么,特别是为什么 RAM 单元比 NAND 单元更快、更耐用,以及为什么(可能相关)RAM 每 GB 的成本高于 SSD?

谢谢。

答案1

归根结底潜伏

DDR4 延迟的测量单位为纳秒. 它通常在 20ns 以下。

SSD 延迟的测量单位是微秒. 最快的 SSD 速度在 25μs 左右。

1μs = 1000ns。最快的 SSD 的延迟比 DDR4 长 1000 倍。

更能说明问题的是,RAM 实际上是太慢了,因此顶层有 L1 和 L2 缓存。每次访问 DRAM 时,您都会浪费大约 100 个周期来等待数据提取 — 因此使用 CPU 缓存将频繁访问的数据的等待时间减少到 <10 个周期。想象一下等待 100,000 个周期...


另一个相关因素是随机的访问时间。您引用 4GB/s — 这是连续速度。对于随机读取,您会看到大约 50MB/s,而随机写入可能最高达到 150MB/s。而且 RAM 的读取次数比写入次数多得多。

与 DRAM 相比,SSD 针对高吞吐量进行了优化,而不是每秒执行大量操作。再举一个例子,SSD 上的擦除块相当大,这意味着重写许多小块的成本很高。


那里弥补差距的技术。3D XPoint,英特尔品牌的 Optane,比 NAND(SSD)速度更快,而且比 DRAM 便宜。

答案2

SSD 与 RAM:使用 SSD 作为内存的成本/耐用性差异和限制是什么?

成本、耐用性和性能(例如延迟)的比较实际上无关紧要,因为您根本无法将 SSD 用作(主)内存或 RAM。一个重要的区别是 RAM 是字节和/或单词可寻址。SSD 或 HDD 等大容量存储设备是仅可进行扇区寻址的块设备。

您无法从块设备读取或向块设备写入一个字节或字。为了从块设备执行读取或写入操作,必须读取或写入整个(物理)块(又称扇区)。您需要 RAM 来缓冲 CPU 和大容量存储设备之间的块。

底线:您不能简单地用块设备替换 RAM。

如果你尝试通过将代码和数据复制到 SSD/HDD 或从 SSD/HDD 复制代码和数据来扩展用于主内存的现有 RAM 量,那么你实际上是在使用虚拟内存(并且您需要一个内存管理单元)。


附录

比较性能(例如延迟、吞吐量、等等)在 RAM 技术与 SSD 技术之间做出选择,以回答有关“为什么 SSD 不能用作 RAM”是错误的,因为它无关紧要。大容量存储块设备与 RAM 的主存储器替代品不兼容。

在我看来,这就像问“我要吃多少披萨才能保持水分?”,答案会提到不同披萨配料的含水量。但正确而简单的答案是,披萨不能代替饮用水。

同样,SSD(带有块接口)不能替代计算机中的 RAM。换句话说,正确的答案是基于计算机架构概念,而不是比较性能数字。


相比 NAND 单元,RAM 单元为何如此快速、耐用?

您正在尝试比较苹果和橘子。

RAM(随机存取存储器)是内存的功能分类。该首字母缩略词并未指定技术,即主存储器的 RAM 通常为现代 PC 中的 SDRAM 类型。旧式计算机使用铁氧体磁芯作为 RAM。

出于经济原因,通常来说,速度越快意味着容量越小,速度越慢意味着容量越大。普通计算机的主内存为 SDRAM(通常简称为 RAM),CPU 缓存为 SRAM。与 SDRAM 相比,SRAM 确实很贵,但速度也快得多。参见为什么 SRAM 比 DRAM 快?了解为什么 SRAM 比 SDRAM 更快。对于嵌入式设备或其他类型的计算机,如克雷X-MP

NAND 是闪存技术。请注意,NAND 闪存(在芯片级别)通常必须作为块设备进行访问。

为什么 (...) RAM 每 GB 的成本比 SSD 更高?

同样是苹果和橘子的比较。供应与需求(由性能驱动)对定价有很大影响。此外,制造工艺不同,这也会产生影响。您不能只使用 SDRAM 芯片并将其放入 SSD 中,然后就完事了。


例如 RAM 磁盘(尽管易失性)。

RAM 是随机存取存储器。没有关于易失性的假设或特征描述。事实上,如果你年纪够大的话,直到 20 世纪 80 年代,计算机(但不是 PC)都使用(非易失性)铁氧体磁芯存储器。电池供电的静态 RAM 是实现非易失性(主)存储器的另一种方式。一些设备(如 RAID 卡)实际上甚至在今天也需要这样的机制。

正是由于现在普遍使用(同步)动态 RAM 作为主存储器,并且其易变性属性导致了 RAM 与易变性之间的(常见但)错误的关联。

  • RAM(通常)由(同步)动态RAM实现。
  • (S)DRAM 是易失性的。
  • 因此 RAM 是易失性的。不恰当的(如果不是错误的)三段论!

答案3

计算机数据存储一直是多层次的。传统上它看起来是这样的:从最快到最慢,从最小容量到最大容量,从每字节成本最高到每字节成本最低。

  • CPU寄存器内存
  • L1 高速缓存
  • L2..L4 高速缓存
  • 系统内存
  • 磁盘(包括 SSD)
  • 可移动磁盘
  • 磁带

并非所有系统都具备所有这些级别。第一个系统只有 CPU 寄存器和磁带。今天的系统通常没有磁带,但磁带仍然存在,而且很好,它并没有消失!

更详细地说,CPU 寄存器内存和 L1 缓存通常是 SRAM,它耗电大、体积大,但速度非常快。后续缓存内存距离 CPU 越来越远,开销更大,并且可能与其他 CPU 内核共享,因此速度更慢。系统内存也更慢。系统内存目前是 DRAM。

通常,从一个级别到下一个级别,速度差异约为 4-10 倍,因此,说 15G/s RAM 与 4G/s SSD“接近”是不正确的,这是一个巨大的差异,并且是从一个级别到下一个级别速度差异的典型特征。

未来的技术将改变这一现状。下一个有前途的技术是 MRAM,它每比特使用的晶体管比 SRAM 少,但速度几乎与 SRAM 一样快,比 DRAM 快得多。而且,它还是非易失性的,所以非易失性内存速度较慢的说法已不再正确。问题是 MRAM 尚未成熟,尽管它使用的晶体管比 SRAM 少,但由于尺寸还不够小,因此体积仍然较大。

实际上,早期的“快速”存储器之一是核心存储器,它也是非易失性的,因此这并不是非易失性存储器第一次用于主存储器。

相关内容