您现在的位置是:网络安全 >>正文
为什么服务器内存硬件上的黑色颗粒这么多?
网络安全322人已围观
简介大家好,我是飞哥!之前有位读者问我为什么服务器内存上有这么多的颗粒,今天我专门就这个话题成文一篇作为回复。各位从事服务器端开发的同学天天都在开发代码,代码都需要内存。确实了解一下服务器内存硬件是挺有有 ...
大家好 ,服务我是器内飞哥 !
之前有位读者问我为什么服务器内存上有这么多的存硬颗粒,今天我专门就这个话题成文一篇作为回复 。色颗
各位从事服务器端开发的粒多同学天天都在开发代码 ,代码都需要内存。服务确实了解一下服务器内存硬件是器内挺有有必要的。
所以我特地找来了一个服务器内存条来。存硬下图是色颗一个 32 GB 服务器内存条的正面和反面图 。
图片
图片
可见服务器内存上有很多的源码下载粒多黑色颗粒 ,相比下面的服务台式机内存颗粒要多很多。
图片
今天我们就专门写一篇文章来给大家解释为什么服务器内存中颗粒更多的器内原因。
原因1:服务器内存需要 ECC 功能
在开篇所示的存硬内存正面有着一串字符串标识32 GB 2R\*4 PC4-2666V-RB2-12-DB1。
在这段标识中 ,色颗第一段的粒多 32 GB ,是内存的容量大小。2R :表示该内存有 2 个 Rank,*4:表示每个内存颗粒的位宽是亿华云 4 bit。
不过按照这个位宽参数,每个 Rank 只需要 16 个内存颗粒就够了,2 个 Rank 需要 32 个 Chip 内存颗粒就够了 。
而我们上图中的内存正面有 19 个 内存颗粒,背面有 18 个内存颗粒 。19 + 18 = 37 个黑色颗粒 。
这是因为服务器区别于普通的台式机电脑 ,需要 ECC 纠错功能,以及 RDIMM/LRDIMM 在内存颗粒中加入寄存器模块,使得内存的频率更高(频率高的内存性能就会更好) ,云计算容量更大。
DRAM 内存是一种易失性的存储,它是不能 100% 保证存储的数据不发生变化的。一根 8 GB 的内存条平均大约每小时会出现 1 - 5 个比特翻转错误 。
我们个人在办公的时候 ,由于内存主要都用来处理图片 、视频等数据。即使内存出现了比特翻转,可能影响的香港云服务器只是一个像素值,没有太大的影响,也很难感觉出来。
在服务器应用中 ,处理的一般都是非常重要的计算 ,可能是一些推荐计算,也可能是一笔订单交易 ,对出错的容忍度是源码库很低的。另外一台服务器经常是连续要运行几个月甚至是几年。因此总的来说 ,服务器对稳定性的要求极高 ,不允许比特翻转错误发生。
ECC 是一种内存专用的技术 。它的英文全称是 “Error Checking and Correcting”,高防服务器对应的中文名称就叫做“错误检查和纠正” 。从它的名称中我们可以看出 ,ECC 不但能发现内存中的错误 ,而且还可以进行纠正 。
在实现上,ECC 内存会板上额外再添加内存颗粒来专门负责检查错误并纠正错误。
图片
图片
带 ECC 功能的内存,需要为 CPU 同时提供 72 位的读写,其中 64 位是数据,另外 8 位用于 ECC 校验。
图片
我们开篇提到的内存的颗粒 。
位宽是 4,为了提供 8 位的 ECC 校验数据 ,每个 Rank 需要额外 2 个内存颗粒来存储 ECC 数据 。所以每个 Rank 总共需要 16 + 2 = 18 个内存颗粒。Rank数量是2 ,所以总共需要 18 * 2 = 36 个内存颗粒来存储用户数据以及校验位原因2:RDIMM 地址信号缓存
上一小节我们对开篇内存计算其包含 ECC 功能后总共需要 36 个内存颗粒,而在图片中我们实际看到有 37 个黑色颗粒 。
这个多出来的一个颗粒是做地址等控制信号缓存的。
服务器一般采用的是 RDIMM(带寄存器双列直插模块)或者 LRDIMM(低负载双列直插内存模块)。无论是 RDIMM 还是 LRDIMM ,都比普通的内存要多一个带寄存器的时钟驱动器(RCD)模块 。
图片
RCD从主机存储器控制器获取命令地址总线 、控制信号和时钟信号,然后将这些信号流扇出到DIMM上的DRAM 。所有的信号通过RCD进入RDIMM后都会重新计时和清理。
从开篇的图中 ,我们确实也找到了这个模块 。
图片
有了这个模块的支持,能显著降低信号干扰,进而大幅提升稳定性 。这样单条内存的容量可以做到更大一些。
原因3:LRDIMM 数据信号缓存
另外还有就是对于大内存的服务器 ,可能 RDIMM 提供的单条内存容量还不够 ,还需要更大。
LRDIMM 相比 RDIMM 在引入寄存缓存器 RCD 的基础上,又进一步引入了数据缓冲器 DB(Data Buffer) 。
引入DB数据缓冲器作用是缓冲来自内存控制器或内存颗粒的数据信号。实现了对地址 、控制信号、数据的全缓冲 。这种内存价格更贵,但可以支持更大容量。
图片
如下是一个 LRDIMM 的实物图。
图片
简单总结一下 ,服务器内存硬件上颗粒数量更多的原因有3个
需要 ECC 功能,需要比普通内存多 1/8 的颗粒数来支持 ECC需要 RCD 模块降低地址等控制信号干扰影响,将单条容量做到更大需要 DB 模块降低数据信号干扰影响 ,进一步将单条容量提高想深入了解 RDIMM 和 LRDIMM 原理的话,我推荐大家一个 youtube 上的视频 ,我觉得讲解的非常清楚 。
Tags:
转载:欢迎各位朋友分享到网络,但转载请说明文章出处“算法与编程”。http://www.bzli.cn/news/569e7899352.html
相关文章
Canalys:2022 年第四季度,全球网络安全规模近 200 亿美元
网络安全Canalys最新数据显示,2022 年第四季度,全球网络安全技术的总支出仍然保持强劲,市场规模增长14.5%,达到 196 亿美元。据悉,这主要是由于渠道主导的强劲出货,弥补了直销出货的下降。根据数 ...
【网络安全】
阅读更多AI 代理协助编写恶意代码,网络安全面临新挑战
网络安全人工智能驱动的代理正在快速发展,为自动化日常任务提供了更强大的能力。然而,研究人员发现,这些工具也可能被恶意行为者利用来实施攻击。OpenAI 的“Operator”于 2025 年 1 月 23 日 ...
【网络安全】
阅读更多iOS 和 macOS 系统曝关键漏洞,可破坏 TCC 框架
网络安全近日,苹果iOS和macOS系统中被曝光一个关键的安全漏洞,若被成功利用,可能会绕过透明度、同意和控制TCC)框架,导致用户敏感信息被未经授权访问。漏洞编号CVE-2024-44131,存在于文件提供 ...
【网络安全】
阅读更多