什么是ECC内存?它和普通内存有什么不同?
在内存的使用过程中,可能因受到硬错误或软错误的影响而导致数据出错,对于普通消费者来说这可能问题不大,但对于企业和数据中心的服务器来说,数据出错将对服务器性能产生很大影响 。
而为了防止这种错误,一般服务器用的都是ECC内存 。
那么,问题来了,什么是ECC内存,它和普通内存又有什么不同呢?
文章插图
内存错误ECC内存,即Error-Correcting Code Memory,其中ECC是一种检测并纠正单位内存错误的方法 。这里,我们又注意到一个问题,内存怎么会犯错呢?
内存错误是存储在内存中的值发生更改的问题 。
我们知道,内存中的数据以二进制形式存储,值为1或0 。如果1的值切换成0,或0切换成1,我们就说内存发生了「位翻转」,而存储在内存中的数据将会发生变化 。
举个简单的例子,数字135表示为二进制字符串010000111,如果其中一个值发生翻转,则会呈现以下情况:
010000111=135
110000111=391
011000111=199
010100111=167
000000111=7
根据计算机对这些数据的处理方式,内存的位翻转可能与性能上的小问题一样无害 。
但另一方面,它们可能是灾难性的,甚至导致整个计算机系统崩溃或执行错误操作 。
一根8GB内存条平均每小时使用会出现5个此类错误,对于普通计算机用户来说,影响是难以察觉的,但对于任务密集型服务器来说,这些错误的出现将导致严重后果 。
位翻转有许多潜在的原因,最常见的是背景辐射,主要是由宇宙射线产生的中子引起的 。宇宙射线是一种高能粒子,通常是质子,以接近光速传播 。
当宇宙射线撞击原子时,会产生大量中子和其他亚原子粒子,然后这些中子会继续发生二次相互作用,而这些次级中子相互作用被认为是内存位翻转错误的主要原因 。
纠错原理那么,ECC内存是如何防止这样的错误呢?ECC内存检测错误的方法是奇偶校验,主要是通过在字节末尾加0或1来检测一个字节是偶数还是奇数 。
例如,如果奇偶校验将字节添加到奇数位7,则奇偶校验为1,偶数将为8 。如果奇偶校验字节为0,结果为奇数,则该字节处于损坏状态 。
文章插图
当然,ECC存储器的奇偶校验位并不总是8位字节,也可以通过二进制循环纠错码生成7位代码/64位字节 。
这里的意思是,系统每次读取64位数据时,都会生成一个7位代码 。检测的目的是判断代码是否匹配 。如果不匹配意味着它有错误,ECC内存将立即纠正错误 。
ECC内存与普通内存的区别ECC内存在外观上与普通内存最大的区别是会在PCB板上额外再添加一个芯片来专门负责检查错误并纠正错误 。
文章插图
不过,ECC内存带来的不仅是优点,也有一些缺点 。
与普通内存相比,ECC内存由于额外的内存芯片及其复杂性而更昂贵 。
更重要的是,在读取速度方面,ECC内存比普通内存要慢2%左右,因为检查内存数据错误需要额外的时间 。
当将ECC内存应用到服务器时,它会监控内存数据并及时纠正错误 。
首先,这在一定程度上减少了崩溃的次数,尤其是在无法承受内存数据损坏的设备中,例如科学和金融行业的计算应用程序或服务器 。
其次,它的数据纠错可以保持数据的完整性,增强系统的稳定性 。在数据中心,ECC内存比普通内存更可靠 。
另外,需要知道的是,大多数消费级PC硬件并不支持ECC内存,比如英特尔和AMD的消费级和发烧级CPU均不支持ECC,只有服务器CPU支持 。
ECC内存和非ECC内存之间没有绝对的判断标准来说哪个更好,需要具体到使用场景中 。
如果是金融或医疗行业或其他关键数据相关行业,则必须考虑在数据中心服务器中配置ECC内存 。
【ecc内存和普通内存区别 ecc内存和普通内存有性能差异吗】而如果只是普通的PC用户,或者不打算将设备用于重大项目,则可以选择普通内存 。
- 琅琊榜太奶奶和林殊什么关系 琅琊榜里太奶奶认出林殊吗
- 官渡之战是谁和谁打的 官渡之战是关于谁的
- 吊兰晒太阳的时间和位置是很讲究的 吊兰需要晒太阳吗
- 殖民地是什么意思 殖民地和半殖民地区别通俗易懂
- 浣碧和果郡王睡了几次 果郡王睡了浣碧吗
- 羊排这样做焦香肉嫩香传十里 烤羊排的做法和配料配方
- 芫荽的生长习性和功效作用 芫荽是什么味道
- fps游戏是什么意思 fps游戏帧数和什么有关
- 快来看看兰花的象征意义 兰花的寓意和象征
- 金刚狼观看顺序 x战警系列和金刚狼的观看顺序