我在内存层次结构中学习过,我们使用 RAM 来摆脱 HDD 的瓶颈,因为 HDD 是一种机械设备,速度非常慢。由于 CPU 速度非常快,为了最大限度地利用它们,我们使用 RAM(然后是缓存)。
现在我们不再使用 HDD,而是使用 SSD,它是一种电子设备,其工作原理与 RAM 非常相似,正如本文所述文章。
我的问题是,如果 SSD 就像 RAM,那么为什么不用 SSD 取代 RAM?我可以看到用于在 RAM 和 SSD 之间通信的内存技术没有开销的好处。此外,CPU 可以直接与 SSD 通信,而无需首先访问 RAM 的开销
答案1
SSD 不同于 RAM。它们之间有几个非常重要的区别 -
- SSD 的写入次数有限,而且确实需要以块为单位进行写入。通过隐藏损坏的块,可以实现大量抽象以提供更多写入。(首先,TRIM 就是为此而生的)。如果 SSD 像 RAM 一样使用,它会很快报废。
- 尽管 SSD 的延迟比硬盘低得多、速度更快,但它们仍然比 RAM 慢得多。
- 大多数固态硬盘不是随机访问的,而是像磁盘一样采用块结构。您无法读取或写入一个字节,而必须使用整个块。
正如 @PathToLife 所指出的,使用高速 SSD 作为缓存来扩展 RAM 非常实用。在英特尔停止提供这项服务之前,它曾提供一种名为“Optane Memory”的产品,实际上,它是一种用作缓存的高速 SSD。
与您的问题相关 - 早在 2014 年,惠普就致力于开发一款革命性的新系统,该系统使用非易失性内存作为 RAM。谷歌搜索“HP The Machine”。他们正在考虑使用一种名为忆阻器的新技术,但结果并不理想。
答案2
TLDR;
对于当今 CPU 疯狂的数据处理速度而言,SSD 的性能仍然不如 RAM。
对于小型 PC 或移动设备,可以使用 SSD 作为 RAM,但由于不再有易失性存储,因此在安全性方面需要进行一些架构更改。正如 @user10489 指出的那样,SSD 作为 RAM 的实用性非常有限,目前对于现代计算机来说还不可能(截至 2022 年)——必须采用自定义架构。
已经有关于非易失性随机存取存储器的研究,但任何有意义的影响可能还需要 5-15 年以上。
有趣的事实:如果 RAM 太满,我们确实会将内容从 RAM 移到 SSD 上,这称为 PageFiles!MacOS 和 Windows 多年来一直这样做。但访问 SSD 页面文件仍然不如 RAM 好。
RAM 要求特别
- 超低延迟
- 大量的写入/重写/读取(超出了 SSD 闪存的处理能力)
- 高平均带宽(数据传输速度)51.2 GB DDR5 vs 7GB NVME SSD
- 低随机数据访问延迟(数据操作速度)IOPS..
- 性能始终如一(SSD 有一些操作可能会导致性能下降。例如 TRIM)