ECC内存

我在购买使用 纳斯NASSE C246 ITX主板 了解到,这种针对工作站的主板和 Intel XEON E系列处理器 支持的ECC内存和我原先购买的 HPE ProLiant DL360 Gen9服务器 ECC内存是不同的。

ECC内存原理

ECC内存使用类似奇偶校验来解决内存位(bit)写入错误,使用 10bit 存储一个 8bit 字节( byte )和复杂的算法来发现 单个 bit 何时发生反转以及原始值是多少(简单来说概率上全部位反转几乎不可能)。

这里多出的2个校验位就是为了确定这个存储字节是否正确以及修复如何完成。 我没有完全理解

ECC内存分类

简单来说,所谓的ECC内存有两类:

  • 寄存器ECC内存 ( Registered ECC RAM ): 内存上包含了一个寄存器位于内存控制器(主板上)和内存之间,提供缓存。数据从DIMM上的芯片先读取到这个缓存去,再在下一个时钟周期,缓冲区连接到内存控制器以传输数据

  • 无缓冲ECC内存 ( Unbuffered ECC RAM ): 内存上没有寄存器,内存控制器直接从DIMM上芯片读取数据

Registered ECC RAM 和 Unbuffered ECC RAM 本质上并没有更好或更差的对比,而是适应不同内存容量(插槽)的权衡:

  • Registered ECC RAM 允许使用更多内存,但是要牺牲一些速度。大多数情况下,需要尽可能多的内存来弥补运行少慢的内存的不足

  • Unbuffered ECC RAM 相对速度较快,但是不支持大量内存

警告

我最初购买 纳斯NASSE C246 ITX主板 是想节约资金投入,利旧自己原先在 HPE ProLiant DL360 Gen9服务器 购买的大量ECC内存。但是我没有注意到(其实回想起来我是发现这个文字差异的,但是没有深究) 寄存器ECC内存无缓冲ECC内存 的区别。导致还是得继续投入资金购买内存。

淘宝上将这种工作站使用的 无缓冲ECC内存 称为 纯ECC内存 ,将大型服务器使用的 寄存器ECC内存 称为 REG ECC内存 ,请不要搞错像我一样乌龙。

参考