中文 英语

内存设计如何优化系统性能

内存层次结构中的变化是稳定的,但是访问内存的方式和位置会产生很大的影响。

受欢迎程度

数据的指数级增长以及对提高数据处理性能的需求催生了各种处理器设计和封装的新方法,但这也推动了内存方面的巨大变化。

虽然底层技术看起来仍然非常熟悉,但真正的转变在于这些内存与系统中处理元素和各种组件的连接方式。这可能会对系统性能、功耗甚至整体资源利用率产生很大影响。

多年来出现了许多不同类型的内存,尽管有一些交叉和独特的用例,但大多数都具有明确的用途。其中包括DRAM和SRAM、闪存等专用存储器。DRAM和SRAM是易失性存储器,这意味着它们需要电力来维护数据。非易失性存储器不需要电力来保存数据,但是读/写操作的数量是有限的,而且它们确实会随着时间的推移而磨损。

所有这些都符合所谓的内存层次结构,首先静态存储器-一种非常快的内存,通常用于各种级别的缓存。SRAM速度非常快,但由于每比特成本高,其应用受到限制。NOR闪存也位于最低级别,通常嵌入SoC或连接到PCB,通常用于启动设备。它针对随机访问进行了优化,因此它不必遵循任何特定的存储位置顺序。

在内存层次结构中向上移动一步,动态随机存取记忆体到目前为止,它是最受欢迎的选择,部分原因是它的容量和弹性,部分原因是它的单位成本低。这在一定程度上是由于领先的DRAM供应商已经完全贬值了他们的晶圆厂和设备,但随着新型DRAM的上线,价格一直在上涨,为新的竞争对手打开了大门。

几十年来,人们一直在谈论取代DRAM,但事实证明,从市场角度来看,DRAM的弹性比任何人预期的都要大得多。在三维构型中高带宽内存(HBM),它已被证明是一个非常快速,低功耗的选择,以及。

JEDEC定义了四种主要类型的DRAM:

  • 标准存储器的双倍数据速率(DDRx);
  • 低功率DDR (LPDDRx),主要用于移动或电池供电设备;
  • 图形DDR (GDDRx),最初是为高速图形应用程序设计的,但也用于其他应用程序,以及
  • 高带宽内存(HBMx),主要用于高性能应用程序,如人工智能或数据中心内部。

与此同时,NAND闪存通常用作可移动存储(SSD/ u盘)。由于闪存的擦除/写入周期较长,寿命较短,因此不适合CPU/GPU和系统应用。

“存储器标准机构JEDEC正在改进双数据速率(DDR5)和低功耗版本的LPDDR5规格,”该公司解决方案产品工程师Paul Morrison表示西门子EDA.“DDR6和LPDDR6也在研发中。其他流行的DRAM存储器包括高带宽存储器(HBM2和HBM3)和图形DDR (GDDR6,即将发布GDDR7)。”

但小型电池驱动设备的增长以及对快速启动设备的需求也推高了对电池的需求闪存.NOR闪存通常更小,约为1gbit。相比之下,NAND闪存则用于ssd。密度现在从每个单元1位到每个单元4位不等,预计每个单元5位和6位版本。此外,从2D到3D阵列的转变进一步提高了密度。

“在人工智能和许多其他领域,内存性能对良好的系统性能至关重要,”Steven Woo说Rambus.“以最高的数据速率运行内存将提高系统性能,但考虑数据结构如何映射到内存也可以提高带宽、电源效率和容量利用率。增加内存容量也可以带来更好的性能,CXL的引入将为人工智能和其他处理器提供一种方式来增加内存容量,超过目前直连内存技术所能提供的。”

距离问题
内存和处理器之间的距离曾经是一个布局规划问题,但随着需要处理的数据量的增加,以及功能的缩小,在内存和处理元素之间来回移动更多数据所需的能量也会增加。更细的电线需要更多的能量来移动电子,并且需要更多的能量来移动更远的距离并增加延迟。

这引起了人们对近内存和内存计算的新兴趣,在这些计算中,至少可以对一些数据进行分区、划分优先级、处理和显著减少。这减少了使用的总能量,并且可以对性能产生重大影响。

内存计算(又名内存中处理或内存中计算)是指在内存(如RAM)中进行处理或计算。一段时间以前,在芯片级别上完成这一工作之前,已经证明通过在多个RAM存储单元上分布数据并结合并行处理,在投资银行等情况下的性能结果要快100倍。因此,虽然内存/近内存计算已经存在了很长一段时间,并且得到了人工智能设计的另一个推动,但直到最近,芯片制造商才开始展示这种方法的一些成功。

三星电子存储器事业部于2021年推出了在HBM存储器中集成AI核心的内存处理(PIM)技术。在使用Xilinx Virtex Ultrascale和(Alveo) AI加速器进行的语音识别测试中,PIM技术能够实现2.5倍的性能提升和62%的能量降低。SK海力士(SK Hynix)和美光科技(Micron Technology)等其他存储芯片制造商也在考虑这种方法。

