龙空技术网

什么是 DDR5 内存中的片上 ECC,它有什么作用?

极品科技汇 169

前言:

现在看官们对“ecc算法系统支持情况”可能比较珍视,你们都想要学习一些“ecc算法系统支持情况”的相关内容。那么小编也在网上搜集了一些有关“ecc算法系统支持情况””的相关知识,希望你们能喜欢,咱们快快来了解一下吧!

技术爱好者不时会遇到ECC(纠错码)的概念。首先要明确的是,这项技术一般用于服务器和工作站,也就是企业领域。开发纠错码是为了自动检测和纠正 RAM 芯片中可能出现的错误。

电子/磁干扰或宇宙射线会破坏内存中的数据。ECC 的目的是纠正损坏的数据,并在无法纠正的情况下向系统报告。随DDR5技术一起崭露头角的On-die ECC(ODECC)技术,引起了消费者的诸多讨论和困惑。首先,需要注意的是,这项技术与标准的 ECC 技术有很大的不同。我们现在将简要介绍 ECC,然后我们将讨论 ODECC(芯片上的 ECC)的差异。

什么是 ECC 内存?

纠错码是一种数学运算,可确保存储在内存中的数据是正确的。ECC 还允许系统在发生错误时实时重新生成正确的数据。

ECC 使用更高级的奇偶校验格式,这是一种使用单个位(奇偶校验位)来检测大组数据(例如 RAM 中的八位)中的错误的方法。不幸的是,虽然奇偶校验位允许系统检测错误,但它不能提供足够的信息来纠正数据错误。

大多数系统以更大的 64 位块移动数据。ECC 不是每 8 位数据生成一个额外的奇偶校验位,而是每 64 位数据生成 7 个额外的位。系统对额外的 7 位数据应用复杂的数学算法,以确保其他 64 位数据正确无误。如果有单个比特错误(单比特错误),ECC算法可以重建数据,但只有在出现更大的错误(两个或更多比特)时才向系统报告。

ECC 和片上 ECC (ODECC) 有什么区别?

与标准 ECC 不同,ODECC 主要旨在提高先进制造技术的效率,以便生产更便宜的 DRAM 芯片。片上 ECC 仅检测刷新期间单元格或行中发生的错误。当数据从单元移动到缓存或 CPU 时,如果发生位移或数据损坏,片上 ECC 无法纠正。另一方面,标准 ECC 能够纠正单元内以及移动到另一个设备时的数据损坏。

DDR5 将内存模块拆分为两个独立的 32 位可寻址子通道,以提高效率并减少内存控制器的数据访问延迟。DDR5模块的数据位宽是64位,所以是一样的。然而,当这条总线被分成两个 32 位可寻址通道时,整体性能会提高。服务器级内存 (RDIMM) 向每个子通道添加 8 位以支持 ECC,从而提供每个子通道 40 位或每个存储体 80 位的总线。双排模块有四个 32 位子通道。

片上 ECC 是一项新功能,旨在纠正 DRAM 芯片中的位错误。与 CPU 和 GPU 一样,用于制造 RAM 的制造技术也在不断发展。随着 DRAM 芯片的密度随着新的光刻技术的增加而增加,数据泄漏的可能性也在增加。ECC 集成到 DDR5 芯片中,可纠正片上错误,提高可靠性并降低风险,同时最大限度地降低缺陷率。

该技术无法纠正片外错误或模块与 CPU 内部内存控制器之间的总线中发生的错误。服务器和工作站中使用的支持 ECC 的处理器具有编码功能,可以立即纠正单位或多位错误。

接下来,DDR5 的片上 ECC 功能不会纠正 DDR 通道错误。换句话说,除了 DDR5 ODECC 支持之外,企业还将继续使用标准化的边带 ECC 技术。长话短说,片上ECC(on-die ECC)技术的范围要窄得多。

ECC简史

很多年前,考虑到 ECC 是专业领域的专利,英特尔更倾向于只在 Xeon 处理器中使用它。AMD 改变了这一点,并开始为其 Ryzen 处理器添加 ECC 支持。因此,ECC 技术的成本增加,寻找合适的 ECC 支持 RAM 已成为一个单独的问题。但一切都随着 DDR5 标准而改变。ECC 现在已经成为 DDR5 的常规部分。

下一代处理器在内部使用 ECC(或其他类型)来检查缓存和其他组件的数据一致性。但是,如果没有 ECC 支持的 RAM,操作系统就无法控制 CPU 和 RAM 之间或 RAM 中的内部数据。

ECC的重要性

操作系统在一定程度上控制着内存的一致性。这个过程很慢而且不完全可靠。因此,操作系统无法检测到存储在 RAM 中的数据的所有问题。换句话说,交易是否在正确的数据上进行,数据是否存储在正确的文件中等控制不能100%控制。

在日常使用中,这不是那么重要。例如,在 Word 文档中包含无效字符不会导致重大问题。然而,银行交易的每一步都非常关键。

Windows 在检测到数据不一致时通常会显示蓝屏错误。正如我们所说,操作系统的控制并不完全可靠。

标签: #ecc算法系统支持情况