AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / computer / 问题 / 1635090
Accepted
feetwet
feetwet
Asked: 2021-03-22 16:33:20 +0800 CST2021-03-22 16:33:20 +0800 CST 2021-03-22 16:33:20 +0800 CST

ECC RAM 发生了什么?

  • 772

一两年前,我可以为我组装的 PC 购买 ECC(纠错码)RAM。ECC RAM 提供了 SEC-DED,我猜是电离辐射引起的位翻转(我不知道还有什么可能导致 RAM 或 I/O 总线中出现瞬态位错误)。

多年来,我还没有看到为 PC 提供 ECC RAM。这是为什么?

如果 ECC 内存在 20 年前有用,那么现在 PC 运行的内存要多 1-2 个数量级,电压更低,物理特征更小,(可能)更容易受到杂散辐射的破坏,那么它会更有帮助。这些假设是否不正确?

即,如果 ECC RAM 在十年前被认为是一个有用的功能,那么它有用的原因是否不再适用于当前的个人计算机和服务器?或者现在的想法是 ECC RAM 从来没有真正有用过?

memory ecc
  • 6 6 个回答
  • 11306 Views

6 个回答

  • Voted
  1. Giacomo1968
    2021-03-22T20:16:40+08:002021-03-22T20:16:40+08:00

    15 多年前,英特尔认为 ECC RAM 支持在消费类机器中没有价值。

    换句话说,英特尔在 15 多年前就决定消费类机器不需要它。因此市场在服务器硬件之外不支持它。因此,最终消费者正在为此付出代价。

    ExtremeTech 2021 年 1 月的这篇文章对所发生的事情进行了相当可靠的总结:“ Linus Tovalds Blames Intel for Killing ECC RAM in Consumer Systems ”:

    “曾经有一段时间你可以在主流芯片组上购买 ECC 支持,但英特尔几年前在非至强平台上逐步淘汰了该功能。975X 可能是支持它的最后一个消费者英特尔平台,该系列于 15 年前推出。Xeon 3450 芯片组与 Nehalem 系列中的某些高端 CPU 交叉兼容,但这仍然是 Xeon 芯片组——不是主流部分。”

    “因此,消费产品中对 ECC 的支持——以及消费产品中 ECC RAM 的可用性——都一落千丈。”

    由于文章引用了 Linus Torvalds,以下是他的具体抱怨:

    “内存制造商声称这是因为经济和低功耗。他们是撒谎的混蛋——让我再次指出这些问题是如何已经存在了几代人的,但这些混蛋很高兴地向消费者出售损坏的硬件并声称这是一次“攻击”,而实际上它一直都是“我们正在偷工减料。”

    这里的问题是 Linux 因内核错误而受到指责,但 Linus Torvalds 认为根本原因是硬件问题,这可以追溯到当今机器中非 ECC RAM 的普遍存在。

    但这是一个切线......归根结底是PC制造商偷工减料。经典的制造问题。

    如今,PC 硬件被认为是一次性的,这里可能有一些理由:RAM 开始变得不稳定,只需扔掉机器并购买一台新机器。事实是市场上充斥着非技术人员和非 PC 制造商,所以嘿……它很臭,但它就是这样。

    • 67
  2. masgo
    2021-03-23T02:29:02+08:002021-03-23T02:29:02+08:00

    就历史而言,我同意@Giacomo1968 提供的答案。然而,目前的状态正在发生变化。AMD 最近开始在其当前的台式机 CPU 系列中为 AM4 插槽支持 ECC 内存:“ECC 未被禁用。它可以工作,但未针对我们的消费者客户端平台进行验证。” (来源:Reddit)

    也就是说,主板也需要支持这一点。有些消费者委员会会,有些则不会。

    • 39
  3. Zan Lynx
    2021-03-23T07:31:20+08:002021-03-23T07:31:20+08:00

    多一点解决这个问题:

    英特尔单方面决定消费者不需要 ECC,并决定仅将其提供给英特尔可以收取溢价的服务器和工作站客户。

    微软试图让 ECC 成为 Vista 认证的必需功能,但英特尔拒绝这样做。在 Core i7 系列之前,内存控制器是主板的一部分,而 ECC 支持是主板芯片组的功能。

    您可以获得带有 ECC 的笔记本电脑。例如,戴尔 Precision Workstation 系列配备 Xeon-W CPU 和 ECC RAM。

    您可以购买任何 Ryzen CPU。好吧,任何没有集成显卡的 Ryzen。要使集成显卡与 ECC 一起使用,您需要一个很难找到的 Pro 版本,除非您在预建系统中购买它。

    使用 Ryzen 和像 ASUS PRO 系列这样的主板,无缓冲 ECC 可以很好地工作。

    对于已注册的缓冲 ECC 模块,您需要真正的 Xeon 或 EPYC CPU,因为这些 RAM 类型的控制方式不同。

    在不久的将来,DDR5 RAM 可以选择在内部使用 ECC,而无需来自 CPU 的任何通知或控制。它还可以选择向支持它的 CPU 提供信号和控制。

    这是您今天可以购买的 ECC 模块示例。我为 Ryzen 构建购买了其中四个:

    “Crucial 服务器内存 16GB DDR4 DIMM 288 针 - 2666 MHz / PC4-21300 - CL19-1.2 V - 无缓冲 - ECC CT16G4WFD8266”

    我会提供一个亚马逊链接,但这可能被视为垃圾邮件。另请注意,您现在可以获得 3,200 MHz 速度的 ECC 模块。

    • 39
  4. Best Answer
    Peter Smith
    2021-03-23T09:12:27+08:002021-03-23T09:12:27+08:00

    一两年前,我可以为我组装的 PC 购买 ECC(纠错码)RAM。ECC RAM 提供了 SEC-DED,我猜是电离辐射引起的位翻转(我不知道还有什么可能导致 RAM 或 I/O 总线中出现瞬态位错误)。

    位错误有 3 个一般原因,其中前两个是单事件翻转:

    1. 辐射(主要是自由中子)。这种特殊现象取决于许多因素,例如特定装置的中子截面。这似乎违反直觉,但较新的小得多的几何形状由于中子而产生干扰的可能性较低,因为它们被设计成不易受到影响。请参阅Xilinx 链接(从下方)。

    2. 铅,特别是 Pb210,它是铀衰变链的一部分,存在于 BGA 器件球中的旧套件中。Xilinx将由此产生的误差称为 alpha 速率,因为它们在衰变期间会发射 alpha 粒子。显然,对于当前大量无铅设备而言,这不是问题(但在锡铅处理仍然普遍的航空航天领域仍然是一个相当大的问题)。

    3. 一般误码率问题。内存接口是一个通信通道,所有的通信通道都有一个错误率。诚然,您可能永远不会在特定设备的使用寿命中看到一个位错误,因为这是一个统计量。由于电气噪声和器件去耦不良导致的错误也属于这一类。

    即,如果 ECC RAM 在十年前被认为是一个有用的功能,那么它有用的原因是否不再适用于当前的个人计算机和服务器?或者现在的想法是 ECC RAM 从来没有真正有用过?

    它很有用,但价值有限,尽管可以通过使用它来减轻许多旁道攻击。

    您在市售板上找不到它的真正原因仅仅是成本,而那些确实拥有它的板有相当大的溢价,远远高于处理它的硅片的增量成本和额外的 8 个数据位(对于64 位内存系统)。成本效益分析不支持其广泛的可用性。

    我记得波音公司的一篇研究论文讨论了丹佛数据中心的软错误。自由中子的数量(达到一定水平)与高度成正比。走的越高,越多。

    如果 ECC 内存在 20 年前有用,那么现在 PC 运行的内存要多 1-2 个数量级,电压更低,物理特征更小,(可能)更容易受到杂散辐射的破坏,那么它会更有帮助。这些假设是否不正确?

    我们今天拥有的内存接口比您想象的要强大得多。对于 DDRx,数据选通是差分的(因此它们可以抑制共模噪声),并且较低的转换电压实际上更适合高速接口,正如我们多年前用ECL证明的那样。

    在航空电子设备中,尤其是对飞行安全至关重要的航空电子设备(例如飞行控制计算机)中,对 L2 及更高版本使用 ECC 是强制性的,对 L1 使用奇偶校验也是如此。这就是这些卡不是来自英特尔或 AMD 的原因之一。

    [更新]。存储单元的布局细节对它们对 SEU 的敏感性有相当大的影响。Xilinx 采用了一种特殊的方法,可以有效地堆叠存储单元,从而显着降低高能中子引起位翻转的可能性。

    因为我不是IC 设计师,所以我只能这么说。Rosetta Project提供了更多信息。

    • 39
  5. Dmitry Grigoryev
    2021-03-25T06:50:12+08:002021-03-25T06:50:12+08:00

    这反映了消费者软件质量以及其他因素。

    ECC RAM 只有在零星位翻转的错误率是失败的主要原因时才真正有帮助。如果您运行不会自行崩溃的高可靠性软件,那么消除少数剩余的错误源实际上会提高系统的MTBF。

    如果您运行由于“赢家通吃”经济学而匆忙生产的软件,那么除了 RAM 错误之外,它还会有很多故障源。在这种情况下,支付溢价以将错误率降低几个百分点是没有意义的。

    然后是高固定成本商品的典型积极反馈:更高的价格意味着更少的需求,这反过来意味着更高的价格。我认为这不应该归咎于英特尔:他们并没有停止在消费芯片中支持 ECC,因为他们讨厌技术,他们这样做是因为他们通过销售更便宜的非 ECC 芯片赚了更多的钱。

    值得注意的是,在运行根据功能安全标准设计的软件的工业微控制器控制器领域,ECC RAM 被广泛使用。

    • 4
  6. giox069
    2021-05-09T07:17:41+08:002021-05-09T07:17:41+08:00

    在谈论 ECC 或非 ECC 时,讨论主要集中在位翻转问题上。但在我 15 年使用 40 多个数据中心服务器和/或家庭 NAS 的经验中,位翻转并不是 ECC 可以解决的最大问题。

    我有两个可能或实际数据损坏的大问题,都是完全错误的 RAM SIM 模块。

    在第一种情况下,有一个 ECC RAM 模块,HP Proliant 服务器只是自动停止,说“ECC 错误,请更换有故障的模块”。尽管运行在其上的 8 个虚拟机意外系统关闭,但没有数据损坏。

    在第二种情况下,在非 ECC NAS 上的 RAM 模块发生故障后,NAS 继续将垃圾数据写入磁盘几个小时,然后操作系统崩溃。在过去 24 小时的工作中,没有可恢复的数据。在该 NAS 中运行的整个虚拟机已损坏,其他一些随机文件也已损坏。一切都必须从以前的备份中恢复。

    ECC很重要。它不仅可以使您免于轻微的翻转问题,而且还可以使您免于整个 RAM 模块故障,这可能会破坏您的大部分数据。我想要 ECC 我存储数据的地方。

    • 2