在内存计算领域,最近由Weier Wan领导的国际研究团队宣布了一项突破性进展。Weier Wan是斯坦福大学Philip Wong实验室的博士研究生,他在加州大学圣地亚哥分校期间研究了这个想法。对这项研究做出重大贡献的加州大学圣地亚哥分校的其他博士毕业生现在在圣母大学和匹兹堡大学经营着自己的实验室。

通过神经形态计算与电阻式随机存取存储器, NeuRRAM芯片执行AI边缘计算的精度很高——在MNIST手写数字识别任务中准确率为99%,在CIFAR-10图像分类任务中准确率为85.7%。与目前最先进的边缘AI芯片相比,NeuRRAM芯片能够提供1.6到2.3倍的低能量延迟产品(EDP;越少越好)和7到13倍高的计算密度。在未来几年,这为降低运行各种人工智能任务的芯片的功率提供了机会,同时不会影响精度和性能。

西门子EDA技术产品经理Ben Whitehead表示:“提高内存性能的关键因素之一一直是尽量减少数据移动。”通过这样做,它还降低了功耗。以SSD为例,一次数据查找可以将传输速度提高400 ~ 4000倍。另一种方法是将计算移到内存附近。内存计算的概念并不新鲜。在内存中添加智能可以减少数据移动。这个概念类似于边缘计算,通过执行本地计算,而不是将数据来回发送到云端。DRAM中的内存计算仍处于早期阶段,但这将继续成为未来内存发展的趋势。”

内存标准更新
有三个主要的标准小组/正在进行的工作可能会对所有这些产生重大影响:

  1. 电平:组织继续其50多年来作为微电子工业存储器标准的领导机构的作用。它开发并发布了许多标准,专注于主存储器(DDR4和DDR5 SDRAM)、闪存(UFS, e.MMC, SSD, XFMD)、移动存储器(LPDDR,宽I/O)等。它将继续是内存标准的领导机构。JEDEC最近发布了两个新标准。2022年8月,它发布了DDR5 SDRAM规范,该规范定义了x4、x8和x16 DDR5 SDRAM设备的8 Gb到32 Gb的最低要求集。这项工作是基于DDR4标准以及部分DDR、DDR2、DDR3和LPDDR4标准完成的。此外,JEDEC在2021年7月增加了LPDDR5和LPDDR5X,定义了x16单通道SDRAM设备和x8单通道SDRAM设备的最低要求,密度范围从2 Gb到32 Gb。该工作是基于以前的规范完成的,包括DDR2、DDR3、DDR4、LPDDR、LPDDR2、LPDDR3和LPDDR4。
  2. CXL:CXL财团是一个开放的行业标准组织,支持“计算快线”(CXL),一个业界支持的用于处理器、内存扩展和加速器的缓存一致性互连。该技术定义了CPU内存空间与连接设备上的内存之间的互连,以实现资源共享,从而在最大限度地降低软件和系统成本的同时提高性能。它还有助于定义AI/ML中使用的加速器。该联盟最近发布了CXL 2.0规范,该规范增加了交换功能,以支持设备风扇输出、内存扩展、内存池、链路级完整性和数据加密(CXL IDE),以实现数据保护。
  3. UCIe:在花絮方面是最近发布的通用芯片互连快车(UCIe)标准。芯片制造商将继续采用UCIe来连接包括存储器在内的芯片。目前的重点包括物理层(具有行业领先kpi的die-to-die I/O)和协议(CXL/PCIe),以确保互操作性。

英特尔高级研究员、CXL联盟董事会技术工作组主席Debendra Das Sharma说:“CXL帮助加速器与系统的其他部分保持一致,因此传递数据、消息和执行信号量更有效。”此外,CXL解决了这些应用程序的内存容量和带宽需求。CXL将推动存储技术和加速器的重大创新。”

关于性能优化的想法
其中一些记忆方法已经存在了几十年,但没有一种是静止的。在功率、性能和面积/成本方面,内存仍然被视为一个关键因素,而权衡会对所有这些因素产生重大影响。

西门子EDA产品经理Gordon Allan表示:“内存技术在不断发展。“例如,HBM目前是人工智能应用的完美选择,但明天可能会有所不同。目前,主要的内存标准JEDEC定义了DDR4和5、DIMM 4和5、LRDIM以及其他内存。但对于未来的内存扩展,用于定义PCIe和UCIe接口的CXL标准正在获得接受和动力。”

每个处理器都需要内存来存储数据。因此,了解内存的特性以及它的行为将如何影响整个系统性能是非常重要的。设计和选择内存的一些关键考虑因素包括:

  • 在给定的能量单位内最大化性能;
  • 电力预算和热管理;
  • 将内存与处理需求相匹配,例如需要更高内存性能的AI系统,以及
  • 重复使用设计、密度和包装(2D、2.5D、3D-IC)

