普通内存和ECC内存有什么不同之处

谁都讨厌电脑宕机,莫名重启,或者直接出现可怕的死机蓝屏。对于一般用户来说,这种情况其实也没什么所谓的。但是对于像云服务器或者超级电脑,这种依赖于全天候运行的系统来说。一次严重的宕机就意味着数据损失,服务中断,可能还会造成公司过千万成亿的损失。

死机中断对于服务器来说是毁灭性的

但是对于IT业界人士来说,服务器挂掉就是毁灭性的了。其实不用担心,ECC内存这类技术的出现可以一定程度上避免这个问题。ECC内存它究竟是什么呢?

ECC内存可以纠正系统错误

什么是ECC内存

ECC是错误纠正的英文缩写,它的原理就是用数学方法快速检查数据错误,这种方法在公元前150年就出现了。当时的犹太人写员发明了一种方式,通过查看一页或一行的字数来快速查看是否有誉写错误。ECC内存的原理也差不多,它可以快速检查和纠正最常见的那些造成宕机和数据丢失的数据损坏。

金士顿ECC内存

ECC内存对于云服务和虚拟机很重要

那么这样为什么如此重要呢?其实用于大规模计算的云服务和虚拟机应用越来越广泛,也就意味着服务器不仅仅只对大公司,对普通的消费者来说也是很重要的。比如你个人微信和百度云,储存你宝贵个人数据的服务器使用ECC内存来防止内存错误。否则的话,你可能就无法访问数据了,严重的话会造成数据丢失,你微信很多重要云数据比如微信钱包和通讯录等会不翼而飞。

ECC内存对于云服务器和虚拟机很重要

ECC的工作原理

像电、磁场甚至宇宙射线干扰,都会造成单个比特值的变化,而一个比特只有0和1两个值。一般来说,一个字节又八个比特组成,在机器语言里面,就代表一个字母或数字。如果对于系统运行很重要的字节,单个比特的值发生变化可能就会产生乱码了,宕机或者故障就产生了。

宇宙射线干扰也会造成单个比特值变化

ECC内存先通过叫做“奇偶校验检查”的方法来检查错误。也就是另外储存一个“奇偶校验”,其值为8个比特组里所有“1”的和,结果无非奇或偶,即1或0。如果内存下次访问数据时候,和与奇偶校验比特的值不一样的话,那么系统就知道至少有一个比特的值错了。这种情况下ECC内存就会用一段储存原始数据时,用特殊算法生成的代码来校正错误,恢复原始的8比特数据。

普通人没必要用ECC,使用颗粒好的高频RGB内存更好

这看起来好像很高科技很厉害,但是我们普通人可不可以在下次装机中使用ECC内存呢?如果你不是要搭建服务器且没有0宕机要求的话,我觉得没必要。原因其实很简单,ECC内存价格更高,性能更差,因为要进行的运算更多。更重要的一点是,它不能和消费级主板兼容(消费级主板往往是不支持ECC内存的)。如果你喜欢玩光污染的话就会更失望,因为ECC内存的PCB板也就是说ECC的内存条一般是绿色的,没有散热的马甲片,这样还搞什么光污染啊。

其实对于普通人来说,使用颗粒好频率更高的RGB内存更好,毕竟价格比ECC内存便宜很多,性能又强。既可以提升性能又自带光污染我们何乐而不为呢!