ETHZ-SAFARI-研讨会-2025-笔记-全-

ETHZ SAFARI 研讨会 2025 笔记(全)

001:课程笔记与教程整理

在本课程中,我们将学习苏黎世联邦理工学院(ETH Zurich)SAFARI研究组在2025年首次存储系统现场研讨会(SaLWo)中分享的一系列前沿研究工作。这些工作聚焦于存储中心计算,旨在通过*数据处理、算法-硬件协同设计等方法,解决现代数据密集型应用(如大语言模型、基因组学、安全计算等)中的数据移动和计算瓶颈问题。


章节 1:RISE:存储内处理的高性能检索系统

上一节我们介绍了本次研讨会的背景和主题,本节中我们来看看首个关于检索增强生成(RAG)优化的研究。

问题:检索增强生成(RAG)流水线在主机和存储系统之间产生了显著的数据移动开销。同时,现有的存储内处理(ISP)方案仅加速了RAG中的最*邻搜索阶段,并且引入了显著的面积和功耗开销。

目标:通过加速最*邻搜索和文档检索,同时无需修改存储系统,来缓解RAG的数据移动开销。

解决方案:RISE系统引入了三种关键机制:

  1. 高效的、为ISP定制的倒排文件(IVF)算法实现
  2. 低成本的嵌入向量到文档的链接机制
  3. 利用SSD内现有计算资源的*似最*邻搜索(ANNS)引擎

核心设计

  • 数据库布局:为嵌入向量和文档创建独立的存储区域。嵌入向量使用增强型SLC编程模式存储,以提供可靠的ISP操作;文档存储在TLC中,以提供高存储密度。两者都连续存储以避免地址转换开销,并通过闪存页面的带外区域链接。
  • ANNS引擎:采用IVF算法和二进制量化。搜索过程分为粗粒度(识别最*簇)和细粒度(在簇内搜索)两个阶段。计算在闪存芯片的页缓冲区和外围电路中进行,距离计算完成后,结果被传输到SSD的嵌入式处理器进行最终排序和选择。
  • 优化:包括距离过滤、多*面输入广播和流水线操作,以进一步提升性能。

关键结果

  • 与CPU搜索相比,吞吐量*均提升 15倍,能效*均提升 55倍
  • 将RAG流水线中的文档检索延迟降低至总运行时间的 0.2% 以下。
  • 性能超越现有的先进ANNS加速器(如ND搜索)最高达 2.5倍

总结:RISE是首个利用存储系统内现有计算资源、通过存储内处理来加速RAG检索全流程的系统,显著消除了数据移动瓶颈。


章节 2:存储中心系统在基因组学和宏基因组学中的应用

上一节我们探讨了如何优化大语言模型的检索,本节我们将视角转向生命科学领域,看看存储中心计算如何加速基因组和宏基因组分析。

问题:基因组和宏基因组分析需要对海量数据进行昂贵的计算,因此受到计算和数据移动开销的严重制约。现有的加速方案(如专用硬件、高效启发式算法)主要缓解了计算瓶颈,但来自存储系统的数据移动开销影响变得更为突出。

目标:论证并展示存储中心系统设计在基因组学和宏基因组学中的巨大潜力。