根据应用程序的不同,考虑如何在系统内和系统间传输数据也很重要。

“为了优化性能,你需要关注系统层面,”该公司DDR、HBM、闪存/存储和MIPI IP的集团产品营销总监Marc Greenberg说节奏.为了让你的系统达到高吞吐量,它可能需要超过80个内存连接到处理器上。提高效率有不同的方法。其中之一是优化交通访问顺序,并在给定的时钟频率下以最小的总线周期最大限度地完成任务数量。一个简单的类比是杂货店的结账过程。例如,一位顾客有五罐菠萝、一罐西瓜和其他东西。为了提高结账效率,你可以把5个罐头一起拿出,而不是先拿出一个罐头,然后拿出西瓜,再拿出另一个罐头。同样的概念也适用于记忆。此外,在单点拥有一个智能内存控制器(PHY和控制器IP)来管理多个内存的流量协议,将在内存设计中实现更好的优化。”

人工智能在许多设备上的推出使得这些考虑变得更加重要。

“在人工智能训练中,提供最高带宽、容量和电源效率的内存非常重要,”Rambus的Woo说。“HBM2E存储器非常适合许多训练应用,特别是用于大型模型和大型训练集。系统使用HBM2E实现起来可能会更加复杂,但如果这种复杂性是可以容忍的,那么它就是一个很好的选择。另一方面,对于许多推理应用来说,在良好的性价比点上需要高带宽、低延迟和良好的电源效率。对于这些应用程序,GDDR6内存可能是一个更好的选择。对于物联网等终端应用,片上存储器也可以与LPDDR相结合。”

图1:HBM内存控制器和PHY IP优化内存管理功能。来源:Rambus

图1:HBM内存控制器和PHY IP优化内存管理功能。来源:Rambus

根据美光公司的说法,存储系统比它们看起来的要复杂得多。在给定的内存带宽内,系统性能可能受到访问模式、位置和解决时间等因素的影响。例如,一个自然语言处理模型需要50 TB/s的内存带宽来支持7mS的解决时间延迟。如果可以容忍较长的延迟,则可以相应地调节内存带宽。

美光指出,随着对解决方案堆栈(软件到架构到内存系统)的全面理解,架构将得到改进。因此,首先要在算法中优化访问模式、数据放置和延迟缓解(即数据预取),同时利用内存架构的固有优势并解决其局限性。

JEDEC继续改进内存,解决更高密度、低延迟、低功耗、更高带宽等挑战。通过遵循规范,存储器制造商和系统设计师将能够利用新的创新。近年来,来自Synopsys和Siemens EDA等公司的先进工具已经可以执行所需的功能,如测试、模拟和验证。

JEDEC的产品营销总监Anand Thiruvengadam表示:“JEDEC的目标之一是继续提供支持进一步扩展的架构创新。Synopsys对此的定制设计和制造集团。“更新的内存规格将继续实现更高的密度、更低的功耗和更高的性能。例如DDR4电源要求为1.2V, ddr5电源要求为1.1V。在电压缩放过程中,必须考虑信号完整性和如何打开眼模式等因素。热管理也得到了改进。DDR5每个引脚有两到三个温度传感器,这比DDR4有一个改进。因此,遵循规范是有益的。”

但遵循规范是一回事。满足规格是另一回事。Thiruvengadam说:“根据规格测试产品很重要,要确保它通过所有最坏的情况。”“复杂的分析和模拟可能需要数周时间。幸运的是,新的模拟软件解决方案可以将这个时间缩短到几天。”

结论
JEDEC将继续定义和更新内存规格,包括DRAM、SRAM、FLASH等。随着CXL和UCIe标准的加入,内存开发社区将受益于未来的系统和芯片互连。虽然UCIe相对较新,但它有望在生态系统中开辟一个小芯片的新世界。

此外,AI/ML预计将继续推动高性能、高吞吐量内存设计的需求。不断的斗争将是平衡低功耗要求和性能。但涉及内存计算的突破将为世界打开更快的发展加速之门。更重要的是,这些先进的内存开发将有助于推动未来基于人工智能的边缘和端点(IoT)应用。

相关的
提高内存效率和性能
CXL和OMI将促进内存共享和池化,但它们的效果如何以及在哪里工作得最好仍有争议。
如何优化处理器
处理器设计至少有三个体系结构层,每一个都起着重要的作用。
HBM3:对芯片设计的重大影响
新的系统性能水平带来了新的权衡。
单片3D DRAM会出现吗?
新的更快的内存设计正在开发中,但它们的未来是不确定的。
标准化芯片互连
为什么UCIe对于异构集成如此重要。



留下回复


(注:此名称将公开显示)

Baidu