我是靠谱客的博主 迅速帽子,最近开发中收集的这篇文章主要介绍什么是内存的Parity、ECC和SPD,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述



对于内存的奇偶校验(Parity)要从比特概念说起,比特(bit)是内存中的最小单位,也称“位”、它只有两个状态分别以1和0表示。我们将8个连续的比特叫做一个字节(byte)。非奇偶校验内存的每个字节只有8位,若它的某一位存储了错误的值,就会使其中存储的相应数据发生改变而导致应用程序发生错误。而奇偶校验内存在每一字节(8位)外又额外增加了一位作为错误检测之用。比如一个字节中存储了某一数值(1、0、0、1、1、1、1、0),把这每一位相加起来(1 0 0 1 1 1 1 0=5)。若其结果是奇数,校验位就定义为1,反之则为0。当CPU返回读取储存的数据时,它会再次相加前8位中存储的数据,计算结果是否与校验位相一致。当CPU发现二者不同时就作出一定的反应。现在主板都可以使用带奇偶校验位或不带奇偶校验位两种内存条,但要注意两种不能混用。
  而ECC(ErrorCheckingandCorrecting)内存,它也是在原来的数据位上外加位来实现的。如8位数据,则需1位用于Parity检验,5位用于ECC,这额外的5位是用来重建错误的数据的。当数据的位数增加一倍,Parity也增加一倍,而ECC只需增加一位,当数据为64位时所用的ECC和Parity位数相同(都为8)。在那些Parity只能检测到错误的地方,ECC可以纠正绝大多数错误。若工作正常时,你不会发觉你的数据出过错,只有经过内存的纠错后,计算机的操作指令才可以继续执行。当然在纠错时系统的性能有着明显降低,不过这种纠错对服务器等应用而言是十分重要的,ECC内存的价格比普通内存要昂贵许多。
  SPD(SerialPresenceDetect串行存在探测),它是1个8针的SOIC封装(3mm*4mm)256字节的EEPROM(ElectricallyErasableProgrammableROM电可擦写可编程只读存储器)芯片。型号多为24LC01B,位置一般处在内存条正面的右侧,里面记录了诸如内存的速度、容量、电压与行、列地址带宽等参数信息。当开机时PC的BIOS将自动读取SPD中记录的信息,如果没有SPD,就容易出现死机或致命错误的现象。它是识别PC100内存的一个重要标志。现在个别厂商一方面为了降低生产成本,另一方面又要从表面上迎合PC100标准,就在PCB板上焊上一片空的SPD。这样就有可能导致在100MHz以上外频不能正常工作,还应该注意的是一些厂商出的主板(如INTEL原装板)一定要BIOS检测到SPD中的数据才能正常工作,而对于使用假SPD的内存来说,就会有不兼容或死机的现象出现。

最后

以上就是迅速帽子为你收集整理的什么是内存的Parity、ECC和SPD的全部内容,希望文章能够帮你解决什么是内存的Parity、ECC和SPD所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(158)

评论列表共有 0 条评论

立即
投稿
返回
顶部