加载中...
ECC(Error-Correcting Code)内存通过额外的奇偶校验芯片检测并纠正单比特错误,是服务器、工作站和关键系统的标配。普通消费级平台通常不支持 ECC,但 AMD EPYC 和 Ryzen Pro 系列是例外。

| 类型 | 纠错内存模组技术 |
| 纠错能力 | 可纠正单比特错误,可检测双比特错误(SECDED) |
| 主要应用平台 | Intel Xeon、AMD EPYC、AMD Ryzen Pro |
宇宙射线、电磁干扰、DRAM 内部的 α 粒子衰变都可能引发内存位翻转(Bit Flip)——本来存的是 0 变成了 1。普通内存无法检测,程序可能悄悄读到错误数据,引发难以复现的 Bug 或系统崩溃。Meta 和 Google 均发表过内部报告,显示大规模服务器集群中每月可测量到大量内存软错误事件。
ECC 使用SECDED(Single Error Correction, Double Error Detection)海明码,在每 64 位数据附加 8 位校验码,能自动纠正任意单比特错误,检测双比特错误。代价是内存颗粒数增加(通常每条 DIMM 多 1-2 个芯片),写入时增加约 2-3 ns 延迟,对大多数工作负载几乎无感。[1]
ZFS 文件系统强烈建议搭配 ECC 内存——ZFS 的内存缓存(ARC)在没有 ECC 保护时,缓存中的位翻转可能被「可信地」写入磁盘,导致数据静默损坏。同样,金融交易系统、医疗影像处理、科学计算集群也普遍要求 ECC。
Intel 消费级平台(Z 系列、B 系列芯片组)不支持 ECC,AMD Ryzen 5000/7000 系列 CPU 硬件本身支持 ECC,但是否生效取决于主板 BIOS 和芯片组,B650/X670 主板中部分型号已通过验证支持 ECC UDIMM。

| 类型 | 纠错内存模组技术 |
| 纠错能力 | 可纠正单比特错误,可检测双比特错误(SECDED) |
| 主要应用平台 | Intel Xeon、AMD EPYC、AMD Ryzen Pro |
登录 后参与讨论
暂无讨论,来发表第一条评论吧