我正在为一家初创公司寻找几台低端服务器,对不同的内存类型有点困惑。ECC 的优势很明显 - 单比特纠错。当谈到寄存内存时,它似乎更加模糊,特别是在支持寄存内存和非缓冲内存的系统中。
Google 搜索大多能找到 Wikipedia 文章的副本,其中指出已注册的内存芯片“...对内存控制器施加较少的电负载,并允许单个系统在使用更多内存模块的情况下保持稳定”。但是我找不到任何对此的量化。
我想知道的是:
- 当谈到软错误率时,带寄存器的内存是否比无缓冲的内存有所改进,还是仅仅与支持的最大模块数量有关?
- 如果是,那么在什么时候(模块数量或内存 GB 数)这些改进会开始变得明显?
举个具体的例子,HP ProLiant DL 120 G6 服务器手册指出,支持的最大内存配置是 16 GB 无缓冲 (4x4GB) 或 12 GB 已注册 (6x2GB)。在这种情况下,如果可靠性差异可以忽略不计,我宁愿拥有额外的 4GB 内存。
答案1
我想到有两个原因,但都是由于同一项技术。
基本上,已注册的内存可以等待写入来“填充”可用缓冲区,在这方面它有点像同步链接。这意味着所有读取或写入都在边缘信号的开始或结束时收集 - 这使得它比无缓冲的内存整体上更快。
此外,由于时钟管理更精确/更符合要求,每个通道/总线可以使用更多模块,因为信号不会不同步或降级,这意味着每个通道/总线可以使用更多内存。这就是为什么服务器通常可以使用 18 个已注册模块,但只能使用 6 个无缓冲模块的原因。当然,无缓冲更便宜,所以如果您想要一台低内存服务器,它可能没问题,但如果您认为您可能会超出服务器的“无缓冲限制”,那么您应该在第一天直接使用已注册模块。
顺便说一句,这与可靠性关系不大——只与速度和扩展有关。
希望这可以帮助。