尽管多年来一直预测DRAM将被其他类型的内存所取代,但它至今仍然是几乎所有计算芯片中必不可少的组件。DRAM的足迹没有消失,而是一直在增加,DRAM类型的选择也在增加。
有几个因素推动了这种增加:
系统(特别是对于 AI/ML 和数据中心应用)中算力需求在增长,更快地处理更多数据。系统中更多的内核需要更多的内存,因为总得需要有一个地方来存储和处理数据。
通常,其中大部分将在cache中处理,SRAM一直是L1到L3 cache的首选。SRAM在芯片上占用了更大比例的空间,并且DRAM的改进速度使某些类型的DRAM也适用于L3 cache。
来回移动数据受到带宽和距离的限制,因此仅在一个物理位置添加更多内存并不一定能提高性能。事实上,它甚至可能会起到相反的作用。
在某些情况下,DRAM(尤其是高带宽内存 (HBM))正在取代一些 SRAM。DRAM具有良好的耐久性以及成熟的工艺,并且比SRAM便宜得多。数据表明中,SRAM的成本可能比DRAM高出上千倍以上。
有的DRAM,速度非常快(例如 HBM),但也很贵。其他类型速度较慢但价格便宜,例如基本的 DDR DIMM。实际上,在异构架构中,两者都可以发挥重要作用。权衡不同DRAM的成本、速度和容量上,可以考虑在同一系统中使用不同的DRAM技术。
如果你真的需要非常高的性能,并且你愿意为此付费,那么你可以选择HBM。你可以将其用于 L3 缓存,或者用于需要立即访问的任何内容。
如果你需要更多内存,但延迟不那么长,则可以在 RDIMM(registered dual in-line memory module)或 MRDIMM(multiplexer-ranked DIMM)中选择。
如果你正在寻找大容量,那么可能正在关注 CXL 背后的 DRAM。该技术针对具有非常高的带宽和更大的内存占用的应用,但延迟更大。
对于AI,高带宽内存成为最佳选择。但是某些应用并非一直都需要这种性能水平,GDDR5 或 GDDR6 可能就足够了。在其他情况下,它可能是 LPDDR或者DDR4。
如果希望在一个设计中使用不同类型的DRAM,需要知道它们之间的相互影响,例如合适的物理floor plan,以避免信号完整性以及防止过热问题。
DRAM向前发展的主要问题分为两类,一类是常见的问题(更多的带宽和容量,管理功耗),另一类是新的问题(更具挑战性的可靠性,这导致了片上ECC和RowHammer保护等问题)。
对于新的挑战,在芯片上放置更多的电容器会增加片上错误的发生率,因此你会看到今天的DRAM在数据返回控制器之前进行一定程度的片上纠错。而像RowHammer这样的相邻cell干扰问题之所以发生,是因为这些cell彼此非常接近,以至于访问一组cell可能会导致相邻cell的位翻转。
什么DRAM最有效
DRAM通常根据性能、功耗、成本、可靠性和容量来选择。但这些选择中的每一个都会影响整体芯片或系统级封装设计,并带有不同的注意事项。
进入 DDR5 和 LPDDR5 及以后,接口协议和物理信号也发生了变化。DDR5 通常希望与大量 DRAM(大容量)通信,因此你主要使用 register DIMMs。使用 LPDDR 时,通常与一个封装或设备通信,并且该设备中最多有两个负载。
LPDDR 是ground-terminated的。DDR 端接vdd-terminated。这些是非常不同的物理接口和协议,这意味着客户只能选择其中一个,设计不能兼容2种选择。
还有一些选项可以帮助在多个应用中利用相同的设计。例如,MRDIMM 可用于将容量加倍或带宽加倍,具体取决于工作负载。它以两种不同的模式运行。
1、运行方式类似于 load-reduced DIMM,速度不会翻倍,你可以使用它来获得更高的容量
2、以multiplex-ranked mode运行,这将使DRAM和外部接口之间的带宽增加一倍。
内存池是另一种选择,并且在数据中心中越来越受欢迎。池化背后的想法是,如果我有一组服务器,并且每个服务器都有内存,那么每个服务器都不太可能同时使用所有内存容量。更有意义的是将一些容量放在外部机箱中,并将其视为池化资源。当处理器需要的内存超过机箱内部的内存时,它们可以在短时间内分配一些内存,将其用于计算,然后将其返回到池中。这是让业内很多人兴奋的新功能之一。一旦你做了这些类型的事情,你就可以开始考虑通过开关连接内存和池。这种灵活性将有助于提高各种应用的性能和总成本。
除了更传统的方法外,DRAM还向各种方向扩展。在某种程度上,这是向异构集成和高级封装的转变以及更多特定领域的设计,本质上是让数据处理更接近数据源。
我们使用了17%的功耗用于计算,并使用63%的功耗将数据从一个点移动到另一个点,我们急需节省数据传输的功耗。
当前的解决方案是在cache中添加更多内存,但这是一个昂贵的解决方案。我们不需要将所有数据移动到 DRAM。我们可以在内存中进行一些计算,这样我们就可以在没有内存传输的情况下进行计算。
今天的选择比以往任何时候都多,而且还有更多选择处于开发阶段。
另外还需要考虑可靠性。可靠性是衡量存储设备在给定时间内无故障运行的能力的指标。智能手机预计可以使用4年,而汽车、军事或金融服务器应用的预期寿命可能为10到15年(或更长)。这也会影响使用的内存类型以及整个系统架构。因此,如果memory可以被替换,拥有一个DRAM池,随时可以升级。而使用 HBM,如果出现问题,你什么都做不了,所以你扔掉了一个非常昂贵的芯片。
延迟是另一个权衡。特别是使用 HBM,将处理器和 DRAM 非常紧密地结合在一起。HBM 的发展非常迅速。我们几乎每两年就会看到性能的改进。但从系统设计的角度来看,2.5D仍然是一个挑战。
结论
自 1967 年发明以来,DRAM 一直是计算的关键。虽然多年来许多内存技术对它提出了挑战,但没有什么能取代它。
DRAM不再是一种类型,而是现在有许多类型,每种类型都在不断发展并产生新的想法。从内存到计算的物理连接,再到服务器外的内存池,每个层面都有创新。并且正在努力缩短信号在内存和处理器内核之间传输所需的距离,这将减少移动数据所需的功耗。
从长远来看,DRAM仍然是一个充满活力和创新的领域,并且有更多的创新即将到来,并且以不同的方式将内存解决方案组合在一起,这些解决方案可能会对性能,成本,可靠性和寿命产生重大影响。