解决方案概述(基于SAFARI研究组的系列工作):
以下是该方向一系列工作的简要介绍:

  • GenStore(用于基因组学):首个用于基因组学的存储内处理系统。核心思想是在SSD内部直接过滤掉不需要进行昂贵*似序列比对的读数(如完全匹配或无匹配位置的读数),只将需要复杂计算的读数发送到主机,从而显著减轻计算和数据移动负担。
  • Midas(用于宏基因组学):首个用于宏基因组分析的存储内处理系统。采用协同存储内处理的设计理念,通过硬件-软件协同设计,在存储系统和主机系统之间高效地划分任务、编排数据与计算流,并辅以存储感知的算法优化和轻量级加速器。
  • Grapes(用于基因组图):首个用于大规模基因组图分析的存储内处理系统。通过专门的执行流和调度使复杂的基因组图分析工作流更“存储友好”,并利用存储内和闪存内处理进一步提升性能、能效和成本效益。
  • MARS(用于原始信号基因组分析):首个用于端到端原始信号基因组分析的存储内处理系统。通过软件改进(过滤技术、算术优化)和硬件系统(利用SSD内部DRAM进行存内/*存处理)的协同设计,加速分析流程。(Constantina将详细介绍此项工作)
  • Sage(用于压缩基因组数据的高效分析):一种用于大规模基因组数据高压缩比存储和高性能访问的算法-架构协同设计。它支持仅使用轻量级硬件进行快速解压缩和高效流式访问,使得在资源受限环境(如便携式系统、*数据处理系统)中集成基因组分析系统成为可能。

总结:存储中心系统为基因组学和宏基因组学带来了显著的性能、能效和成本效益提升,同时也有助于提高系统的鲁棒性(如安全性和隐私性),有望推动这些关键应用得到更广泛的采纳。


章节 3:MARS:用于原始信号基因组分析的存储内处理系统

上一节我们概述了基因组学中存储中心计算的多个案例,本节我们将深入探讨其中一项具体工作——MARS,它专注于直接分析DNA测序仪产生的原始电信号。

问题:现代测序仪的数据生成通量极高,且许多应用有实时性要求,而原始信号基因组分析(RSGA)难以跟上这种速度。加速RSGA时,I/O数据移动成为最突出的开销。

目标:设计一个高性能、高能效的RSGA系统,同时解决I/O数据移动和计算瓶颈。

解决方案:MARS是首个用于端到端原始信号基因组分析的存储内处理系统。

  • 关键思想:通过目标软件修改专用硬件组件的协同设计,在SSD内部加速RSGA。
  • 软件优化
    • 过滤技术:在流程中集成频率过滤和基于投票的过滤,提前丢弃不可能产生有效匹配的候选序列。
    • 算术优化:将浮点值和操作转换为定点表示,以减少内存占用和计算成本。
    • 准确性保障:精心放置过滤技术并微调参数,在保持高精度的前提下进行优化。
  • 硬件架构:在SSD内部部署专用计算单元,利用存内/*存处理技术。
    • SSD控制器内:MARS控制单元(协调流程)、排序与合并单元(用于序列排序)。
    • SSD内部DRAM内:算术单元(执行所有算术逻辑操作)、查询单元(用于哈希表查找)。
  • 工作流:将RSGA流程分解为细粒度任务,映射到相应的计算单元,并通过流水线方式执行。

关键结果

  • 在保持与基于碱基调用流程相当的精度的同时,甚至提高了F1分数。
  • 性能超越最先进的软件方案(基于CPU的RSGA流程)和硬件加速方案(基于GPU的碱基调用+比对流程)。
  • 能效显著优于所有基线方案。

总结:MARS通过创新的软硬件协同设计,首次在存储系统内实现了完整的原始信号基因组分析流程,有效解决了该领域的性能和能效瓶颈。


章节 4:Flash-Cosmos:利用NAND闪存固有计算能力实现闪存内批量位操作

上一节我们看到了存储内处理在特定领域应用中的威力,本节我们将深入更底层的闪存内处理(IFP)技术,探讨如何直接利用闪存芯片进行通用计算。

问题:批量位操作(如按位与、或)在数据库、加密等应用中广泛使用,但在传统系统中受限于存储与计算单元间的数据移动瓶颈。现有的闪存内处理技术受限于串行数据感知低可靠性(无法利用ECC、数据随机化等纠错技术)。

目标:提升批量位操作的性能、能效和可靠性。

解决方案:Flash-Cosmos提出了两大关键贡献:

  1. 多字线感知(MWS):支持通过单次感知操作对多个操作数进行批量位操作。
    • 块内MWS:同时激活同一闪存块内的多条字线,实现操作数间的按位
    • 块间MWS:同时激活不同闪存块内的字线,实现操作数间的按位
  2. 增强型SLC模式编程(ESP):增大SLC存储单元的电压状态间隙,从而为闪存内计算提供更高的可靠性,实现零错误位。

系统支持:通过新增MWS、ESP、XR等闪存命令来启用Flash-Cosmos功能。

关键结果

  • 在真实的3D NAND闪存芯片上验证了可行性。
  • 系统级评估显示,相比最先进的IFP技术(ParaBit),性能提升 3.5倍,能效提升 3.3倍
  • 在保持高可靠性的同时,无需对商用闪存芯片进行修改。

总结:Flash-Cosmos首次实现了通过单次感知操作进行多操作数批量位运算,并以高可靠性、低成本的特性推动了闪存内处理技术的发展。


章节 5:CypherMatch:基于内存高效数据打包和闪存内处理的同态加密字符串匹配

上一节我们探讨了闪存内处理的基础位操作,本节我们来看一个更复杂的应用:如何利用IFP加速安全计算领域中的同态加密字符串匹配。

问题:基于同态加密的安全精确字符串匹配缺乏可扩展性,主要受限于两个性能瓶颈:1) 复杂的同态乘法计算成本高;2) 同态加密后数据膨胀导致存储I/O数据移动开销大。

目标:设计一个可扩展、可并行化且高效的基于同态加密的安全精确字符串匹配系统。

解决方案:CypherMatch是一个算法-硬件协同设计。

  • 算法贡献(CypherMatch软件)
    • 仅使用同态加法:通过算法设计,实现仅用同态加法完成精确字符串匹配,消除了昂贵的同态乘法。
    • 内存高效的数据打包方案:优化数据打包,将多个数据位打包到一个明文向量中,显著减少了同态加密后的内存占用(从之前工作的64倍膨胀降低到4倍)。
  • 硬件贡献(CypherMatch硬件/IFP)
    • 闪存内处理架构:利用NAND闪存固有的位级和阵列级并行性,在闪存芯片内执行同态加法操作。通过控制闪存页缓冲区的锁存电路,实现按位加法等操作。
    • 减少数据移动:整个匹配计算在闪存内部进行,仅将最终结果(或索引)传输到SSD控制器,极大降低了数据移动。

关键结果

  • CypherMatch软件:在CPU上运行时,比现有最好的算法快 42.9倍,节能 39.4倍
  • CypherMatch IFP:在软件版基础上,进一步获得 136.9倍 的速度提升和 256.4倍 的节能。

总结:CypherMatch首次将闪存内处理应用于加速同态加密字符串匹配,通过消除同态乘法和优化数据布局,并结合IFP极大减少数据移动,为实现实用的安全字符串匹配提供了新途径。


章节 6:SIBYL:混合存储系统中基于强化学习的自适应可扩展数据放置策略

前面几节我们关注的是在存储设备内部进行计算,本节我们转向存储系统的另一个关键问题:在由多种异构存储设备(如高速SSD、大容量HDD)组成的混合存储系统中,如何智能地放置数据以优化性能。

问题:现有混合存储系统数据放置技术存在两大缺陷:1) 缺乏自适应性:无法适应工作负载变化和设备特性变化;2) 缺乏可扩展性:难以扩展到两个以上的存储设备。

目标:设计一种能持续学习和适应应用及底层设备特性,并能轻松扩展到各种混合存储配置的数据放置技术。

解决方案:SIBYL,一种基于在线强化学习(RL)的数据放置策略。

  • 问题建模:将数据放置建模为RL问题。
    • 状态:包含请求大小、类型、页面访问频率等特征的6维向量。
    • 动作:选择将当前页面放置在哪个存储设备(如快速或慢速)。
    • 奖励:基于请求延迟的函数,封装了设备内部状态、吞吐量和驱逐开销。
  • 系统设计
    • 双线程异步执行:决策线程处理每个I/O请求的放置决策;训练线程在后台收集经验并更新策略网络,定期将更新后的权重同步给决策线程。
    • 轻量级神经网络:使用简单的两层前馈网络,以降低运行时开销。

关键结果

  • 在真实系统上使用多种工作负载评估,在双混合存储系统中,性能超越先前最好的数据放置策略 21.6%
  • 在三混合存储系统中,性能提升高达 48.2%,展示了良好的可扩展性。
  • 达到了具有未来访问模式先知能力的Oracle策略性能的 80%,而存储开销仅为124.4 KB。

总结:SIBYL是首个基于强化学习的混合存储系统数据放置策略,提供了优异的自适应性、可扩展性以及易于设计和实现的特性。


章节 7:Harmonia:使用多智能体强化学习增强混合存储系统中的数据放置与迁移

上一节我们介绍了使用单智能体强化学习优化数据放置,本节我们进一步探讨混合存储系统中另一个关键任务——数据迁移,以及如何协调数据放置与迁移这两个策略。

问题:先前技术通常只优化数据放置数据迁移策略。若简单地将两者结合,会因缺乏协调而产生冲突决策,导致性能下降。同时,这些策略也缺乏可扩展性。

目标:设计一个整体数据管理技术,协同优化数据放置和迁移策略,实现两者间的决策协调,并能适应工作负载变化和设备特性。

解决方案:Harmonia,采用多智能体强化学习

  • 双智能体设计
    • 数据放置智能体:负责为新到的I/O请求选择存储设备。其奖励基于当前请求的延迟(即时奖励)。
    • 数据迁移智能体:负责在后台选择需要迁移的页面及其目标设备。其奖励基于未来一段时间内数据放置智能体所处理请求的延迟(延迟奖励),以此实现协调。
  • 协调机制:迁移智能体的奖励函数依赖于放置智能体的性能表现,这促使迁移决策以改善未来数据放置为目标,从而避免了策略冲突。
  • 系统集成:迁移操作在系统带宽空闲时进行,以避免干扰前台I/O请求。

关键结果

  • 在真实系统上使用17种数据密集型工作负载评估,在两个配置下,性能比先前最好的方法*均提升 32%33%
  • 扩展到更多设备时,性能提升可达 42%
  • 推理延迟低(~240纳秒),存储开销小。

总结:Harmonia首次利用多智能体强化学习来协同优化混合存储系统中的数据放置和迁移,通过巧妙的奖励设计实现了策略间的有效协调,显著提升了系统整体性能。


章节 8:Venice:通过无冲突访问以低成本提升固态硬盘并行性

最后一节,我们将关注固态硬盘(SSD)内部的互连架构。如何设计SSD内部网络,以最大化其并行性,是提升性能的关键。

问题:在传统SSD中,多个闪存芯片共享通道。当多个I/O请求试图同时访问共享同一通道的不同芯片时,会发生路径冲突,导致请求被序列化,限制了SSD的并行性和性能。

目标:从根本上解决SSD中的路径冲突问题,以低成本为每个闪存芯片增加访问路径,并有效利用所实现的路径多样性。

解决方案:Venice,一种低成本的SSD互连网络设计。

  • 低成本互连网络:在SSD内部构建一个2D Mesh网络。每个闪存节点包含一个商用闪存芯片和一个相邻的小型路由芯片,通过双向链路连接相邻节点。无需修改闪存芯片本身
  • 无冲突路径预留:为每个I/O请求使用一个小的“侦察”数据包在网络中预留一条从控制器到目标闪存节点的无冲突路径。数据传输沿预留路径进行,从而消除冲突。
  • 非最小自适应路由算法:当最短路径被占用时,算法能够利用网络中的空闲链路,寻找非最小路径到达目的地,而不是等待,从而更有效地利用网络资源。

关键结果

  • 性能相比基线SSD提升最高达 2.7倍,相比先前最好的方案提升 1.9倍
  • 99.98% 的I/O请求不会遇到路径冲突。
  • 能耗降低 46%,尾延迟显著改善。
  • 路由芯片面积仅占闪存芯片面积的 8%,链路功耗也低于共享总线。

总结:Venice通过创新的低成本和互连网络、无冲突路径预留和智能路由算法,有效解决了SSD内部的路径冲突问题,显著提升了SSD的并行性、性能和能效。


本节课总结
在本节课中,我们一起学习了苏黎世联邦理工学院SAFARI研究组在存储中心计算领域的多项前沿工作。从优化大语言模型检索的RISE,到加速基因组分析的系列系统(GenStore, Midas, MARS等),再到利用闪存内处理加速安全计算(CypherMatch)和基础位操作(Flash-Cosmos),最后探讨了混合存储系统的智能数据管理(SIBYL, Harmonia)和SSD内部互连架构优化(Venice)。这些研究从不同层面(应用、算法、架构)展示了通过*数据处理、硬件-软件协同设计等方法,能够有效突破数据移动瓶颈,为未来数据密集型应用提供高性能、高能效的存储系统解决方案。

002:课程概述

在本节课中,我们将要学习数据为中心的计算和节能计算的基本概念。我们将探讨现代计算系统中数据移动的瓶颈问题,并介绍处理内存(PIM)架构作为一种潜在的解决方案。课程将涵盖处理*内存(PNM)和处理用内存(PUM)两种主要方法,并通过具体的研究案例,展示如何通过硬件和软件的协同设计来提升系统性能和能效。


数据为中心与节能计算:2:数据移动瓶颈与PIM架构

上一节我们介绍了课程的整体目标,本节中我们来看看数据移动瓶颈的具体表现以及处理内存(PIM)架构如何应对这一挑战。

现代计算系统以处理器为中心,所有数据都在处理器中进行处理,这导致了巨大的系统开销。为了执行计算,我们需要在计算单元和主内存之间移动数据。先前的研究表明,超过60%的总能量消耗在这种数据移动上。

处理内存是一种有前景的范式,旨在缓解此类问题。它主要有两种方法:

  1. 处理*内存:在内存附*或3D堆叠内存的逻辑层中添加逻辑单元。
  2. 处理用内存:利用存储单元本身的模拟操作原理来执行计算。

与以处理器为中心的架构相比,处理内存架构具有更高的带宽、更短的*均内存访问时间和丰富的并行性。

然而,尽管处理内存架构(包括PNM和PUM)相比以处理器为中心的方法缓解了数据移动瓶颈,但在主流架构中采用此类系统仍然相当复杂,原因包括缺乏针对处理内存架构的工作负载表征方法、基准测试套件、有效的执行范式、编译器支持以及自适应的数据感知运行时机制。


数据为中心与节能计算:3:识别和表征数据移动瓶颈

上一节我们介绍了PIM架构的基本概念,本节中我们来看看如何系统地识别和表征应用程序中的数据移动瓶颈。

缺乏识别和表征数据移动瓶颈的工具和方法,限制了PIM架构的采用。为此,我们提出了DAMOV框架。

DAMOV方法以应用程序源代码及其输入数据集作为输入,通过三个步骤来识别和分类数据移动瓶颈:

  1. 应用程序性能分析:识别可能受数据移动瓶颈影响并主导应用程序执行时间的函数。
  2. 基于局部性的聚类分析:分析内存访问轨迹的空间和时间局部性。
  3. 内存瓶颈分类:通过模拟不同系统配置(如传统处理器系统和PNM系统),识别硬件运行应用程序时的特定瓶颈来源。

基于此分析,我们将应用程序分为六类不同的数据移动瓶颈,例如DRAM带宽限制、延迟限制以及因核心数增加导致的缓存争用和抖动。

DAMOV基准测试套件和模拟器已在线提供,可供研究社区用于研究处理*内存架构的不同方面。


数据为中心与节能计算:4:为PUM架构提供编程和系统支持

上一节我们探讨了如何识别数据移动瓶颈,本节中我们来看看如何为端到端的处理用内存架构提供编程和系统支持。

处理用DRAM系统存在三个主要低效问题,源于DRAM芯片本身大而僵化的访问粒度:

  1. DRAM利用率不足。
  2. 计算支持有限,仅能实现行内复制等操作。
  3. 由于缺乏编译器支持,编程模型面临挑战。

我们的目标是设计一个灵活的处理用DRAM系统来克服这些限制。为此,我们提出了MimDRAM

MimDRAM的核心思想是利用DRAM细粒度访问来实现处理用DRAM操作。通过分割全局字线,允许在DRAM行访问时只激活包含目标数据的特定DRAM垫,这带来了三个主要好处:

  • 提高了硅利用率。
  • 可以在同一子阵列的不同垫上同时执行多指令多数据操作。
  • 可以利用DRAM垫内部已有的互连结构实现行内归约等更复杂的操作。

MimDRAM是一个硬件-软件协同设计系统。在硬件侧,我们修改了DRAM子阵列并实现了内存控制器控制单元。在软件侧,我们提出了三个LLVM编译器通道,用于代码识别、调度与数据映射以及代码生成。

评估表明,与GPU、CPU和其他PIM解决方案相比,MimDRAM能显著提高能效和单位面积性能。


数据为中心与节能计算:5:为高效PUM执行启用数据感知优化

上一节我们介绍了为PUM架构提供系统支持的MimDRAM,本节中我们来看看如何通过数据感知的优化来进一步提升处理用内存执行的效率。

处理用DRAM系统因简单使用位串行执行模型而面临三个问题:

  1. 数据表示僵化:对窄值(用大格式存储的小动态范围数据)执行位串行操作会导致性能低下。
  2. 面向延迟的执行:位间依赖导致串行计算,难以隐藏单次PUM操作的延迟。
  3. 高精度计算的可扩展性挑战:位串行操作随比特精度线性或二次方扩展,高精度下延迟难以隐藏。

我们提出了PROTEUS,一个数据感知的硬件-运行时框架,能够动态、透明地为处理用内存执行选择最佳的比特精度和数据格式。PROTEUS包含三个主要组件:

  1. 并行感知微程序库:包含针对不同PUM操作的手动优化实现。
  2. 动态比特精度引擎:动态识别目标PUM操作所涉及缓存行的动态范围。
  3. 微程序选择单元:根据识别出的数据格式计算所需比特精度,并选择能带来最佳性能或能效的微程序。

评估显示,与CPU、GPU和仅启用动态精度引擎的CD-PIM相比,PROTEUS能显著提高单位面积性能和能效。


数据为中心与节能计算:6:设计PIM可编程性框架

上一节我们探讨了通过数据感知优化提升PUM效率,本节中我们来看看如何降低处理*内存系统的编程门槛。

编程通用处理*内存系统存在障碍,需要程序员手动在PIM芯片的计算引擎间分割输入数据、处理缓存、管理暂存内存以及协调数据传输,编程工作繁重。

我们的目标是让程序员能够在无需了解底层硬件细节的情况下编写高效的PIM代码。为此,我们提出了DIVA

DIVA的核心思想是使用直观的数据并行编程接口来实现PIM可编程性。DIVA自动在PIM核心间分发和收集数据,并管理工作并行化,它包含三个组件:

  1. 数据并行模式API:预定义的高级数据并行模式原语(如Map、Reduce)。
  2. 数据流编程接口:定义由数据和转换组成的流水线。
  3. 动态模板化编译:动态将流水线阶段翻译为目标应用的二进制代码。

评估表明,对于某些应用,DIVA能因其主机与PIM的协同并行执行而显著提升性能,并且能大幅减少代码行数,抽象掉了硬件细节。


数据为中心与节能计算:7:探究商用DRAM芯片的计算能力

上一节我们介绍了提升PIM可编程性的框架,本节中我们转向基础研究,看看如何深入理解现有商用DRAM芯片本身的计算潜力。

我们的动机是探究商用DRAM芯片在已有概念验证之外,是否能执行更完整的功能性操作。我们通过实验表征了来自两大制造商的256颗DDR4芯片。

我们观察到,商用DRAM芯片能够:

  • 在两个相邻子阵列中同时激活多达48行。
  • 以高达32个目标行执行非(NOT)操作。
  • 执行多达16个输入的与(AND)、或(OR)和非或(NOR)操作,且可靠性很高。

数据模式和温度对这些操作的可靠性影响很小。这些实证结果表明了使用DRAM作为计算基板的巨大潜力。


数据为中心与节能计算:8:探究DRAM芯片的同步多行激活

上一节我们展示了DRAM芯片的功能完整性操作,本节我们进一步深入,分析其同步多行激活的能力及其在计算中的应用。

我们测试了120颗DDR4芯片,发现可以执行多数表决(3、5、7、9输入)操作,并能将一行内容同时复制到多达31个不同的行。

一个关键发现是,存储多个冗余的多数输入副本(称为输入复制)能大幅提高这些操作的稳健性。对于多数表决操作,*均成功率可提高30%。

此外,温度、电压、数据模式和时序等操作条件会影响行内操作的稳健性,影响幅度高达12%。

我们基于对行解码器电路的反向工程假设,解释了同步多行激活的机理,并开源了我们的测试基础设施。


数据为中心与节能计算:9:PIM架构下的系统安全考量

上一节我们探讨了DRAM的计算能力,本节我们将视角转向系统安全,重新审视处理内存背景下的内存时序攻击。

PIM架构通过将计算移至数据附*来缓解数据移动瓶颈,并因其显著的性能和能效优势而开始被实际产品采用。然而,此前没有工作分析和评估新兴PIM架构在面对时序侧信道和隐蔽信道攻击时的安全性。

我们观察到,PIM架构由于两个主要原因,为关键的主内存时序攻击创造了机会:

  1. 这些架构为用户空间应用提供了直接的主内存访问,这是高吞吐量主内存时序攻击的关键基础。
  2. 针对此类攻击的防御措施要么成本高昂,要么不适用于PIM架构。

我们引入了IMPACT,这是一组利用PIM架构实现的直接、快速主内存访问的高吞吐量内存处理时序攻击。IMPACT通过消除昂贵的缓存旁路步骤和利用PIM操作的内在并行性来提供高泄漏吞吐量。

我们通过三个案例研究进行了演示:两个基于不同PIM架构的隐蔽信道攻击,以及一个基于PNM的基因组隐私侧信道攻击。讨论和评估表明,缓解IMPACT攻击会带来高性能开销,这凸显了为未来健壮系统寻找低成本缓解方案的必要性。


数据为中心与节能计算:10:数据驱动与数据感知的微架构设计

上一节我们讨论了PIM的安全问题,本节我们回到性能主题,看看如何通过数据驱动和数据感知的微架构设计来缓解内存瓶颈。

当今计算严重受数据制约,从大规模数据中心到基因组序列分析等新兴应用,数据常常是性能与能效瓶颈。然而,现有架构在利用海量数据和元数据做出自主、自适应决策方面表现不佳。

我们的目标是设计能够从系统数据和元数据中学习以做出数据驱动决策,并能利用应用数据特征及语义做出数据感知决策的智能架构。我们通过三项工作推进这一目标:

  1. Pythia:基于强化学习的数据预取器,可自主使用多程序上下文信息和系统级反馈进行预取。
  2. Hermes:基于感知器的片外负载预测器,可预测哪些负载请求将访问片外内存,并提前从主内存获取数据,以隐藏片上缓存访问延迟。
  3. Constable:安全动态负载消除技术,通过识别并消除重复执行且产生相同结果的负载指令,缓解资源争用。

这些工作展示了通过数据驱动和感知的方法,可以在不同层面有效提升系统性能和能效。


数据为中心与节能计算:11:移动设备的软件级节能方案

上一节我们探讨了硬件微架构的优化,本节我们看看在移动设备上,如何通过软件层面的方案来解决内存不足和能耗问题。

移动设备上的可用内存通常稀缺,但DRAM容量因功耗预算限制无法相应增加。现代移动系统通常采用ZRAM压缩交换方案,将数据压缩后存储在DRAM的特定区域(ZRAM),以避免交换到闪存,从而延长闪存寿命并降低读取延迟。

然而,我们发现ZRAM仍然会显著增加应用重启延迟和CPU使用率,因为它不区分数据热度级别,也未利用不同的压缩块大小和数据局部性。

我们剖析了移动工作负载,得到三个关键洞见:

  1. 应用连续两次重启期间使用的热数据相似度很高。
  2. 小尺寸压缩速度快,大尺寸压缩率高。
  3. 应用启动期间的数据访问存在局部性。

基于这些洞见,我们提出了Ariadne,这是一种热度感知和大小自适应的压缩交换方案。Ariadne根据数据热度级别使用不同的压缩块大小,并对热数据执行预解压。在Google Pixel 7真机上的评估表明,与ZRAM相比,Ariadne能同时降低应用重启延迟和压缩解压的CPU使用率。


数据为中心与节能计算:12:基于*内存处理的时序分析加速

本节我们转向一个具体应用领域——时序分析,看看如何利用*内存处理来加速。

时序分析在气候、医疗、经济等领域有广泛应用。加速时序分析能为众多领域带来益处。NaTSA是首个面向时序分析的*数据处理加速器,基于欧氏距离和矩阵剖面算法。

NaTSA旨在充分利用HBM内存带宽,并集成所需计算资源以提供*衡方案。它包含多个处理单元,采用向量化方法计算距离矩阵的对角线批次。通过高效的静态工作负载调度,确保处理单元间的负载均衡。

评估显示,与基于DDR4的多核CPU以及通用HBM处理*内存*台相比,NaTSA能提供最高超过14倍的性能提升和超过27倍的能效提升。但需要注意的是,浮点运算单元面积开销较大,且大部分能耗仍来自HBM内存设备。


数据为中心与节能计算:13:基于存内处理的时序分析加速

上一节我们介绍了基于*内存处理的加速器,本节我们看看如何利用更激进的存内处理技术来加速时序分析。

动态时间规整是用于异步序列的最准确距离计算方法之一,但计算复杂度高。MaTSA是首个基于磁阻存储器(MRAM)的时序分析加速器,采用存内处理技术。

MaTSA旨在数据所在位置(存储阵列)执行计算。它包含多个支持计算的交叉阵列,每个阵列包含可重配置的感测放大器,能以脉动方式沿对角线计算DTW距离。通过流水线化查询处理,所有处理元件在任何时刻都处于工作状态。

评估中,我们定义了MaTSA的三种配置:嵌入式版、便携版和HPC版。与对应的CPU、GPU和FPGA*台相比,MaTSA HPC版本能提供超过7倍的性能提升和超过11倍的能效提升。MaTSA通过利用存储阵列的列级位并行操作,显著提高了并行性,并通过存内处理减少了数据移动开销。


数据为中心与节能计算:14:细粒度DRAM架构设计

在本课程的最后,我们来看一个旨在降低DRAM能耗的细粒度架构设计。

现代基于DRAM的系统因粗粒度数据传输和行激活而浪费能量。应用程序通常只使用从DRAM获取数据的一小部分。我们的目标是设计一个新的细粒度、低成本、高吞吐的DRAM基板来缓解这个问题。

我们提出了Sector DRAM,其两个关键设计思想是:

  1. 扇区激活:通过添加隔离晶体管,将DRAM行分割为可独立激活的扇区。
  2. 可变突发长度:修改I/O电路,使其仅传输来自已激活扇区的数据,实现可变大小的数据突发传输。

将Sector DRAM集成到现代系统中面临子缓存块粒度传输和因未取全数据块导致的性能开销挑战。我们通过扇区缓存和两种预测技术(加载存储队列前瞻和扇区预测器)来解决。

评估表明,Sector DRAM能提供显著的能耗节省和性能提升,尤其适用于高内存密集型工作负载。其DRAM芯片面积开销仅为1.7%,性能接*高开销的先进细粒度DRAM架构,同时能耗更低。


数据为中心与节能计算:15:课程总结

在本节课中,我们一起深入探讨了数据为中心和节能计算的前沿领域。

我们从数据移动瓶颈这一根本问题出发,系统性地介绍了处理内存的两种主要范式:处理*内存和处理用内存。我们学习了如何通过DAMOV框架识别和表征瓶颈,如何通过MimDRAM和PROTEUS为PUM架构提供系统支持和优化,以及如何通过DIVA框架降低PNM的编程门槛。

课程还涵盖了基础性的研究,包括挖掘商用DRAM芯片本身的计算潜力,以及审视PIM架构引入的新安全挑战(IMPACT)。我们探讨了数据驱动与感知的微架构设计(Pythia, Hermes, Constable),以及针对移动设备的软件级优化方案(Ariadne)。最后,我们通过时序分析这一具体应用,展示了PNM(NaTSA)和PUM(MaTSA)加速器的设计,并以一个创新的细粒度DRAM架构(Sector DRAM)结束。

这些工作共同描绘了通过硬件-软件协同设计,从数据为中心和节能角度革新计算系统的广阔图景。尽管仍有许多挑战,但这是一个充满机遇的研究方向。

003:基因组分析概述与挑战

在本节课中,我们将学习基因组分析的基本概念、其广泛的应用场景,以及当前面临的主要计算挑战。我们将了解为什么需要设计新的算法和架构来应对这些挑战。

基因组分析的重要性

基因组分析的目标是从生物体的完整基因组序列中生成关键见解,并据此采取行动。分析的数据不仅限于DNA,还包括转录组(RNA)和蛋白质组数据,它们提供了不同分辨率的生物学答案。本节课我们主要关注DNA数据。

核心应用包括:

  • 发现与治疗疾病:识别与基因组变异相关的疾病,例如特定癌症风险。
  • 基因组编辑:通过编辑基因组内容来解决生命的基本挑战,例如通过CRISPR技术靶向编辑致病区域。
  • 病原体检测:检测环境中的有害病原体,以预测和应对疾病爆发。
  • 便携式分析:将基因组分析能力集成到便携设备(如无人机)中,用于农业监测、个性化购物建议等。

数据量与能耗瓶颈

基因组分析需要处理海量数据。这种大规模数据移动导致了整个系统的能耗瓶颈

问题根源在于:

  • 数据生成器高度专业化:例如基因组测序仪,能以极快的速度生成数据。
  • 分析系统通用化:我们使用通用计算设备来分析特定类型的数据,这并不高效。

后果是:

  • 巨大的数据移动开销:数据需要在内存层次结构的多个层级间移动。
  • 高昂的能耗:一次内存访问消耗的能量可能比执行一次计算操作高出两个数量级。

这意味着我们需要协同设计算法架构,以高效地处理数据。

SAFARI研究组的解决方案方向

为了应对上述挑战,SAFARI研究组在多个方向进行探索,旨在通过算法与架构的协同设计,实现快速、准确且高效的基因组分析。

以下是主要研究方向:

  • 原始信号分析:直接分析测序仪产生的原始电信号,而无需先将其翻译成DNA碱基字符,以实现实时分析。
  • 新算法设计:例如,设计单次哈希操作即可识别潜在突变的算法,或处理参考基因组更新时最小化重复计算的算法。
  • 人工智能与机器学习集成:设计用于基因组分析的期望最大化技术和加速器,以及优化用于原始信号翻译的大型神经模型的框架。
  • 数据中心架构:设计内存处理(Processing-in-Memory)架构,将多个分析步骤融合在内存中执行,以减少数据移动。
  • 新型加速器架构:设计专用逻辑(如GenASM)来快速执行*似字符串匹配,这是基因组分析中的核心且耗时的操作。

基因组数据分析流程与瓶颈

典型的基因组数据分析始于样本采集,经过文库制备、测序生成原始数据(电信号或图像),再通过计算步骤进行翻译和分析。

该流程存在显著的性能障碍:

  • 流水线步骤多:从数据生成到最终分析需要多个步骤。
  • 吞吐量不*衡:不同步骤的处理速度不匹配,导致瓶颈。
  • 数据移动开销大:数据在存储系统、主内存、缓存和计算单元之间频繁移动。

问题的核心在于使用通用计算设备处理特定数据,导致数据移动开销巨大。因此,我们的目标是通过算法与架构的协同设计来最小化数据移动

实例:JaP(内存加速器)

JaP是一个用于基因组分析的内存加速器设计,它解决了多步骤分析中的两个主要数据移动限制。

问题描述:

  1. 步骤间大量数据移动:数据在多个分析步骤间传输。
  2. 无用计算:初始步骤分析的所有数据中,只有一部分对最终结果有用,其余数据的移动和计算被浪费。

JaP的解决方案:
JaP设计了一个包含反馈控制器的内存处理系统。控制器在步骤间建立流水线,持续感知小块数据。一旦分析表明某些数据在后续步骤中无用,它会立即反馈给早期步骤,停止对这些无用数据的继续分析。

公式表示优化目标:
最小化总开销 = 数据移动开销 + 无用计算开销

通过这种方式,JaP同时最小化了数据移动和无用计算,从而显著提升了系统整体性能和能源效率。

实例:Swordfish(处理非理想存储设备)

Swordfish研究专注于在使用非易失性存储器进行内存计算时,设备的非理想特性(如噪声)对模型可靠性的影响。

关键问题:
人们通常在通用设备上训练神经网络模型,然后将模型部署到可能因噪声而产生不同输出的非理想存储设备上。这会导致准确性下降。

Swordfish的解决方案:
Swordfish提出可以学习这些非理想特性并将其整合到模型中,从而使模型对设备噪声更加鲁棒,最终在使用该设备时获得更好的准确性。

实例:GenStore(*存储计算)

GenStore探索了在存储系统内部直接进行数据分析的可能性,以最小化向主内存和计算单元移动数据的需求。

核心思想:
在存储系统中对基因组片段进行初步过滤(例如,识别与参考基因组完全匹配或完全不相似的片段),只将需要复杂计算的部分发送给计算单元。

挑战与解决:
存储系统的硬件资源有限。GenStore通过设计一种机制,在资源受限的条件下有效识别精确匹配和高度不相似片段,从而最小化计算开销和数据移动开销,实现显著的加速和能耗降低。

实例:GenASM(*似字符串匹配加速器)

GenASM针对基因组分析中核心且频繁的*似字符串匹配操作进行加速。

设计特点:
GenASM通过协同设计算法和硬件,在考虑内存带宽和计算开销的前提下进行优化。它包含两个主要模块:

  1. GenASM-DC(距离计算):基于移位寄存器的加速器,用于高效计算序列间的差异数量。
  2. GenASM-TB(回溯):用于精确定位序列间差异的具体位置和类型。

算法改进:
GenASM基于Bitap算法,但对其进行了改进,使其不仅能计算差异数量,还能定位差异位置,满足了实际应用的需求。

通过最大化并行性、最小化内存带宽需求,GenASM及其后续改进工作(如SGram用于图结构基因组分析)相比现有技术实现了显著的性能提升和能耗降低。


本节课中,我们一起学习了基因组分析的基础、其面临的大数据与能耗挑战,并概述了SAFARI研究组通过算法与架构协同设计来应对这些挑战的多种解决方案。从原始信号分析、新型算法、AI集成到数据中心的*存储/内存处理架构,这些工作共同推动了快速、高效、可扩展的基因组分析技术的发展。

004:内存稳健性在线研讨会概述

在本节课中,我们将要学习内存稳健性的基本概念,并了解首届SAFARI在线研讨会(SaLWo)的背景和议程安排。

苏黎世联邦理工学院(ETH Zurich)的SAFARI研究小组举办了首次在线研讨会,主题聚焦于内存稳健性。本次研讨会旨在分享该小组在内存安全、可靠性和性能方面的前沿研究,并促进学术讨论。

研讨会背景与目标

本次研讨会源于教学与研究相互促进的理念。通过分享研究成果并与全球同行交流,可以推动领域发展并探索未来研究方向。SAFARI小组此前已举办过名为“SAFARI Live Seminars”的系列研讨会,而本次“SaLWo”则是该系列的一次集中爆发,旨在通过协同讨论激发更多创新想法。

以下是本次研讨会的核心信息:

  • 网站:所有研讨会详情均可通过官方网站获取。
  • 直播:三天的研讨会均通过YouTube进行直播。
  • 议程:研讨会共分三天,首日主题为“内存稳健性”。

首日议程概览

首日研讨会将涵盖内存稳健性、安全性、可靠性等多个议题,包括Rowhammer、Rowpress等内存干扰现象的机理分析、真实内存芯片的表征以及相应的解决方案。

以下是首日的演讲者及主题安排:

  • 开场:研讨会组织者介绍。
  • 演讲1:关于实现可扩展、安全且可持续的系统。
  • 演讲2:关于PotHammer——基于内存处理操作的内存干扰实验分析。
  • 演讲3:关于Rowpress——超越Rowhammer的内存干扰现象。
  • 休息与讨论:会议期间设有多次休息环节,供与会者交流。

总结

本节课我们一起了解了首届SAFARI在线研讨会(SaLWo)的背景、目标和首日议程。该研讨会致力于探讨内存稳健性领域的前沿挑战与解决方案,为相关领域的研究人员和学生提供了宝贵的学习和交流*台。


内存稳健性:2:实现可扩展、安全且可持续的系统

上一节我们介绍了研讨会的整体安排,本节中我们来看看如何构建能够稳健且可持续扩展的计算系统。

在本节课中,我们将要学习现代计算系统在技术缩放和系统扩展两个维度上面临的挑战,特别是内存隔离失效的问题,并探讨相应的解决方案。

技术缩放与系统扩展的挑战

计算系统的扩展主要体现在两个方面:

  1. 技术缩放(Scaling Down):通过缩小制造工艺尺寸,使芯片更密集,从而获得更高性能、更低能耗。公式表示为:性能 ∝ 1 / 特征尺寸功耗 ∝ 特征尺寸²。然而,这同时引入了更复杂的故障机制,需要更复杂的硬件来缓解,反而可能增加能耗并降低芯片可用性。
  2. 系统扩展(Scaling Up):以分布式方式扩展系统,可以降低拥有成本并实现按需动态扩展。但这带来了安全性和隐私方面的担忧,可能阻碍其充分发挥潜力。

理想情况下,系统应在芯片变得更密集、更多用户共享时,依然能保持稳健且可持续的扩展

内存隔离与Rowhammer问题

内存隔离是系统安全的基础,即访问一个内存位置不应导致其他未访问位置的数据被意外更改。然而,在现代DRAM芯片中,由于“行干扰”现象,内存隔离难以保证。

Rowhammer 是一个著名的行干扰实例。其原理是:反复激活(打开和关闭)DRAM中的某个存储行(攻击者行),会导致物理上相邻的行(受害者行)发生比特翻转。这可以破坏数据完整性、泄露隐私,甚至被用来完全控制计算机。

Rowhammer攻击自2014年被发现以来,已被证明广泛存在且威胁持续。即使最新的DDR5设备和纠错码(ECC)机制也未能完全免疫。随着技术缩放,芯片单元更小、更密集,诱发比特翻转所需的激活次数减少,使得问题更加严峻。

针对Rowhammer的解决方案与挑战

缓解Rowhammer的基本思路是:当检测到某个行被频繁“锤击”时,刷新其物理相邻的行。关键挑战在于确定何时、何地进行刷新。

现有的解决方案(如基于计数的刷新)随着技术发展可能变得成本过高或效果不佳。因此,需要更高效、可扩展且全面的解决方案。

本研究的核心贡献

本研究的目标是有效且可扩展地缓解内存干扰。为实现此目标,我们开展了以下工作:

以下是本研究的主要方法:

  • 深入理解干扰机制:研究了温度、内存访问模式、受害者行物理位置和电压对干扰的敏感性。
  • 设计新颖解决方案:利用对DRAM芯片内部和内存控制器的洞察,设计新的缓解机制。

关键研究发现

  1. 温度的影响:实验发现,每个易受Rowhammer影响的DRAM单元都有一个“易受温度范围”。在此范围内会发生比特翻转,范围外则不会。不同单元的温度范围不同,且与制造工艺相关,关系复杂。
  2. 访问模式的影响:研究发现,一种称为“Rowpress”的访问模式(长时间保持攻击者行打开)能显著减少诱发首次比特翻转所需的激活次数,有时仅需一次激活。这使得许多良性工作负载也可能无意中触发干扰。
  3. 电压的影响:降低字线上的电压幅度可以减少Rowhammer的脆弱性,但代价是DRAM单元处于更弱的状态。
  4. 空间异质性:不同DRAM行对Rowhammer的脆弱性存在显著差异。利用这种差异,可以动态调整防御机制的强度,只为脆弱的行执行密集的预防性刷新,从而降低开销。

提出的解决方案

基于上述洞察,我们提出了以下解决方案:

以下是本研究提出的关键机制:

  • Swiper:一种利用行间脆弱性差异的动态调节机制。它与现有Rowhammer防御方案(如Para、Graphene等)协同工作,通过动态调整阈值来减少不必要的刷新操作,从而降低性能开销。
  • BlockHammer:一种替代性方法,它不依赖DRAM内部地址映射的专有知识。当检测到某个行被锤击时,它选择性地限制(节流)对该行的访问,从而防止干扰发生,而无需刷新相邻行。
  • Chronos:针对行业最新解决方案“每行激活计数”(PRAC)的优化。PRAC通过在DRAM芯片内为每行维护计数器来跟踪激活,但更新计数器会引入额外延迟。Chronos利用DRAM子阵列级并行性,在访问数据行的同时并行更新计数器,将PRAC的性能开销从约10%大幅降低到接*0%。
  • BrakeHammer:一种在存在高Rowhammer漏洞时保障系统可用性的机制。它通过观察内存通道上的Rowhammer预防性操作,回溯并识别可能发起攻击的线程,然后限制该线程的内存访问带宽,从而在遭受攻击时改善系统整体性能和能效。

未来研究方向

最后,我们展望了两个未来的研究方向:

  1. 软硬件协同设计以实现可持续的稳健性:结合硬件层的精确、快速测量与软件层的语义信息和高层响应,可以更低成本地实现安全目标。
  2. 以数据为中心的稳健性:随着“内存中处理”和“存算一体”等数据-centric计算范式的发展,需要重新审视其安全模型和潜力,并研究这些新架构可能引入的新型安全挑战(如侧信道攻击)。

总结

本节课我们一起学习了现代系统在扩展时面临的内存稳健性挑战,重点分析了Rowhammer问题的机理、影响因素以及一系列旨在降低缓解开销、提升系统可用性的创新解决方案。这些研究为实现芯片更密集、用户更共享的未来计算系统的稳健、可持续扩展提供了重要思路。


内存稳健性:3:PotHammer——内存处理操作中的干扰分析

上一节我们探讨了Rowhammer及其解决方案,本节中我们来看看当DRAM被用于计算(而不仅仅是存储)时,会引发何种新的内存干扰问题。

在本节课中,我们将要学习“内存中处理”技术如何通过激活多个DRAM行来实现计算,以及这种“多行激活”操作如何加剧内存干扰,形成所谓的“PotHammer”。

背景:内存中处理与多行激活

“内存中处理”是一种有前景的范式,旨在缓解处理器与主存之间的数据移动瓶颈。它利用DRAM单元的模拟操作原理直接在内存中执行计算。

多行激活是实现许多PIM操作的关键技术,主要分为两类:

  1. 连续多行激活:通过违反预充电时序,连续快速地激活两行,可用于实现行复制等操作。
  2. 同时多行激活:通过违反激活时序,同时激活一个子阵列内的多行,可用于实现多数表决等操作。

问题:多行激活的内存干扰效应

不幸的是,现代DRAM存在行干扰现象,即使只激活单一行也可能导致比特翻转。Rowhammer是此现象的典型代表。然而,尚无研究探讨多行激活对内存干扰的影响。

我们的目标是:理解多行激活如何影响真实DRAM芯片的内存干扰脆弱性。

实验方法与设置

我们使用基于FPGA的DRAM测试基础设施(如DRAM Bender),对316个商用DDR4芯片(来自四大制造商)进行了实验。我们关注的关键指标是诱发首次比特翻转所需的最小“锤击”次数。

实验结果与分析

1. 连续多行激活的干扰效应

实验表明,与传统的双面Rowhammer相比,使用连续多行激活进行攻击能显著降低诱发比特翻转所需的最小激活次数,降幅可达14倍。绝大多数测试的受害者行都表现出脆弱性增加。

2. 同时多行激活的干扰效应

同时多行激活的影响更为剧烈。例如,同时激活4行进行攻击,可比传统双面Rowhammer降低159倍的最小激活次数。在某些极端情况下,仅需26次激活即可诱发比特翻转。超过99%的受害者行受到影响,且超过25%的行其最小激活次数降低了99%以上。

3. 数据模式的影响

研究发现,同时多行激活导致的比特翻转主导方向是“1翻转到0”,这与Rowhammer的主导方向“0翻转到1”相反。这表明其底层机制可能与Rowhammer不同。

4. 对现有缓解机制的绕过

我们测试了DDR4芯片中内置的Rowhammer缓解机制。实验发现,该机制对连续多行激活的缓解效果尚可,但对同时多行激活的缓解效果很差,在某些情况下仍能诱发大量比特翻转,数量可比Rowhammer多出上万倍。

缓解PotHammer的尝试与挑战

我们尝试调整行业最新的Rowhammer解决方案——每行激活计数来应对PotHammer。

以下是两种调整策略:

  • 朴素调整:直接将Rowhammer的触发阈值降低到PotHammer观察到的最低值。
  • 加权计数:根据操作类型(普通激活、连续多行激活、同时多行激活)对计数器进行不同幅度的增加。

性能评估显示,即使采用加权计数的优化方案,在PIM操作强度较高时,系统仍会承受*均*50%的性能开销,极端情况下可达99%。这表明需要为PotHammer设计更智能的解决方案。

总结

本节课我们一起学习了“内存中处理”操作如何通过多行激活加剧DRAM的内存干扰,即PotHammer现象。实验表明,PotHammer能显著降低诱发比特翻转的阈值,并可能绕过现有缓解机制。直接适配现有方案会带来高昂性能开销。这些发现警示我们,在设计未来的PIM系统时,必须将内存干扰的韧性作为核心考量。


内存稳健性:4:Rowpress——超越Rowhammer的内存干扰

上一节我们讨论了PIM操作中的干扰问题,本节中我们回到更基础的存储操作,探讨另一种广泛存在且机制不同的内存干扰现象——Rowpress。

在本节课中,我们将要学习Rowpress的基本原理,了解它如何通过长时间保持DRAM行打开来诱发比特翻转,并分析其与Rowhammer的区别、真实系统演示以及缓解方案。

Rowpress:一种新的内存干扰现象

Rowhammer是通过高频次激活/关闭DRAM行来引发干扰。我们提出的问题是:是否存在另一种不依赖高激活次数的干扰现象?

Rowpress 正是这样一种现象:长时间保持一个DRAM行打开,就足以导致相邻行发生比特翻转。它不需要像Rowhammer那样多的行激活次数,在极端情况下,仅激活一次并保持足够长时间即可诱发比特翻转。

Rowpress的表征实验

我们在164个DDR4芯片上进行了实验。关键指标是诱发首次比特翻转所需的最小激活次数。

以下是Rowpress的核心特征:

  • 大幅放大干扰脆弱性:随着攻击者行打开时间的增加,最小激活次数可降低一至两个数量级。在30毫秒的极端情况下,仅需一次激活。
  • 受温度影响:温度升高会使Rowpress更易发生,这与某些Rowhammer行为相反。
  • 与Rowhammer机制不同
    • 影响的单元集合不同:易受Rowpress影响的单元与易受Rowhammer影响的单元重叠度很低。
    • 比特翻转方向不同:Rowpress的主导方向是“1翻转到0”,而Rowhammer是“0翻转到1”。
    • 攻击模式有效性不同:对于Rowpress,在某些条件下,单面攻击模式可能比双面模式更有效,这与Rowhammer相反。

真实系统演示

我们在真实的Intel处理器和三星DDR4模块上实现了Rowpress攻击。关键思路是:通过持续访问同一DRAM行中的不同缓存线,来延长该行的打开时间。

用户级程序演示表明,通过增加每行访问的缓存线数量(即延长行打开时间),可以诱发比特翻转,而在单纯使用Rowhammer方法时可能无法实现。

缓解Rowpress的方案

我们提出了一种方法论来适配现有的Rowhammer缓解机制以同时缓解Rowpress:

以下是缓解方案的核心思路:

  1. 限制最大行打开时间:在内存控制器层面实施。
  2. 调整Rowhammer缓解参数:根据Rowpress导致的最小激活次数降低来重新配置缓解机制的阈值。

我们将此方法应用于两种现有方案(Graphene, PARA),评估显示,在添加Rowpress防护后,仅带来较低的性能开销。

总结

本节课我们一起学习了Rowpress,这是一种通过长时间保持DRAM行打开来诱发比特翻转的广泛存在的干扰现象。它显著放大了内存干扰的脆弱性,且机制与Rowhammer不同。我们演示了其在真实系统上的可行性,并提出了有效的低开销缓解方案。理解Rowpress扩展了我们对DRAM干扰现象全景的认识。


内存稳健性:5:结合Rowhammer与Rowpress的混合干扰

上一节我们分别介绍了Rowhammer和Rowpress,本节中我们来看看将这两种干扰模式结合使用会产生什么效果。

在本节课中,我们将要学习如何通过组合Rowhammer和Rowpress来构建更高效的干扰攻击模式,并分析其背后的可能机理。

混合攻击模式

我们设计了一种混合攻击模式:在双面攻击中,对一个攻击者行进行“锤击”,而对另一个攻击者行进行“按压”。

实验结果

我们比较了这种混合模式与传统的单面Rowpress、双面Rowpress模式。

以下是实验发现的关键结果:

  • 更短的首错时间:混合模式诱发首次比特翻转所需的挂钟时间显著少于传统的双面Rowpress模式,最高可减少46.1%。
  • 相*的激活次数:混合模式所需的最小激活次数与双面Rowpress模式相*。
  • 主导机制假设:结合以上两点,我们假设在双面Rowpress攻击中,来自其中一个攻击者行的Rowpress干扰效应远强于另一个,因此无需对两行都进行“按压”即可达到类似效果。
  • 不同的比特翻转:混合模式诱发的比特翻转集合与传统的单/双面模式有较大不同。

总结与展望

本节课我们一起学习了组合Rowhammer和Rowpress的混合干扰模式,它能在更短时间内诱发比特翻转。这提示我们,两种干扰机制在双面攻击中可能存在非对称的贡献。未来的工作需要从器件层面深入研究Rowhammer和Rowpress的机制,以验证这一假设,并更全面地理解DRAM干扰的版图。


内存稳健性:6:实验表征与器件级研究的不一致性

在前面的章节中,我们基于大量真实芯片实验,报告了Rowhammer和Rowpress的多种行为特征。本节我们将探讨这些观察结果与现有基于TCAD仿真的器件级研究结论之间存在的差异。

在本节课中,我们将要学习如何对齐并交叉验证实验表征与器件级模型,并识别出当前理解中存在的不一致之处。

研究目标与挑战

我们的目标是将Rowhammer/Rowpress的实验表征结果,与器件级仿真所建模的错误机制进行对齐和验证。面临的挑战在于,由于DRAM中“真/反单元”的底层布局对内存控制器不透明,在实验和仿真之间存在着鸿沟。

我们的方法包括:

  1. 从已有工作中提取关键的器件级干扰机制。
  2. 对真实DRAM芯片的真/反单元布局进行逆向工程。
  3. 执行与器件级工作所使用的访问和数据模式完全匹配的真实芯片表征实验。

发现的关键不一致性

我们发现了以下几个关键的不一致之处:

以下是本研究识别出的主要矛盾:

  • 不一致性1:双面Rowhammer的比特翻转方向
    • 实验表征:观察到“0翻转到1”和“1翻转到0”两种方向的比特翻转。且“0翻转到1”的首次翻转所需激活次数*均低24.7%。
    • 器件级机制:认为双面Rowhammer应只导致“1翻转到0”的比特翻转。
  • 不一致性2:双面Rowhammer的比特翻转数量
    • 实验表征:只有在锤击次数足够大(*均约4倍于首次翻转激活次数)后,“1翻转到0”的比特数量才会超过“0翻转到1”。
    • 器件级机制:认为双面Rowhammer会增强“1翻转到0”的泄漏,暗示其应始终主导。
  • 不一致性3:单面Rowpress的比特翻转方向
    • 实验表征:绝大多数情况下只观察到“1翻转到0”的比特翻转。
    • 器件级机制:认为无论是相邻字线还是穿越字线作为攻击者行,单面Rowpress都应能导致两种方向的比特翻转。

可能的假设与未来方向

这些不一致性可能源于:

  1. 基于保持失效的真/反单元逆向工程方法在现代DRAM芯片中可能并非完全适用。
  2. 现有的器件级干扰机制解释可能不够全面,未能捕捉所有影响因素(例如,只考虑了受主型陷阱、仿真结构过于孤立、未考虑阵列中其他部件的耦合效应等)。
  3. 实验表征结果可能因位线读出放大器的非对称读“0”读“1”容限而存在偏差。

总结

本节课我们一起学习了在DRAM干扰的实验表征与器件级研究之间存在的显著不一致性。这些差异涉及双面Rowhammer的比特翻转方向与数量,以及单面Rowpress的比特翻转方向。厘清这些不一致性对于建立更准确、全面的DRAM干扰模型至关重要,需要器件层和系统层研究人员的紧密合作。


总结

在本系列课程中,我们一起深入探讨了内存稳健性领域的多个核心议题。我们从SAFARI在线研讨会的概述开始,逐步学习了:

  1. 系统扩展的挑战与Rowhammer:理解了技术缩放和系统扩展带来的内存隔离挑战,以及Rowhammer问题的机理、影响因素和一系列创新解决方案(如Swiper、BlockHammer、Chronos、BrakeHammer)。
  2. PIM中的干扰(PotHammer):认识了当DRAM用于计算时,多行激活操作会显著加剧内存干扰,现有缓解机制可能失效,并带来高性能开销。
  3. 新的干扰现象(Rowpress):学习了另一种通过长时间保持行打开来诱发比特翻转的广泛干扰现象,其特性与Rowhammer不同,并探讨了其缓解方案。
  4. 混合干扰模式:了解了结合Rowhammer和Rowpress可以构建出更高效的攻击模式。
  5. 实验与器件研究的鸿沟:识别了当前基于真实芯片的实验观察与基于TCAD仿真的器件级理论模型之间存在的关键不一致性,指出了未来需要跨层合作以完善认知的方向。

这些内容涵盖了从基础问题到前沿挑战,从现象分析到解决方案的多个方面,为我们理解并构建更稳健、安全、可持续的未来内存系统奠定了坚实的基础。

005:内存稳健性基础与实验分析

在本节课中,我们将要学习内存稳健性的基本概念,特别是由内存干扰(如Rowhammer)引起的比特翻转问题。我们将通过实验数据理解这些现象的严重性、变化性及其对系统安全性的影响。

内存隔离与干扰错误

内存隔离是系统稳健性的一个关键属性,它要求一个内存地址的访问不应意外地影响存储在其他地址的数据。然而,在现代内存芯片中,由于干扰错误的存在,满足这一属性变得非常困难。

干扰错误的一个典型例子是Rowhammer。当反复激活和预充电一个“攻击行”时,会导致相邻“受害行”中的比特发生翻转。我们称被反复激活的行为“攻击行”,而发生比特翻转的相邻行为“受害行”。

干扰错误的普遍性与影响

自2014年左右起,研究表明Rowhammer比特翻转现象广泛存在。许多研究人员已经利用这些比特翻转,以多种方式破坏了系统的安全性。

一个常见的误解是,纠错码(ECC)可以完全消除干扰引起的比特翻转。然而,多项研究(包括我们的工作)反复证明,ECC无法完全根除这类故障。在我们的幻灯片中,您将看到一些真实数据,展示ECC在面对此类故障时的无效性。

内存可靠性下降与Rowhammer的挑战

内存可靠性正在降低。Rowhammer比特翻转难以防御。坏消息是,情况正在变得更糟;好消息是,我们作为架构师还有很多工作可以做。我们可以提出解决这个问题的方案,或者开发新的实验方法来理解这个问题。

我的工作正是致力于开发解决方案、模型和方法论,以理解现代内存芯片中的干扰问题。

可变读干扰(VRD)现象

上一节我们介绍了干扰错误的基本概念,本节中我们来看看一个关键的研究问题:可变读干扰。

我们的目标是回答一个关键问题:我们如何能准确且高效地测量每个DRAM行的读干扰阈值?读干扰阈值(RDT)量化了一个行在经历第一次读干扰比特翻转前所能承受的干扰量,通常以激活次数表示。

准确识别RDT值至关重要。如果配置的阈值过高,则无法缓解比特翻转,系统将不再安全。如果配置的阈值过低,则会引入不必要的性能和能耗开销。

为了达成目标,我们实验性地表征了DRAM芯片。我们使用了DRAM测试基础设施来测试DDR4模块,该设施提供了对DRAM命令、时序参数和温度的细粒度控制。我们还测试了来自三家主要制造商的许多芯片,涵盖了各种芯片密度、数据版本和芯片组织。

我们采用了严谨的读干扰表征方法,防止了干扰源,并使用了最坏情况下的双面Rowhammer读干扰访问模式。

以下是我们的主要发现:

  • 读干扰阈值随时间随机且不可预测地变化:我们发现,一个DRAM行的读干扰阈值会随时间随机且不可预测地变化,这使得准确识别读干扰阈值变得极具挑战性。这是最重要的基础性结果。
  • 观测到的阈值分布广泛:我们记录了超过1亿次读干扰阈值测量。对于一个特定的DRAM行,我们观察到的最大阈值可以是最小阈值的3.5倍。而且,一个行的最小读干扰阈值值可能在进行了惊人的94,000次测量(至少花费两周时间)后才出现。
  • 我们称这种新现象为可变读干扰(VRD):它对系统安全性和稳健性具有影响,因为无法快速准确地识别一个行的读干扰阈值。

我们评估了使用保护带和纠错码作为VRD引起的未使用比特翻转的解决方案。根据我们有限的比特翻转位置数据集,我们发现相对较大的保护带结合ECC可以防止VRD引起的未使用比特翻转,但会带来显著的性能成本。我们认为需要更多的数据和分析来得出明确的结论。

我们的结果呼吁未来在理解和高效缓解读干扰比特翻转及VRD方面进行更多工作。

可变读干扰的深入分析

上一节我们介绍了VRD的基本现象,本节中我们来看看更深入的分析结果。

我们对许多DRAM行进行了测试,并扫描了许多测试参数。以下是三个关键结论:

  1. 所有DRAM行都表现出不同程度的可变干扰:没有一行能免受可变干扰的影响。我们计算了每个测试行1000次读干扰阈值测量的变异系数。所有测试行都表现出VRD,没有一行的阈值测量变异为零。
  2. 相对较少的测量不太可能得到一个行的最小读干扰阈值:我们使用蒙特卡洛模拟来评估仅使用n次测量(n小于1000)来发现1000次测量中的最小读干扰阈值的概率。例如,仅进行一次测量(n=1)获得最小值的概率非常低,只有0.2%。即使进行500次测量(n=500),对于中位数行,概率也达不到100%。
  3. 数据模式、温度、攻击行开启时间都会影响VRD:我们观察到数据模式会影响VRD分布,但没有单一数据模式在所有测试的DRAM中导致最差的分布。攻击行开启时间也会改变分布,但没有明确的单一关系。温度的影响也没有清晰的模式。

此外,我们观察到,随着芯片密度增加和制造工艺进步,读干扰阈值的分布变化(即变异性)趋于恶化。这意味着随着技术发展,干扰问题可能变得更加难以预测和控制。

可变读干扰对系统的影响

上一节我们深入分析了VRD的特性,本节中我们来看看其对系统安全性和稳健性的影响。

防御措施或读干扰缓解技术提供的安全保障依赖于准确识别读干扰阈值值。我们表明,准确识别这些值极具挑战性。

我们评估了一个短期解决方案,即将读干扰阈值的保护带与纠错码结合使用。根据我们有限的实证比特翻转数据集,我们表明这种组合可以在一定的性能成本下防止VRD引起的比特翻转。我们认为这需要未来进行更多在线读干扰分析、运行时可配置干扰机制的研究。

需要强调一个重要注意事项:本部分及下一部分呈现的结果仅基于有限数量的读干扰阈值测量。您可以悲观地认为,更多的阈值测量可能会产生更差的结果。思考数百万或数十亿次读干扰阈值测量可能产生的结果是有益的。

以下是更深入的探讨:

  • 识别最小读干扰阈值非常困难:读干扰阈值的变化可达3.5倍,且可能没有上限。其分布受许多参数影响,全面测试非常耗时。例如,仅测试一个拥有256K行的存储体中的每个行一次,就可能需要39分钟。而一个DDR5模块有32个存储体。
  • 单独使用保护带效果有限:由于全面测试非常耗时,系统设计者可能会测量几次读干扰阈值,然后取最小值并应用一个保护带,希望覆盖永恒的最小读干扰阈值。然而,我们的分析表明,即使使用较大的保护带(如50%),也不能保证能识别出最小读干扰阈值。而且,大的保护带会引入显著的性能开销。
  • 纠错码作为补充技术:我们重视纠错码作为使用读干扰阈值保护带的补充技术。但我们观察到的比特翻转率表明,目前广泛使用的、相对廉价的ECC方案结合10%的保护带可能仍然不安全。使用20%或更大的保护带可能只会在行中产生一个独特的比特翻转,结合当今使用的ECC方案或许可以防止。但我们认为需要更详细的分析(可能需要进行大规模研究)才能对保护带和ECC的有效性做出明确结论。

高带宽内存中的读干扰

上一节我们讨论了DDR内存中的VRD,本节中我们来看看高带宽内存中的读干扰问题。

我们问了一个问题:读干扰是否存在于新的高带宽内存DRAM中?如果存在,它在高带宽内存中表现如何?

我们的目标是实验性地分析现代高带宽内存芯片对Rowhammer或读干扰的脆弱程度。因此,我们实验性地表征了两个不同FPGA板上的六个HBM2 DRAM芯片。

以下是四个关键结果:

  1. 读干扰脆弱性在3D堆叠通道和各通道的数据行间变化:我们观察到比特翻转发生在每个测试的DRAM行和所有测试的通道中。比特错误率在不同通道间变化,我们识别出具有不同比特错误率的通道组。最脆弱通道的ID在不同芯片间也不同。
  2. *均而言,用少于诱导第一次比特翻转所需激活次数两倍的次数,可以诱导最多10个比特翻转:我们开发了基于诱导第一次比特翻转所需锤击次数的九个其他指标。我们发现,*均而言,少于两倍的最小锤击次数就足以诱导最多10个比特翻转。此外,如果一个行需要很多次锤击才能诱导第一次比特翻转,那么诱导该行更多比特翻转可能需要的额外锤击次数更少。
  3. 行加压在测试的HBM2 DRAM芯片中普遍存在:保持一行开启更长时间(行加压)也会导致比特翻转。我们观察到,随着开启时间增加,比特错误率增加,并且用更少的激活次数就能诱导比特翻转。
  4. 我们完全揭示了一个测试芯片中未公开的片内Rowhammer缓解技术的工作原理:我们发现该HBM2芯片实现了一个未公开的片内缓解机制。该机制每17个定期刷新操作执行一次受害者行刷新(也称为目标行刷新)。它会刷新攻击行两侧的相邻行。我们设计了几种访问模式来绕过该缓解机制。

我们还绘制了关于攻击和缓解的若干启示。我们希望我们的工作能激发并帮助未来的工作。本工作的所有数据和源代码均在下方链接中开源。

低开销Rowhammer缓解技术:Abacus

上一节我们分析了HBM中的干扰问题,本节中我们转向缓解技术,介绍一种名为Abacus的低开销解决方案。

随着DRAM对干扰越来越脆弱,现有的Rowhammer缓解技术要么以高面积开销实现低性能成本,要么以低面积成本但高得令人望而却步的性能和能耗开销来防止比特翻转。我们在这项工作中的目标是,在高度Rowhammer脆弱的DRAM系统中,以低面积、性能和能耗开销防止Rowhammer比特翻转。

我们的关键思想是使用低成本和可扩展的基于哈希的计数器来跟踪DRAM行激活。为此,我们提出了Abacus,它通过采用Count-Sketch技术来跟踪大多数DRAM行,以实现低面积成本;并且仅使用高精度的每DRAM行激活计数器来跟踪一小部分被多次激活的DRAM行,以减少性能损失。

我们的综合评估表明,Abacus在面积、性能和能耗成本之间取得了良好的*衡,其面积开销显著更低,并且性能优于最先进的缓解技术。

Abacus的关键观察是:许多工作负载在不同DRAM存储体中访问相同行地址的时间大致相同。因此,我们可以使用一个计数器来跟踪所有存储体中具有相同地址的多个行的激活次数。

Abacus有两个关键结构:

  1. 计数器表:使用Count-Sketch技术,将每个DRAM行尽可能唯一地映射到一组低成本的基于哈希的计数器。
  2. *期攻击者表:仅为一小部分被多次激活的DRAM行分配高精度的每行标签计数器。

当发生对行A的激活时,Abacus首先检查计数器表获得一个估计值,同时检查*期攻击者表获得另一个估计值。如果*期攻击者表有标签匹配,则使用其更准确的估计值。然后,Abacus将此估计值与预防性刷新阈值比较,如果达到阈值,则预防性刷新行A的受害行。

低开销Rowhammer缓解技术:CoMeT

上一节我们介绍了Abacus,本节中我们来看看另一种低开销缓解技术CoMeT。

我们的目标是在高度Rowhammer脆弱的DRAM系统中,以低面积、性能和能耗开销防止Rowhammer比特翻转。

我们观察到有两种类型的计数器可用于跟踪激活次数:低成本的基于哈希的计数器和高精度的基于标签的计数器。理想情况下,我们希望同时实现低成本和高精度。

我们的关键思想是:首先使用低成本和可扩展的基于哈希的计数器以低面积开销跟踪大多数DRAM行激活;其次,仅使用高精度的基于标签的计数器跟踪一小部分DRAM行,以实现低性能开销。

我们引入了CoMeT。CoMeT有两个关键结构:

  1. 计数器表:采用Count-Sketch技术,这是一种基于哈希的频繁项计数技术,使用多个哈希函数和每个哈希函数对应的计数器数组。
  2. *期攻击者表:仅为一小部分被多次激活的DRAM行分配高精度的每DRAM行激活计数器。

当发生激活时,CoMeT首先检查计数器表获得估计值,同时检查*期攻击者表。如果*期攻击者表有匹配,则使用其更准确的估计值。然后比较此估计值与预防性刷新阈值,并在达到阈值时预防性刷新受害行。

我们的评估表明,CoMeT在面积、性能和能耗成本之间取得了良好的*衡,其面积开销显著低于最先进的缓解技术,并且性能更优。

由Rowhammer防御引入的隐蔽和侧信道漏洞

上一节我们介绍了低开销缓解技术,本节中我们来看看这些防御措施可能引入的新安全问题。

工业界和学术界已经采用了多种Rowhammer缓解措施,但它们完整的安全影响尚不明确。这就引出了一个问题:工业和学术界的Rowhammer缓解措施是否会引入新的隐蔽和侧信道漏洞?

在这项工作中,我们表明不幸的是,答案是肯定的。

我们观察到,DRAM预防性操作(如刷新)具有两个基本特征,使得隐蔽和侧信道成为可能:

  1. 这些操作通常会导致常规内存请求的访问延迟显著增加。
  2. 预防性操作可以按需触发,因为它们高度依赖于内存访问模式。

利用这一观察,我们引入了LeakyHammer,这是一类新的攻击,它利用Rowhammer缓解措施引起的内存延迟差异。LeakyHammer的关键思想是:首先通过按需触发预防性操作,确定性地对内存请求施加高延迟;其次,通过观察系统中发生的预防性操作,准确推断受害者内存访问模式。

我们在论文中进行了三个案例研究:

  1. 基于PRaC的隐蔽信道攻击:我们展示了攻击者可以利用PRaC机制建立跨进程的隐蔽通信信道。
  2. 基于RFM的隐蔽信道攻击:我们展示了类似的攻击也可以利用刷新管理机制。
  3. 网站指纹攻击:我们演示了一种网站指纹攻击,攻击者可以通过观察受害者进程引起的预防性操作,推断出受害者正在加载哪个网站。

我们还讨论了如何缓解LeakyHammer,并提出了两种对策:

  1. 固定速率RFM:这是一种根本性解决方案,它将预防性操作与运行应用程序的内存访问模式解耦。
  2. 随机初始化激活计数器:这是一种较低成本的应对措施,通过随机化方法降低信道容量。

我们的评估表明,固定速率RFM可以在*未来的Rowhammer阈值下以较小的性能开销缓解LeakyHammer和Rowhammer。而随机初始化激活计数器则以较低的性能成本降低了信道容量。

自管理DRAM框架

上一节我们讨论了防御措施可能引入的漏洞,本节中我们来看一个旨在简化新维护操作实现的框架。

实现新的片内维护操作(如更好的Rowhammer保护)意味着需要更改DRAM接口和其他系统组件(如内存控制器)。然而,修改接口是一个复杂的过程,通常需要多年时间。

我们的目标是简化和加速实现新的高效片内维护操作的过程。我们的关键思想是提出一个简单的接口变更,使得DRAM芯片可以拒绝针对正在维护区域的内存访问。

这一单一的接口变更允许DRAM设计者实现新的维护机制,而无需进一步更改接口和其他系统组件(除了DRAM芯片本身)。

我们在SMD中实现了三种片内维护机制,以展示SMD的有用性和多功能性。我们的评估表明,SMD能够以较小的面积成本实现性能和能耗高效的维护操作。

我们的所有源代码和数据均在下方链接中开源。

SMD的关键观察是:DRAM芯片拥有维护自身所需的所有信息。DRAM芯片也应该自我维护,原因有二:首先,实现维护机制更容易且可能更快,因为这样做不需要更改接口;其次,它使DRAM制造商能够在不断露任何DRAM内部专有信息的情况下进行架构优化。

我们的解决方案是启用自主的片内维护操作。然而,DRAM接口定义过于僵化,无法容纳自主的片内维护操作。我们的目标是对DRAM接口进行一次简单的变更,以启用自主维护操作。

SMD引入的概念是“锁定区域”。锁定区域定义了维护操作的粒度。锁定区域位向量指示正在维护的区域。锁定控制器协调DRAM区域的锁定和释放。

通过支持SMD的DRAM存储体,我们在开始对该区域进行维护操作之前先锁定一个区域。内存控制器可以访问未锁定的区域。如果内存控制器访问一个锁定的区域,它会收到一个否定确认。维护操作完成后,锁定控制器释放锁。

SMD只需要对DRAM接口进行一次修改,即增加否定确认信号。这可以通过使用DDR4和DDR5接口中已有的Alert_n信号来实现,无需额外的引脚成本。

总结

在本节课中,我们一起学习了内存稳健性的核心挑战——由Rowhammer等现象引起的内存干扰错误。我们深入探讨了可变读干扰(VRD)这一新现象,它表明读干扰阈值会随时间不可预测地变化,使得准确防御变得困难。我们还分析了高带宽内存中的干扰问题。接着,我们介绍了几种低开销的Rowhammer缓解技术,如Abacus和CoMeT。然后,我们探讨了这些防御措施可能意外引入的隐蔽信道和侧信道安全漏洞(LeakyHammer)。最后,我们了解了自管理DRAM(SMD)框架,它旨在通过简单的接口变更来简化未来维护操作的实现。整个课程强调了在追求内存性能与密度的同时,确保其安全性与可靠性的持续挑战与重要性。

posted @ 2026-03-29 09:13  绝不原创的飞龙  阅读(5)  评论(0)    收藏  举报