我应该在带有 ECC DIMM 的 Dell PowerEdge R710 Bios 中使用 bios“Advanced ECC”吗?

Mxx*_*Mxx 15 dell bios ecc dell-poweredge

我有一台带有双 Intel Xeon E5503 CPU 的 Dell PowerEdge R710。它有 96GB(12x8GB) 的 ECC DIMM。在其 BIOS 中,内存配置为“高级 ECC”。

我的问题是,如果我的 DIMM 已经是 ECC,在 BIOS 中启用这种“高级 ECC”模式是否有意义,或者我应该切换到“优化”吗?

戴尔将这些模式描述为:

高级 ECC 模式 此模式使用两个 MCH 并将它们“连接”在一起以模拟 128 位数据总线 DIMM。这主要用于为基于 x8 DRAM 技术的 DIMM 实现单设备数据校正 (SDDC)。每种内存模式下的基于 x4 的 DIMM 都支持 SDDC。一个 MCH 完全未使用,安装在该通道中的任何内存都会在 POST 期间生成警告消息。

内存优化模式在这种模式下,MCH 彼此独立运行;例如,一个可以空闲,一个可以执行写操作,另一个可以准备读操作。内存可以安装在一个、两个或三个通道中。为了完全实现内存优化模式的性能优势,每个 CPU 的三个通道都应该被填充。这意味着某些“非典型”内存配置(例如 3GB、6GB 或 12GB)将产生最佳性能。这是推荐的模式,除非需要特定的 RAS 功能。

Dell PowerEdge R710 系统硬件用户手册 (PDF)

小智 24

它确实有所作为,只有在您需要 x4 或 x8 设备上的 RAS(可靠性、可用性和服务)功能并了解您需要的权衡时才有意义。更多详细信息可以在戴尔白皮书Dell™ PowerEdge™ Servers 2009 - Memory 中进行解释

此外,PowerEdge R710 的技术指南中提供了包含特定于 R710 的详细信息的配置和布局 - (谷歌这个,因为我没有链接的声誉)。

需要注意的重要问题是芯片上的 ECC 与戴尔的 BIOS 为单设备数据校正 (SDDC) 提供的“高级 ECC”之间的区别。您将对两者的性能产生影响。ECC 将在写入芯片期间从错误中恢复。但是,SDDC 更进一步,将组织这些位,以便整个芯片可以发生故障但仍然可以恢复。查看示例和详细信息SDDC E7500 芯片组

问题在于您的性能和/或可靠性是否是您对机器的特定使用的最大关注点。如果芯片故障会导致此机器上的关键数据或使用情况丢失,并且在实现中是非冗余的,那么高级 ECC 可能是一个不错的选择。但是,您这样做会影响性能,这对您来说可能更重要。

我已经在 Dell PowerEdge 服务器上为单个 Microsoft SQL Server 实现在现场实现了这两个功能。如果我能提供更多帮助,请发表评论让我知道。

希望有帮助。

编辑:覆盖差距/ECC 实施

是的,即使您同时实施两者,也存在覆盖差距。由于您专门使用一组高可用性服务器,恕我直言,您应该使用高级 ECC。与集群设备的优势相比,您的性能影响微乎其微。根据 Crucial 的说法,一般而言,ECC 内存的性能下降 2%

差距将更具体地针对发生的错误类型以及每个错误的处理方式。在您的特定情况下,它不应转化为数据丢失。由于这是一个企业 DBMS,错误、并发问题等在软件级别进行管理,以防止数据丢失。在正确配置的 DBMS 中保存了详细的历史更改,并且使用它的软件通常可以设置为在发生严重错误时让事务“回滚”。

ECC 实施

ECC 将尝试纠正内存读/写中的任何位错误。但是,如果错误更严重,那么即使是 ECC 也无法恢复,从而导致潜在的数据丢失。有对ECC进行更多的讨论,以及在ServerFault /什么是ECC RAM和为什么它更好?

根据维基百科上的 ECC_Memory

ECC 内存维护一个内存系统,有效避免单位错误......

数据中心

如果您参考上面的 E7500 芯片组文档(注意来自 Intel 的 55xx/56xx 需要登录/合作,但想法是相似的,这就是我最初没有链接的原因),其中描述了 SDDC 以及它是如何实现的。基本上,它使用一种技术来组织写入内存的字,以确保所有字都以这样一种方式写入,即每个字只包含一个位错误,即该字应该可以从一位错误中恢复(如上所述)。 现在是每个字,因此通过对每个字进行纠错,它有可能从 x4 设备上最多 4 位错误(每个字 1 个)和 x8 设备上最多 8 位错误(每个字 1 个)中恢复。

其他错误、更多位错误、总内存故障、通道故障、总线故障等仍然会导致可怕的问题,但这就是您拥有集群和企业 DBMS 的原因。

简而言之,如果您启用了所有功能,并且纠错算法无法纠正的位错误太多,您仍然会遇到错误,即错误覆盖率差距。不过,这些可能非常罕见。