DRAM 的往昔、当下与未来。 全世界越来越多地质疑摩尔定律的消亡,但悲剧的是,它早在十多年前就已经消亡,没有引起任何轰动或引起任何关注。人们通常关注的是逻辑器件,但摩尔定律也一直适用于 DRAM。 原始缩放定律。来源:1965 年《集成电子学的未来》 - 戈登·摩尔 DRAM 不再可扩展。在辉煌时期,内存位密度每 18 个月翻一番,甚至超过逻辑。这意味着每十年密度增加 100 多倍。但在过去的十年里,扩展速度已经大大放缓,密度仅增加了 2 倍。 来源:SemiAnalysis如今,随着人工智能的爆发式发展,行业平衡被进一步打破。虽然随着时间的推移,逻辑芯片的密度和每晶体管功能成本都有了显著改善,但 DRAM 速度的提升却十分缓慢。尽管存在大量 FUD,但台积电 3nm 和 2nm 节点的每晶体管成本仍在下降。而对于内存而言,带宽的增加是由昂贵的封装推动的。来源:Nvidia、SemiAnalysis高带宽内存(HBM)乃是加速器内存的中流砥柱,其每 GB 的成本是标准 DDR5 的三倍甚至更多。客户虽心有不甘,却也只能被迫接受,只因若想打造具有竞争力的加速器套件,他们几乎别无选择。这种平衡并不稳固 —— 未来的 HBM 世代将持续变得更为复杂,层数也会更高。随着模型权重本身趋近多 TB 级别,人工智能对内存的需求正急剧增长。就 H100 而言,制造成本的 50% 以上归因于 HBM,而对于 Blackwell,这一比例更是增长至约 60% 以上。换言之,DRAM 行业已然陷入困境。计算方面的改进虽在放缓,但仍远超内存。那么,DRAM 的创新步伐怎样才能重新加快呢?未来又有哪些创新可用于改善带宽、容量、成本和功耗呢?存在诸多可能的解决方案。鉴于人工智能的资本支出高达数千亿美元,业界拥有强大的动力去推动这些解决方案的发展。首先介绍 DRAM 的背景与历史,接着阐述构成现代 “内存墙” 的每个问题以及可能的解决方案。我们将探讨相对简单的短期构想,例如扩展 HBM 路线图,以及更为复杂的长期选择,如内存计算(CIM)、铁电 RAM(FeRAM)或磁性 RAM(MRAM)等新型内存类型,还有即将面世的 4F² DRAM 和 3D DRAM。 DRAM入门:工作内存计算机中运用多种不同类型的内存。其中最快的当属 SRAM(静态随机存取存储器),它与逻辑处理技术相兼容,位于 CPU 或 GPU 之上。由于 SRAM 处于逻辑芯片之上,所以它也是最为昂贵的内存类型 —— 每字节的价格比动态随机存取存储器(DRAM)高出 100 倍以上,因此其使用量极为有限。与之相反的类型包括非易失性的 NAND 固态驱动器、硬盘驱动器以及磁带。这些内存虽然价格低廉,但对于许多任务而言速度过慢。DRAM 则处于 SRAM 和闪存之间的 “黄金区域”—— 速度足够快,价格也足够便宜。记忆层次结构。来源:EnfabricaDRAM 可占据非 AI 服务器系统成本的一半之多。然而,在过去的十年间,它在所有主要逻辑和内存类型中扩展速度最为缓慢。16Gb 的 DRAM 芯片在八年前首次大量投放市场,但时至今日,它仍然是最为常见的类型;这些芯片在推出之时,每 GB 的成本约为 3 美元,最高曾达到近 5 美元,随后在过去的 12 个月内又回落到 3 美元左右。其速度提升稍显缓慢,而功率方面则取得了最大程度的改善,这主要得益于 LPDDR 的兴起,这是一种采用更短、更高效线路的封装变化,但这里的提升门槛很低。DRAM 扩展缺乏进展,已然成为阻碍计算性能提升的瓶颈以及经济上的制约因素。 DRAM 入门:基本架构 DRAM 的原理十分简单。它由以网格形式排列的存储单元阵列构成,每个存储单元可存储一位信息。所有现代的 DRAM 均采用 1T1C 单元,也就是 1 个晶体管和 1 个电容器。晶体管负责控制对单元的访问,电容器则以小电荷的形式存储信息。 基本 DRAM 电路:存储单元阵列,每行通过一条字线连接,每列通过一条位线连接。激活 1 条字线和 1 条位线可读取或写入它们相交处的单元字线(WL)连接着一行中的所有单元;它们对每个单元的访问晶体管进行控制。位线(BL)连接着一列中的所有单元;它们与访问晶体管的源极相连接。当一条字线通电时,该行中所有单元的访问晶体管都会开启,并允许电流从位线流入单元(在写入单元时)或者从单元流向位线(在读取单元时)。一次只有一条字线和一条位线处于活动状态,这就意味着只有活动字线和位线相交处的一个单元会被写入或者读取。DRAM 是一种易失性存储器技术:存储电容器会泄漏电荷,因此需要频繁进行刷新(大约每 32 毫秒一次),以维持存储的数据。每次刷新都会读取单元的内容,将位线上的电压提升至理想水平,并让刷新后的值流回电容器。刷新完全在 DRAM 芯片内部进行,没有数据流入或流出芯片。这虽最大限度地减少了浪费的电量,但刷新仍会占据 DRAM 总功耗的 10% 以上。电容器与晶体管极为相似,已缩小至纳米级宽度,不过其纵横比也非常大,大约 1000 纳米高,而直径却只有数十纳米 —— 纵横比接近 100:1,电容约为 6 - 7 飞法拉(fF)。每个电容器存储的电荷极少,新写入时约有 40000 个电子。单元必须通过位线将电子输入和输出,然而施加到位线上的电压会被连接在同一位线上的所有其他单元稀释。总位线电容可能总计超过 30fF—— 稀释度为 5 倍。位线也非常细,这会减慢电子的速度。最后,如果单元最近没有刷新,那么可能已大量耗电,因此只能输送一小部分电荷。所有这些因素都意味着,放电单元以读取其值会产生极为微弱的信号,必须将其放大。为此,感测放大器(SA)连接到每个位线的末端,以检测从存储单元读取的极小电荷,并将信号放大到有用的强度。随后,这些较强的信号可以在系统的其他地方被读取为二进制的 1 或 0。感测放大器具有巧妙的电路设计:它将活动位线与未使用的匹配邻居进行比较,首先将两条线的电压设置为相似。活动位线上的电压将与非活动邻居进行比较,使感测放大器失去平衡,并使其将差值放大回活动位线,既放大了信号,又将新的全值(高或低)驱动回仍与位线保持开放的单元。这可谓是一石二鸟:单元同时被读取和刷新。在读取 / 刷新活动单元后,该值可以从芯片中复制出来,也可以通过写入操作进行覆盖。写入操作会忽略刷新后的值,并使用更强的信号强制位线匹配新值。读取或写入完成后,字线将被禁用,从而关闭访问晶体管,进而捕获存储电容器中的任何驻留电荷。 DRAM 入门:历史(DRAM 仍在扩展时)现代 DRAM 由两项独立而互补的发明实现:1T1C 存储单元和感测放大器。 1T1C 单元由 IBM 的 Robert Dennard 博士于 1967 年发明,他也因同名的 MOS 晶体管缩放定律而闻名。DRAM 和缩放都基于 MOS 晶体管(金属氧化物硅,晶体管栅极中的层)。 Dennard 的 1T1C 存储单元架构原始专利。来源:美国专利 3,387,286尽管发明了 1T1C(1 个晶体管和 1 个电容器)存储单元结构,但英特尔在 1973 年推出的早期 DRAM 每个单元却使用了 3 个晶体管,其中间晶体管的栅极充当存储电容器。这是一个 “增益单元”,中间和最后一个晶体管能够提供增益,以放大中间栅极上极其微小的电荷,使得单元能够轻松读取而不会干扰存储的值。从理论上来说,1T1C 电池更为优越:器件更少、连接更简单、体积更小。那为何没有立即被采用呢?原因在于读取这种电池在当时还不具有实用性。在发明之时,1T1C 单元的电容很小,无法正常运行。因此,需要第二个关键发明:感测放大器。第一个现代感测放大器由西门子的卡尔・斯坦于 1971 年开发出来,并在加利福尼亚的一次会议上进行了展示,但完全被忽视了。在当时,1T1C 架构尚未被广泛采用,西门子也不清楚该如何利用这项发明。斯坦被调往另一个职位,在那里他拥有了与 DRAM 无关的成功职业生涯。卡尔·斯坦的原始感测放大器专利。来源:美国专利 3,774,176这种设计与位线间距完美匹配,并且能够缩小尺寸以跟紧单元尺寸。感测放大器在不使用时完全断电,如此一来,就可以在芯片上安装数百万个感测放大器而不会消耗电量。这着实是一个小奇迹。感测放大器的时代花了五年多的时间才姗姗来迟。Mostek 的 Robert Proebsting 独立地(重新)发现了这一概念,到了 1977 年,他们采用 1T1C + SA 架构的 16kb DRAM 成为了市场领导者。这一成功模式一直延续下来 —— 近 50 年后,DRAM 的架构基本保持不变。 DRAM 入门:当 DRAM 停止扩展时 在 20 世纪,摩尔定律和登纳德缩放定律统治了半导体行业。在巅峰时期,DRAM 密度的增长速度超越了逻辑。每 18 个月,DRAM 芯片的容量就会翻一番,推动了日本晶圆厂的崛起(1981 年,其市场份额首次超过美国,1987 年达到约 80% 的峰值),以及后来的韩国公司(其市场份额在 1998 年超过日本)。相对简单的工艺使得晶圆厂能够快速更替,为拥有资金建设下一代晶圆厂的新进入者创造了机会。 在 DRAM 规模不断缩小的“黄金时代”,每比特价格在 20 年内下降了 3 个数量级。来源:Lee, KH,《2000 年后 DRAM 行业战略分析》这种速度无法长期持续下去,到了 20 世纪末至 21 世纪,逻辑的发展速度已经大大超越了内存扩展的速度。最近,逻辑扩展的速度已经放缓至每两年密度提高 30% - 40%。但与 DRAM 相比,这仍然较为可观,因为 DRAM 的速度比其峰值时期慢了大约一个数量级,现在需要十年时间才能将密度提高两倍。“这次不一样”:内存周期已经成为行业的一部分 50 年了。来源:Lee, KH,《2000 年后 DRAM 行业的战略分析》这种规模扩张的放缓对 DRAM 的定价动态产生了连锁反应。虽然内存传统上是一个周期性行业,但密度扩张缓慢意味着在供应有限的情况下,成本降低的幅度要小得多,无法缓解价格上涨。增加 DRAM 供应的唯一方法是建造新的晶圆厂。价格的大幅波动和高额的资本支出意味着只有最大的公司才能生存:在 20 世纪 90 年代中期,有 20 多家制造商生产 DRAM,前 10 名制造商占据了 80% 的市场份额。现在,前三大供应商占据了 95% 以上的市场份额。由于 DRAM 已经商品化,供应商本质上更容易受到价格波动的影响(与逻辑或模拟产品相反),并且必须在市场低迷时主要依靠其产品的原始价格进行竞争。逻辑产品只有在成本增加的情况下才能维持摩尔定律,而 DRAM 则没有这种奢侈。DRAM 的成本很容易衡量,单位为美元 / GB。相对于早期,过去十年的价格下降缓慢 —— 在十年内仅下降一个数量级,而在过去只需要一半的时间。DRAM 特有的峰值和谷值行为也非常明显。DRAM 密度扩展速度每十年减慢 2 倍,而价格则受周期性影响。来源:DRAMExchange、SemiAnalysis自进入 10 纳米节点以来,DRAM 的位密度一直停滞不前。即使在三星的 1z 和 SK 海力士的 1a 节点中添加了极紫外光(EUV)技术,密度也没有显著提高。其中两个显著的挑战来自电容器和感测放大器。电容器的制作难度极大。首先,其图案化要求非常高,因为孔必须紧密排列,且具有极为良好的临界尺寸(CD)和覆盖控制,以便接触下方的访问晶体管并避免出现桥接或其他缺陷。电容器的纵横比极高,蚀刻出又直又窄的孔轮廓极为困难。此外,还需要更厚的硬掩模来实现更深的蚀刻,因为更厚的掩模需要更厚的光刻胶,而光刻胶更难进行图案化。接下来,必须在整个孔轮廓的壁上沉积几纳米厚的多个无缺陷层,以形成电容器。几乎每一步都在考验着现代加工技术的极限。DRAM 存储电容器需要在 100:1 纵横比的孔中形成许多精致的层(不按比例 - 实际电容器可能比图中高 10 倍)。来源:应用材料感测放大器与逻辑互连类似。它们曾经是事后才被考虑的因素,但现在其难度与 “主要” 功能(逻辑晶体管和存储单元)相当,甚至更大。它们受到多方面的挤压。必须进行面积缩放以匹配位线的缩小,感测放大器变得更不敏感,并且随着尺寸变小而更容易出现变化和泄漏。同时,较小的电容器存储的电荷较少,因此读取它们的感测要求变得更加困难。还有其他挑战,结果是使用传统方法以经济的方式扩展 DRAM 变得越来越困难。新想法的大门已经打开 —— 让我们来探索其中的一些…… 短期缩放:4F² 和垂直通道晶体管 短期内,DRAM 的规模将继续沿着其传统路线图发展。更大、更根本的架构变革将需要数年时间才能开发和实施。与此同时,该行业必须满足对更高性能的需求,即使只是进行微小的改进。 短期路线图中有两项创新:4F² 单元布局和垂直通道晶体管(VCT)。 三星 DRAM 路线图。来源:SemiEngineering最初发布的 Samsung Memcon 2024请注意,包括三星在内的一些公司在其路线图中将垂直通道晶体管(VCT)置于 “3D” 的旗帜之下。虽然从技术层面上讲这是正确的,但这多少有些误导,因为 VCT 与通常所说的 “3D DRAM” 并不相同。标准的 6F² 布局与采用垂直通道晶体管的 4F² 布局对比鲜明。来源:CXMT IEDM 2023。4F² 以最小特征尺寸 F 来描述存储单元面积,类似于标准逻辑单元高度(例如 “6T 单元”)的轨道度量。最小特征尺寸通常是线宽或空间宽度,在 DRAM 中,这将是字线或位线宽度。这是表示单元布局密度的简单方法,并且易于比较 ——4F² 单元的大小仅为 6F² 单元的 2/3,理论上密度增加 30%,而无需缩小最小特征尺寸。请注意,纯单元布局并不是密度缩放的唯一限制,因此实际收益可能低于理想的 30% 情况。4F² 是单个位单元的理论极限。回想一下,特征尺寸是线或空间宽度(即半间距),因此线 + 空间图案的间距为 2F,而不是 F,因此最小可能单元尺寸是 4F² 而不仅仅是 F²。因此,一旦实现这种架构,水平扩展的唯一途径就是扩展 F 本身 —— 这很快就会变得不切实际,甚至完全不可能。自 2007 年以来,DRAM 一直使用 6F² 布局,之前使用 8F²(有趣的是:现代 NAND 已经使用 4F² 单元,但特征尺寸 F 明显更大。SRAM 的数量级为 120F²,密度降低了 20 倍!)。4F² 单元的关键推动因素是垂直通道晶体管。这是必要的,因为晶体管必须缩小以适合单元,并且两个触点(位线和电容器)也必须适合该占位面积,因此,呈一条垂直线。在这些规模下,有必要垂直而不是水平构建晶体管,将其占位面积缩小到大约 1F,大致匹配其上方的电容器,同时保持足够的通道长度以使晶体管有效运行。当前的 DRAM 使用水平通道和具有水平分离的源极 / 漏极。这些是成熟且易于理解的架构。VCT 依次堆叠源极(连接到其下方的 BL)、通道(被栅极和控制栅极的字线包围)和漏极(连接到上方的电容器)。在制造过程中存在权衡,有些步骤变得更容易,而其他步骤则更难,但总体而言,VCT 更难制造。三星的工艺因使用晶圆键合而引人注目。在类似于逻辑背面供电的工艺中,单元访问晶体管是在翻转晶圆并将其键合到支撑晶圆之前在顶部形成位线的情况下制造的,因此位线现在被埋了起来。有趣的是,键合后的基座似乎不需要与 VCT 精确对准,尽管披露并未解释外围 CMOS 是位于翻转的芯片上还是位于新键合的基座中。顶部变薄以露出晶体管的另一端,因此可以在其顶部构建存储电容器。EVG 和 TEL 将从这种对晶圆键合工具的新需求中获益。 DRAM 入门:当前变体DRAM 种类繁多,每种都针对不同目标进行了优化。相关的最新一代类型包括 DDR5、LPDDR5X、GDDR6X 和 HBM3/E。它们之间的差异几乎完全在于外围电路。不同类型的内存单元本身较为相似,并且所有类型的制造方法也大致相同。下面让我们简单介绍一下各种 DRAM 类型及其作用。DDR5(第五代双倍数据速率)采用双列直插式内存模块(DIMM)封装,可提供最高的内存容量。LPDDR5X(低功耗 DDR5,X 表示增强型)能够提供低功耗操作,但需要与 CPU 保持较短距离以及低电容连接,从而限制了容量,因此它被用于需要低功耗且布局限制可容忍的手机和笔记本电脑。最近,我们看到一些 AI 加速器、Apple 的专业工作站以及 Grace 等 AI 馈送 CPU 采用了容量更大的 LPDDR 封装。这些新用途的推动因素是对高能效数据传输和高带宽的追求。在加速器中,LPDDR 已成为 “第二层” 内存的最佳选择,与昂贵的 HBM 相比,它在较低(较慢)级别提供更便宜的容量。它在构建最高容量和可靠性功能方面有所欠缺,但胜过 DDR5 DIMM,因为它每比特吞吐量消耗的能量要少一个数量级。LPDDR5X 封装在 Nvidia Grace 处理器上最高可达 480GB,这大约是 GDDR 配置容量限制的 10 倍(受电路板布局规则和满足消费者游戏系统信号要求的芯片封装限制),与中型 DDR 服务器配置处于同一范围。使用 128GB 以上的 R-DIMM 可以实现更大容量的 DDR5,但由于封装复杂性和 DIMM 上的额外寄存器(一种缓冲芯片),成本较高。LPDDR5X 在功耗方面比 DDR 有巨大优势,在成本方面比 HBM 有巨大优势,但每比特能量无法与 HBM 抗衡,而且它需要很多通道(与 CPU 的连接),这会使大容量的电路板布局拥挤不堪。它在纠错(ECC)方面也表现不佳,这在大容量下变得更加重要,因为出现错误的可能性更大。为了弥补这一点,必须转移一些容量来支持额外的 ECC。例如,Grace CPU 每个计算托盘有 512GB 的 LPDDR5x,但似乎为可靠性功能保留了 32GB,剩下 480GB 可供使用。即将推出的 LPDDR6 标准几乎没有任何改进,每个芯片的通道数仍然很高,速度提升幅度相对较小,纠错支持也有限。LPDDR6 不会成为 HBM 的竞争对手。GDDR6X(G 代表图形)专注于图形应用,以低成本提供高带宽,但延迟和功耗更高。虽然在游戏 GPU 中很有用,但它的设计具有板级容量限制和功率水平,限制了可以使用它的 AI 应用程序的大小。然后是 HBM3E(第三代高带宽内存,带有增强型 “E” 版本)。它优先考虑带宽和电源效率,但价格非常昂贵。HBM 的两个定义特征是更宽的总线宽度和垂直堆叠的内存芯片。单个 HBM 芯片每个 I/O 有 256 位,是 LPDDR 的 16 倍,LPDDR 的总线宽度每个芯片只有 16 位。芯片垂直堆叠,通常为 8 个或更多,每 4 个芯片分组一个 I/O;总的来说,该封装可以提供 1024 位带宽。在 HBM4 中,这个数字将翻倍到 2048 位。为了充分利用 HBM,最好将其与计算引擎一起封装,以减少延迟和每位的能量。为了在保持计算短连接的同时扩大容量,必须将更多芯片添加到堆栈中。HBM 的高成本主要源于这种芯片堆叠需求。在典型的 HBM 堆栈中,8 个或 12 个 DRAM 芯片(路线图上计划增加到 16 个或更多)堆叠在一起,电源和信号通过每个芯片中的硅通孔(TSV)布线。TSV 是直接穿过芯片的导线,用于连接芯片。与用于连接堆叠芯片的旧式引线接合方法相比,TSV 密度更高、性能更高,但成本也更高。在 HBM 堆栈中,必须通过 TSV 布线 1200 多条信号线。必须为它们分配相当大的区域,使得每个 HBM DRAM 芯片的尺寸是相同容量下标准 DDR 芯片的两倍。这也意味着对 DRAM 芯片的电气和热性能有更高的分级要求。 这种复杂性会降低产量。例如,三星的 DRAM 设计失误及其使用落后的 1α 节点导致其 HBM 产量极低。封装是另一个主要挑战。由于产量相对较低,正确对齐 8 个以上的芯片(每个芯片有数千个连接)非常困难,因此成本高昂。目前,这是 HBM 供应商之间的主要区别之一,因为 SK 海力士可以使用其 MR-MUF 封装成功生产 HBM3E,而三星则难以提高其产品的产量。美光有一个可行的解决方案,但需要大幅扩大生产规模。 尽管成本高昂且产量有限,HBM3E 目前仍是内存行业有史以来最有价值、利润率最高的产品。这主要是因为对于大型 AI 加速器而言,没有其他类型的 DRAM 是可行的替代品。尽管随着三星提高产量以及美光扩大生产,利润率可能会下降,但 AI 加速器对内存的需求将继续增长 —— 在一定程度上抵消了这一新供应带来的好处。 HBM 在带宽和封装密度方面占据主导地位。来源:SemiAnalysis简而言之,高带宽和极高的带宽密度以及最佳的每比特能量和真正的 ECC(纠错码)功能使 HBM3E 成为目前 AI 加速器的明显赢家。这就是 Nvidia 的 H100 和 AMD 的 MI300X 等产品使用它的原因。GDDR6/X 虽然容量很小,但按相同指标排在第二位。LPDDR5 和 DDR5 则更差,都不适合加速器的需求。当前的 HBM 解决方案价格昂贵,而且扩展难度越来越大。我们为什么会陷入这种境地呢? HBM 路线图HBM 是一种围绕传统 DRAM 理念构建的封装解决方案,但采用密度和相邻性封装,以尝试解决 AI 和其他形式的高性能计算的带宽和功率问题。目前,所有领先的 AI GPU 都使用 HBM 作为内存。2025 年的计划是 12-Hi HBM3e,配备 32Gb 芯片,每堆栈总共 48GB,数据速率为每线 8Gbps。在 GPU 服务器中,首批支持 CPU 的统一内存版本已随 AMD 的 MI300A 和 Nvidia 的 Grace Hopper 一起推出。 Grace CPU 具有高容量 LPDDR5X,而 GPU 具有高带宽 HBM3。但是,CPU 和 GPU 位于不同的封装中,通过 NVLink - C2C 以 900GB/s 的速度连接。这种模型集成起来更简单,但在软件方面更困难。连接到另一个芯片的内存的延迟要高得多,可能会影响大量工作负载。因此,内存并不完全统一,并带来了自身的挑战。 来源:三星、美光HBM4 还需要几年时间才能推出,三星和美光声称它将达到 16-Hi,每堆栈容量可达 1.5TB/s。这比我们目前的带宽高出一倍多,而功耗仅为 1.3 - 1.5 倍,但这种扩展仍显不足,因为内存的总体功耗还在继续增加。HBM4 还将改为每堆栈 2048 位宽度,将数据速率略微降低至 7.5Gbps,这有助于降低功耗并实现信号完整性。数据速率很可能会提高到 HBM3E 的水平或类似水平。另一个重大变化是 HBM 基片。基片将采用 FinFET 工艺制造,而不是现在使用的平面 CMOS 技术。对于不具备这种逻辑能力的美光和 SK 海力士,基片将由代工厂制造,台积电已经宣布他们将成为 SK 海力士的合作伙伴。此外,还将为个别客户定制基片。我们将发布有关 HBM 定制的单独报告,但这里有一个快速入门指南:HBM4 公告预测至少将使用 2 种不同形式的基础芯片,从而允许针对不同的速度和长度优化内存接口。控制 DRAM 状态机的功能可能会转移到基础芯片上,以更有效地控制 DRAM 芯片,而仅垂直连接可能会降低每位的能量。定制 HBM 可以实现我们今天看到的传统基于 CoWoS(Chip on Wafer on Substrate)的组件之外的多种其他封装架构。可以使用中继器 PHY 来菊花链连接多行 HBM—— 尽管超过 2 级的任何情况都会看到收益递减。来源:SK海力士随着 HBM4 及后续产品的推出,混合键合技术已被提出。这将允许更薄的 HBM 堆栈,因为凸块间隙被消除,并且散热效果更好。此外,它将允许 16 - 20 层以上的堆栈高度。它还可以减少少量功耗,因为信号传输的物理距离将减少。然而,挑战是巨大的 —— 生产 16 个以上芯片的键合堆栈并不容易,没有一个芯片是完全平坦的 —— 目前还没有人接近大批量制造的解决方案。所有初始的 HBM4 都不会使用混合键合,并且我们预计这种情况将比大多数人希望的持续更长时间。CPU、GPU 或加速器与内存之间的连接位于基础芯片中。改进这种连接是克服内存限制的一种可能途径。Eliyan 是一家由美光和英特尔等公司资助的初创公司,该公司正利用其 UMI(统一内存接口)自定义界面率先采用这种方法。来源:Eliyan这种 UMI 接口与 ASIC 芯片协同使用,其中 ASIC 芯片既可用作 HBM 堆栈的基础芯片,也能充当其他内存类型的模块控制器。此芯片组涵盖了内存控制器与内存芯片之间的物理互连(PHY)。UMI 向外与主机 GPU 以及连接到主机的结构相连接。它们通过全 CMOS 工艺进行制造,具备速度快且效率高的特点,运用先进的 “Nulink” 协议与主机相连,还能消除主机硅片上内存控制器所占用的空间。Eliyan 的封装技术甚至能够运用标准基板,并且相较于常规的先进封装,其覆盖范围更大。这或许能允许 HBM 与 ASIC 芯片不相邻,而是距离更远,也就意味着可以容纳更高的容量。他们的方法还在主机上占用更少的面积和 “海岸线”,这意味着能够增加通道宽度。标准化的 UMI 内存芯片能够允许使用 HBM、DDR、CXL 内存等,而无需固定为特定的类型,从而显著提高了灵活性。尽管这种方法可能会带来短期的改进,但它并不能解决 HBM 根本的成本问题。 新兴记忆自从 DRAM 和 NAND 占据主导地位以来,人们一直在对更好的替代方案进行研究。这些方案的统称是 “新兴存储器”。不过,这个称呼存在一定的不恰当之处,因为到目前为止,它们都尚未成功 “崛起” 成为大批量的产品。然而,考虑到围绕人工智能的新挑战和激励措施,它们至少值得我们进行简略的探讨。在离散应用存储器中,最具前景的是 FeRAM(铁电随机存取存储器)。它们并非在存储电容器中使用电介质(绝缘材料),而是采用铁电体(在电场中可极化的材料)。FeRAM 具有非易失性这一理想特性,即能够在关闭电源时存储数据,并且不会在刷新上浪费电力或时间。美光在 IEDM 2023 上展示了令人鼓舞的成果,其密度可与 D1β DRAM 相媲美,同时还具有良好的耐用性和保留性能。换句话说,如果不是因为成本问题,它会是 AI/ML(人工智能 / 机器学习)用途的良好候选者。但与传统 DRAM 相比,它的制造过程更为复杂,并且使用了更多特殊材料,以至于目前它在成本方面根本不具备竞争力。MRAM(磁性随机存取存储器)是另一个具有前景的研究领域。数据并非通过电荷存储,而是通过磁性方式进行存储。大多数设计采用磁隧道结(MTJ)作为位存储单元。 磁隧道结 RAM,采用磁性机制而非电气机制。来源:SK Hynix 在 IEDM 2022 上,SK 海力士和铠侠展示了间距为 45 纳米、临界尺寸为 20 纳米的 1 选择器 MTJ(磁隧道结)单元。它们共同实现了迄今为止最高的 MRAM(磁性随机存取存储器)密度,即 0.49Gb/mm²,高于美光的 D1β DRAM(密度为 0.435Gb/mm²)。该单元甚至采用了 4F² 设计。他们的目标是以分立封装的形式进行生产,作为 DRAM 的替代品。目前,没有任何一种替代存储器能够挑战 DRAM 的地位。有些存储器的单元更大或者速度更慢;有些存储器的工艺更加昂贵;大多数存储器的耐用性有限;还有些存储器的产量较低。实际上,磁性存储器或相变存储器出货的产品是以 MB(兆字节)而不是 GB(吉字节)为单位。这种情况或许会发生改变,因为这涉及到大量的资金,而且可能存在一种潜在的制胜组合,但在设备和生产规模这两个方面都还有很多工作要做。 内存计算 DRAM 从一开始就受到其架构的限制。它是一个简单的状态机,没有任何控制逻辑,这虽然有助于降低成本,但也意味着它依赖于主机(CPU)来进行控制。 这种模式已经根深蒂固。现代 DRAM 制造工艺经过了高度优化和专业化,因此实际上无法生产控制逻辑。行业组织 JEDEC(联合电子设备工程委员会)在制定新标准时也要求尽量减少逻辑干扰。 控制逻辑与内存分开,因此命令必须通过缓慢、低效的接口。来源:SemiAnalysisDRAM 芯片完全依赖于主机。所有命令都通过一个共享接口传输到内存中的多个存储体,代表主机中的多个线程。每个命令都需要四个或更多步骤以精确的时间发出,以保持 DRAM 正常运行。DRAM 芯片甚至没有避免冲突的逻辑。使用古老的半双工接口会加剧这种情况:DRAM 芯片可以读取或写入数据,但不能同时进行读取和写入。主机具有 DRAM 的精确模型,并且必须预测接口在每个时钟周期应设置为读取还是写入。命令和数据通过不同的线路发送,这降低了时序复杂性,但增加了线路数量和 GPU 或 CPU 上的 “滩头” 拥挤。总体而言,内存接口的比特率、滩头密度和效率比逻辑芯片使用的替代 PHY 低了一个数量级。这些缺点的结果是,服务器上最常见的 DDR5 DIMM 在主机控制器和接口上消耗了超过 99% 的读取或写入能量。其他变体略好一些 ——HBM 的能量使用大约 95% 用于接口,5% 用于内存单元的读取 / 写入 —— 但仍然远未达到 DRAM 的全部潜力。功能完全放错了地方。当然,解决方案是将其移到正确的位置:控制逻辑应该与内存一起放在芯片上。这就是内存计算(CIM)。 内存计算:释放存储体潜力DRAM 存储体具有令人难以置信的性能潜力,但由于接口的原因,这些潜力几乎被完全浪费了。存储体是 DRAM 构造的基本单位。它们由 8 个子存储体组成,每个子存储体有 64Mb(8k 行 ×8k 位)的内存。存储体一次激活并刷新 1 行 8k 位,但在任何 I/O 操作中仅输入或输出 256 个。此限制是由于感测放大器的外部连接:虽然行由 8k 个感测放大器支持,但只有 1/32 个感测放大器(256)连接到子存储体外,这意味着读取或写入操作被限制为 256 位。 (a) 高电容器的密集垫限制了对感测放大器的访问。来源:SemiAnalysis。(b) 聚焦离子束 [FIB] 拆解 DDR4 DRAM 的感测放大器区域。来源:Marazzi 等人。《HiFi-DRAM:通过使用 IC 成像揭示感测放大器实现高保真 DRAM 研究》,ISCA 2024 (c) 1β DRAM 中垫区边缘的图形。来源:美光 感测放大器位于一个“峡谷”中,四周被高大的电容器环绕着。在上面苏黎世联邦理工学院的 FIB(聚焦离子束)拆解图中,可以看到较高处的布线需要延伸至下方的高通孔才能与感测放大器接触。即使接口有限,每次只能访问 32 个中的 1 个,一个存储体的峰值读写容量也大约为 256Gb/s,平均接近 128Gb/s,因为至少 50% 的时间用于切换到新的活动行。每 16Gb 芯片有 32 个存储体,一个芯片的全部潜力为 4TB/s。在层次结构的更上层,存储体以存储体组的形式连接,存储体组又连接到 DRAM 芯片的接口。在 HBM 中,每个芯片有 256 条数据线,峰值吞吐量为每芯片 256GB/s。这个瓶颈只能利用存储体潜在潜力的 1/16。来源:SemiAnalysis糟糕的是,将一个比特从芯片中传输出去需要 2pJ 的能量,这比将其移入或移出单元所需的能量多 20 倍。大部分能量发生在 DQ(数据问号,用于读取和写入的数据线)线两端的两个接口处,以及主机上的控制器逻辑中。在这种浪费的架构下,不可避免地需要付出努力来获取更多的潜在性能。 内存计算:DRAM 的全部潜力即使是简单的理论示例也表明,这里存在巨大的潜力。实施 UCIe(通用小芯片互连)标准将允许每毫米边缘实现 11Tbps 的吞吐量 —— 几乎比 HBM3E 高 12 倍。每比特能量将从 2pJ 下降到 0.25pJ,降幅达一个数量级。UCIe 甚至不是最新的解决方案…… 仅举一个例子,Eliyan 专有的 Nulink 标准就声称有更大的改进。来源:Tom’s Hardware需要注意的是,如果主机结构通过接口扩展,那么就必须在 DRAM 端处理结构命令集的子集。每个存储体都需要在本地实现状态机(预充电、地址选择、激活、读 / 写、关闭等)。这就需要在 DRAM 上制造(相对)复杂的片上逻辑。 内存计算:前进之路和可能的赢家当然,在 DRAM 芯片中添加逻辑并非易事。好消息是 HBM 包含一个 CMOS 基础芯片,当 3D DRAM 出现时,几乎可以肯定的是,良好的 CMOS 逻辑会绑定在内存堆栈的顶部或下方。换句话说,该架构适合在内存中包含一些计算功能,芯片制造商将有动力这样去做。这里有一些容易实现的成果:想想如果 HBM 采用 GDDR7 速率(每条数据线 32Gbps),可以做些什么。GDDR7 表明,DRAM 芯片上可以制造速度足够快的晶体管,而 TSV 到基座堆栈的垂直距离不到 1 毫米,这应该可以将每位能量保持在 0.25pJ / 位范围内。这就引出了一个问题:为什么 JEDEC 不在这里采用改进的标准呢?基础芯片上的外部接口可以大幅升级为现代设计,每毫米边缘提供超过 1TB / 秒的传输速度,每比特仅消耗几 pJ 的能量。有人将在这场知识产权战争中大获全胜。虽然 JEDEC 可能会采用一种选择作为标准,但更有可能的是,速度更快的内存 / GPU 供应商组合将完成这一选择,因为 JEDEC 通常需要数年时间。来源:SemiAnalysis随着第三方基础芯片被接受,我们已经看到 HBM4 可能出现真正的变化,这必将引发各种实验。我们可能会看到卸载通道控制、互连上的纯结构扩展、在几厘米的距离内每比特能耗降低,以及菊花链连接到远离主机的其他 HBM 行,或者连接到第二层内存(如 LPDDR 组)。通过这种方式,设计可以避开在内存堆栈内部进行计算的功率限制,而是使用基础芯片上的现代化接口,让相邻芯片具有带宽和低每比特能耗,就像在内存中进行计算一样。来源:半导体产业纵横 声明:本文由半导体材料与工艺转载,仅为了传达一种观点,并不代表对该观点的赞同或支持,若有侵权请联系小编,我们将及时处理,谢谢。
协处理器(coprocessor),一种芯片,用于减轻系统微处理器的特定处理任务。协处理器,这是一种协助中央处理器完成其无法执行或执行效率、效果低下的处理工作而开发和应用的处理器。这种中央处理器无法执行的工作有很...
算术逻辑单元(arithmetic logic unit,缩写ALU)是进行整数运算的结构。现阶段是用电路来实现,应用在电脑芯片中。在计算机中,算术逻辑单元(ALU)是专门执行算术和逻辑运算的数字电路。ALU是计算机中央处理器的最重...
在全球大模型火热与摩尔定律变缓的双重背景下(可以视为需求和技术曲线的超级剪刀差),台积电最近公布了其晶圆级计算(集成)技术的突破性进展和量产计划,也就是晶圆上系统(System on Wafer,SoW)。目前预计Sow会极大改变计算系统的发展进程,为大模型和未来的超级计算更大的算力支撑和扩展能力。SoW的量产预告也意味着工业界已经在紧锣密鼓的筹备超越传统GPGPU架构的新计算范式。 截至目前,只有 Cerebras 和特斯拉使用SoW技术开发了晶圆级芯片。这也是目前晶圆级设计和3D IC面临的艰巨挑战:相对晶圆芯片的出色性能和能效,设计和生产的复杂度明显更高,特别是需要解决面向热均衡和应力均衡的良率问题。这也意味着传统EDA的 "芯片设计->封装设计->封装"流程在3D IC设计领域失效。 在晶圆上系统集成工艺的研发取得突破性进展后,台积电确信,晶圆级设计的使用率不仅会大幅提升,而且人工智能和 HPC 等大趋势将需要更复杂的解决方案:垂直堆叠的晶圆系统设计。鉴于台积电能知悉全世界最先进的Design House的技术方向,我们认为垂直堆叠的晶圆级系统将会迅猛发展。 01 晶圆上系统与3D IC 在晶圆上系统中,晶圆与附带组件(例如电源模组和冷却模组)组成一个完整的系统,而不仅仅是单个芯片。 晶圆上系统可以为设计者带来诸多好处,包括: 提高算力(提升单芯片晶体管数量) 减少数据中心占用空间 提高每瓦性能(能源效率) 本质上晶圆上系统变相将芯片面积扩大到整个晶圆(提升晶体管数量和算力),并且减少了芯片间互连的距离(减少互连功耗,减小互连线材占用的空间)。台积电的晶圆片上系统简称为SoW,目标是为数据中心和大模型等人工智能应用颠覆性的性能提升。(需要注意SoW也是台积电的注册商标)台积电目前的SoW方案包括 InFO-SoW 和CoW-SoW(注意官方说法并非CoWoS-SoW)。据说 InFO-SoW已经投入生产,客户大概是特斯拉。在晶圆级系统中,逻辑晶圆平面是整个系统的地基。该晶圆设计需要充分考虑其结构层次、微架构、NoC、存储层次和编译框架。晶圆平面通过SoW集成技术进行互连。除了晶圆平面外,晶圆级系统还包括堆叠的存储芯片、散热器和供电单元。 讲到SoW就不得不提到3D IC。3D IC即三维芯片,其概念与传统的平面IC工艺相对。例如比利时微电子研究中心(IMEC)提出的CMOS 2.0 ,将缓存和内存分成独立单元。然后以 3D 排列方式堆叠在逻辑芯片功能上。与AMD 的3D V-Cache(将 L3 内存堆叠在处理器顶部或下部)不太一样,IMEC则是垂直堆叠 L1、L2 和 L3 缓存。但不管怎样的堆叠,本质上还是希望将逻辑与存储做的更近,以实现存算一体中的近存计算。 02 CoW-SoW CoW即Chip on Wafer,属于台积电的SoIC工艺系列。目前已有方案多使用 InFO-SoW 或其他晶圆级集成方法,处理器设计人员需要在逻辑Die上集成大量的SRAM来提升性能。但这对于下一代 AI 计算来说可能还不够。InFO-SoW也要求整个晶圆必须使用一种制造技术进行处理,难以进行不同工艺Die的集成,特别是难以集成Memory(包括SRAM和DRAM)工艺的Die。这样的不足就催生了CoW-SoW的出现。 按照台积电路线图,CoW-SoW将于 2027 年实现量产。该技术允许使用CoW(Chip on Wafer)方法在SoW顶部堆叠Memory或逻辑Die。按照目前业内流传的信息,最早量产的目标是将HBM4通过堆叠的方式与晶圆级处理器集成在一起。相对现有的2.5D封装方式,这种方法显然可以在逻辑芯片上集成容量大的多的HBM。(当年AMD选择HBM的原因,就是因为在CPU周边摆DDR容量上不去)该技术与Info-SoW有相似之处,但显然使用CoW的方式可以获得更好的互连带宽,成本也会明显高于Info-SoW。 03 HBM4与HBM4E HBM4和HBM4E显然是与CoW-SoW技术伴生的。据称 SK 海力士计划在 2025 年下半年推出采用 12 层 DRAM 堆叠的首批 HBM4 产品,最早在 2026 年推出他们的 HBM4E 内存(带宽将是 HBM4 的 1.4 倍)。在海力士的HBM4和HBM4E方案中,HBM直接堆叠在逻辑Die上或下,互连距离缩短为芯片厚度,不再需要芯片宽度距离的平面连接。美光则预计在 2026 年至 2027 年期间将有36GB 到 48GB 的 12-Hi 和 16-Hi 堆栈的HBM4推向市场。2028 年将推出 HBM4E,容量提高到每个堆栈 48GB 到 64GB。 04 Info-SoW Info是集成扇出的缩写。相对与CoWoS,Info具有低成本的优势。 Tesla Dojo 的晶圆级处理器是基于台积电 InFO-SoW 技术量产的首款解决方案,与系统级封装 (SiP) 相比,具有低延迟高带宽、高性能、高带宽密度、供电电阻也更低。Dojo的每个训练模块由5x5的 D1芯片阵列排布而成,以二维Mesh结构互连。片上跨内核SRAM达到惊人的11GB,当然耗电量也达到了15kW的惊人指标。当然Info-SoW结构上难以直接集成超大容量的HBM。我记得有人批评Groq 2019的方案中没有集成HBM,但实际上根本原因在于:想做到将对等需求的HBM集成,就只能将HBM堆叠逻辑Die的上或下,在当时并没有成熟的工艺Solution。 05 紧凑型通用光子引擎 顺带提一下与CoW-SoW密切相关的光互连技术。SoIC-X 芯片堆叠技术将电芯片堆叠在光子芯片上 (EIC-on-PIC) ,在芯片间以较低的阻抗互连。通过SoIC-X技术引入硅光连接,可以获得更好的互连能效。 通过 COUPE可以提供高达 12.8 Tbps 的光学连接。预计COUPE第一代产品将于2025 年在可插拔 OSFP 设备中实验性推出,运行速度为1.6 Tbps,是当前铜缆以太网 (800 Gbps) 的两倍速度。第二代预计于2026 年推出,作为“共封装光学器件”(CPO)集成到 CoWoS 封装中,将硅光互连直接引入封装中速度将达到6.4 Tbps。COUPE 的第三代实现将直接集成到中介层(Interposer Layer)中,直接提供芯片级光互连,速度达到12.8 Tbps。 06 对半导体行业的影响 台积电SoW技术将推动的晶圆级计算技术的快速发展,预计对半导体行业会有极其影响深远的影响。传统的计算集群互连(通过光纤和交换机)将迅速集成为晶圆计算模式,桌面超算和桌面集群成为可能。 SoW技术在人工智能之外,也有非常广泛的应用空间,预计数据中心、高吞吐网络服务都会大批量采用SoW技术降低IDC成本。结合新的硅光互连集成技术,摩尔定律将进一步被延续,新的计算架构逐渐走入主流应用。
导 读 HMC混合内存立方体,HBM高带宽内存,都曾以取代DDRx为己任,两者名称接近,结构类似,并且都有3D TSV 加持,性能均超过同时期DDRx的数倍。 在AI大潮的驱动下,HBM如日中天,HMC却已悄然隐退,是何原因造成了如此大的差异?这篇文章就和大家一起分析其中的缘由。 DRAM Technology 1 HMC HMC (Hybrid Memory Cube) 混合内存立方体,曾被视为一项革命性的技术而寄予厚望。 HMC由美光和英特尔合作开发,最初设计的目的是为了彻底解决DDR3所面临的带宽问题。 HMC于2011年推出,对于美光来说,其意义非凡,这将是击败三星、海力士两大韩厂的独门武器。 HMC 标准中,4 个 DRAM Die通过3D TSV连接到堆栈底层的逻辑控制芯片Logic Die,其示意图如下所示: TSV 技术诞生于1999年,最早在内存行业实现商用,是先进封装领域中最为重要的技术,没有之一。 2011年,HMC正是借着TSV技术的东风,获得该年《微处理器报告》最佳新技术奖,一时风头无两。 HMC设计中,从CPU处理器到存储器堆栈的通信是通过高速 SERDES 数据链路进行的,该链路会连接到 DRAM 堆栈底部的逻辑控制器芯片。处理器没有集成到堆栈中,从而避免了芯片尺寸不匹配和散热问题,却带来了一个新的问题,就是处理器离存储器堆栈比较远,这日后也将成为HMC的重要短板。 HMC本质上其实是一个完整的 DRAM 模块,可以安装在多芯片模块 (MCM) 或 2.5D 无源插接器上,从而更加贴近 CPU,实际上却没有人这么做。除此之外,美光还推出了一个"远存储器"的配置,在这一配置中,一部分 HMC 连接到主机,而另一部分 HMC 则通过串行连接到其他 HMC,以此来形成存储器立方体网络。 在许多人担心的延迟问题上,美光表示,虽然HMC的串行链路会略微增加系统延迟,但整体的延迟反而是显著降低的,HMC 比 DDR4 提高了约 3 倍的能效(以 pj/bit 为单位)。 DRAM Technology 2 HBM HBM (High Bandwidth Memory ) 高带宽内存,将很多个DRAM芯片堆叠在一起后和GPU封装在一起,实现大容量,高位宽的DRAM组合阵列。 首先,HBM垂直堆叠内存芯片,4 个 DRAM Die通过3D TSV连接到堆栈底层的逻辑控制芯片Logic Die,这点和HMC是相同的。然后,这些DRAM堆栈通过Interposer中介层连接到 CPU 或 GPU。 虽然这些 HBM 堆栈没有与 CPU 或 GPU 进行3D集成,但它们通过中介层紧密而快速地连接在一起,以至于 HBM 的特性与片上集成 RAM 几乎没有区别。 HBM由和海力士和AMD共同研发,其推出时间为2013年,被HMC晚了两年。 HBM使用了 128 位宽通道,最多可堆叠 8 个通道,形成 1024 位接口,总带宽在 128GB/s 至 256GB/s 之间。 DRAM Technology 3 HMC vs HBM 比较HMC和HBM,我们可以看出,二者是何其的相似,都是DRAM堆叠在逻辑控制器之上,都采用了3D TSV技术,都是由大厂推出(HMC:美光+英特尔;HBM:海力士+AMD),HMC推出时间2011年,HBM为2013年,也很接近。 今天HBM如日中天,HMC却已经淡出江湖,是何缘由呢? 笔者分析大致有以下两个原因:1.结构差异,2.行业标准。 结构差异 虽然HMC和HBM结构相似,都是将DRAM堆叠在逻辑控制器之上,并且都采用了3D TSV技术,但是,HBM却多了一层Interposer,通过Interposer将DRAM堆栈和GPU紧密集成在一起。可以说有GPU的地方,必有HBM。 HBM通过GPU确定了自己的地位,AMD和英伟达先后都选择了HBM来作为自家显卡的内存,正赶上人工智能的大潮,不火都难。 HMC将内存堆栈放置在距离CPU/GPU 很远的位置的方法意味着3D芯片堆叠和固有的低延迟的大部分优势都会丧失,毕竟物理定律是谁也无法逃脱的,信号的传输速度只能那么快。远,就意味着更大的延迟。 假设分别包含HBM和HMC的系统,我们来绘制最小的立方体,并检查其功能密度,即单位体积内包含的功能单位的数量,可以简单理解为单位体积内包含的晶体管数量。可以看出HBM要明显大于HMC,即HBM的功能密度更高,因此,作为先进封装的重要指标来说,HBM的先进程度更高。在热量能够散出的前提下,紧凑紧凑再紧凑就是先进封装的设计原则,为此,我提出了功能密度定律,作为描述系统集成度的重要依据。详见拙著《基于SiP技术的微系统》。通过3D TSV 集成,垂直堆叠芯片,解决了芯片上晶体管等微小组件的一个重要问题:距离。通过将器件垂直堆叠在一起,可以最大限度缩短它们之间的距离,从而减少延迟和功耗。这一点上,HMC和HBM都做到了。然而,HMC没有 Interposer,无法和CPU/GPU进行紧密的集成,因而影响其功能密度, 而HBM却通过Interposer将内存堆栈和CPU/GPU进行紧密集成,有效地提升其功能密度,从而在竞争中胜出。HMC是典型的3D集成技术,而HBM则更高一筹,被称为3.5D集成技术,别小看这0.5个维度,它能带来更紧密的集成度,从而提高系统的功能密度。 从结构上来说,HBM真正击败HMC的原因是什么呢?距离。 有人问,HMC败北HBM是因为它是3D封装而HBM是3.5D吗?是的,确实可以这么理解。 行业标准 结构上的短板,使得HMC必然在功能密度上比不上HBM,在HBM推出后,HMC颓势已显。而给HMC致命一击的是,HBM推出没多久,就被定为了JEDEC行业标准,而HMC虽然比HBM早两年推出,却只有一个HMCC在苦苦支撑。一个是行业内主要科技公司都认可的大组织,一个是美光自己拉起来的小圈子,比赛还没正式开始,胜负就已经分出。 拥有数百家会员公司的JEDEC奉行一公司一票与三分之二多数的制度,从而降低了标准制定被任何一家或一批公司所把控的风险。也就是说,JEDEC标准的话语权并不由巨头所掌握,只有大家真正认可,才会最终被推行为正式标准。2018年,人工智能开始兴起,高带宽成为了内存行业的重心,和GPU紧密绑定的HBM赢得了最大的市场,主推该标准的海力士与三星成了大赢家,HBM的大客户英伟达和AMD也因此而赚的盆满钵满。HMC早就没有了2011年刚推出时的风光,门可罗雀,美光也不再执迷不悟,于2018年8月宣布正式放弃HMC,转向HBM。美光毕竟晚了一步,市场份额明显落后于两家韩厂,根据最新数据,SK 海力士占据全球 HBM 市场 50% 的份额,位居第一;三星紧随其后,占据 40% 的份额;而美光屈居第三,仅占据 10% 的市场份额。人工智能的兴起,或许是压倒HMC的最后一根稻草。事到如今,美光也不由地感慨:既生瑜何生亮? 在半导体江湖,新技术层出不穷,波浪荡漾的湖面,星星点点,闪耀着科技的光芒。有些技术曾经光芒四溢,最终却黯然退出,有些却能长时间屹立不倒,并推动人类科技的伟大进步。成王败寇,半导体江湖也是如此。 声明:本文由半导体材料与工艺转载,仅为了传达一种观点,并不代表对该观点的赞同或支持,若有侵权请联系小编,我们将及时处理,谢谢。
电源接口主要类型有以下5中,详细内容如下: 1、24Pin主供电接口 1.1、最主要的PC供电接口,体积最大,习惯上也把它叫做24Pin主板供电接口,直接插到主板上的。此接口共计有2组+12V供电、5组+5V供电和4组+3.3V供电...
Ubuntu 14.04 LTS (Trusty Tahr) 是一个非常优秀的操作系统,但是与其他发行版一样,它的初始化配置对用户来说并不是最优的配置。虽然这样有许多原因,但我们可以自己做一些配置来极大地提升你的Ubuntu操作体验。 Ub ... 评论:6 分享:5 收藏:4 2014-06-01 10:15
结构体 结构体占用的内存大小,首先和编译器的系统位数有关系,类似于CPU是 64 bits 还是 32 bits 的情形;其次,结构体需要考虑字节对齐的问题。 实际上占用的内存大小, 在 Linux 中可以 使用 sizeof 进行获取,默认为字节对齐的大小。 联合体 联合体的参数共享同一个内存地址,所占的内存大小完全是由联合体中参数类型决定字长,然后数据共享,内存共享等。 结构体和联合体连用例子: 1、首先定义一个结构体,内部包含联合体,如下; #define MAX_SOFTKEY_LEN 4 typedef enum { ENUM_TRANSFER, ENUM_CONFERENCE, ENUM_ANSWER, ENUM_HOLD, }KeyType; typedef struct tag_CallRecordInfo { char line; // current recording line. unsigned char state; // current machine state. unsigned short total; // current total used lines. KeyType type; union { char Transferkey[MAX_SOFTKEY_LEN]; // transfer key buffer char Conferencekey[MAX_SOFTKEY_LEN]; // conference key buffer char AnswerKey[MAX_SOFTKEY_LEN]; // talking key buffer char HoldKey[MAX_SOFTKEY_LEN]; // hold key buffer }SoftKey; }CallRecordInfo; 解释如下结构体: 联合体 union 表示公用一个 4 字节的内存,并且定义了一个联合体变量 SoftKey,这个 联合体最大的好处就是在赋值或者清空时能够直观地清楚,不需要再引用联 合体的参数。如: CallRecordInfo info; 对 info.SoftKey 的操作会影响联合体内部参数的值,并且数值一致。也 就是说,我们只要对 info.SoftKey 进行赋值即可, 然后联合体内的参 数内容是一样的。即: info.SoftKey = info.SoftKey.TransferKey. 2、结构体占用的内存大小 (作者的机器为 Ubuntu 18.04, sizeof(int) = 4 的机器) 3、整体代码 #include #include #include #define MAX_SOFTKEY_LEN 4 typedef enum { ENUM_TRANSFER, ENUM_CONFERENCE, ENUM_ANSWER, ENUM_HOLD, }KeyType; typedef struct tag_CallRecordInfo { char line; // current recording line. unsigned char state; // current machine state. unsigned short total; // current total used lines. KeyType type; union { char Transferkey[MAX_SOFTKEY_LEN]; // transfer key buffer char Conferencekey[MAX_SOFTKEY_LEN]; // conference key buffer char AnswerKey[MAX_SOFTKEY_LEN]; // talking key buffer char HoldKey[MAX_SOFTKEY_LEN]; // hold key buffer }SoftKey; }CallRecordInfo; CallRecordInfo RecordInfo ; void SetSoftKeyValue(int state, KeyType type, char *keybuf) { RecordInfo.state = state; RecordInfo.type = type; memset(&RecordInfo.SoftKey, 0, MAX_SOFTKEY_LEN); if(NULL != keybuf) { memcpy(&RecordInfo.SoftKey, keybuf, MAX_SOFTKEY_LEN); } } int main(int argc, char const *argv[]) { char buf[4] = "123"; SetSoftKeyValue(0, ENUM_TRANSFER, buf); printf("\n%s --- %lu\n", RecordInfo.SoftKey.Conferencekey, sizeof(CallRecordInfo)); return 0; } 4、结果