相关问题

  • CPU/PC 冻结(温度?)

  • 可以读取硬盘驱动器并专门写入 RAM 的系统?

  • 购买合适的笔记本电脑 RAM [关闭]

  • RAM 安装顺序。8GB 和 16GB。哪个应该在插槽 0 中?

  • CPU、内存还是主板?(PEBCAK!)

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何减少“vmmem”进程的消耗?

    • 11 个回答
  • Marko Smith

    从 Microsoft Stream 下载视频

    • 4 个回答
  • Marko Smith

    Google Chrome DevTools 无法解析 SourceMap:chrome-extension

    • 6 个回答
  • Marko Smith

    Windows 照片查看器因为内存不足而无法运行?

    • 5 个回答
  • Marko Smith

    支持结束后如何激活 WindowsXP?

    • 6 个回答
  • Marko Smith

    远程桌面间歇性冻结

    • 7 个回答
  • Marko Smith

    子网掩码 /32 是什么意思?

    • 6 个回答
  • Marko Smith

    鼠标指针在 Windows 中按下的箭头键上移动?

    • 1 个回答
  • Marko Smith

    VirtualBox 无法以 VERR_NEM_VM_CREATE_FAILED 启动

    • 8 个回答
  • Marko Smith

    应用程序不会出现在 MacBook 的摄像头和麦克风隐私设置中

    • 5 个回答
  • Martin Hope
    Saaru Lindestøkke 为什么使用 Python 的 tar 库时 tar.xz 文件比 macOS tar 小 15 倍? 2021-03-14 09:37:48 +0800 CST
  • Martin Hope
    CiaranWelsh 如何减少“vmmem”进程的消耗? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Windows 10 搜索未加载,显示空白窗口 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    v15 为什么通过电缆(同轴电缆)的千兆位/秒 Internet 连接不能像光纤一样提供对称速度? 2020-01-25 08:53:31 +0800 CST
  • Martin Hope
    andre_ss6 远程桌面间歇性冻结 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney 为什么在 URL 后面加一个点会删除登录信息? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension 鼠标指针在 Windows 中按下的箭头键上移动? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca 我所有的 Firefox 附加组件突然被禁用了,我该如何重新启用它们? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK 是否可以使用文本创建二维码? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 更改 git init 默认分支名称 2019-04-01 06:16:56 +0800 CST

热门标签

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve