当前位置: 首页 > 专利查询>英特尔公司专利>正文

用于相邻符号纠错检错码的方法、系统和装置制造方法及图纸

技术编号:2850358 阅读:267 留言:0更新日期:2012-04-11 18:40
基于相邻符号码字生成纠错码(ECC)的电路和方法,所述相邻符号码字是在两个时钟相位中形成的:在第一时钟相位期间,由第一组数据生成第一符号的一组m位和第二符号的一组m位,其中m是一个整数;以及在第二时钟相位期间,由第二组数据生成所述第一符号的一组n位和所述第二符号的一组n位,其中n是一个整数。

【技术实现步骤摘要】
【国外来华专利技术】背景1、领域本公开涉及存储器和计算机存储器系统的领域,更具体地说,涉及存储器差错的检错和纠错。2、相关技术描述纠错码(error correcting code,or ECC)已被普遍用于计算机存储器子系统中的容错。最常使用的代码是能够纠正码字中的所有单差错并检测所有双差错的单纠错(single errorcorrecting,or SEC)双检错(double error detecting,or DED)码。随着芯片制造的趋势正朝着更大芯片容量的方向发展,越来越多的存储器子系统将被配置为每芯片b位(b-bits-per-chip)。在存储器上使用的最适合的符号ECC是纠正码字中的所有单符号差错并检测所有双符号差错的单符号纠错(single symbol error correcting,or SbEC)双符号检错(double symbol error detecting,or DbED)码,其中“b”是存储器器件的宽度(输出的位数)。对于用SbEC-DbED码设计的存储器来说,当存储器芯片发生故障时,无论其故障模式如何,该存储器都可以继续工作。当在同一ECC字中先后出现两个发生故障的芯片时,SbEC-DbED码将会提供必要的检错,并保护存储器的数据完整性。现有的和即将出现的存储器系统采用18个存储器器件。然而,为了提供芯片故障纠正和检测,当前的SbEC-DbED纠错码采用36个存储器器件。因而,由于用于纠错目的的36个存储器器件所带来的额外开销,而使成本增加,并且因为它们未扩展到(不适用于)具有18个存储器器件的存储器系统,所以它们不够灵活。此外,用于对差错进行编码和解码的各种电路比较复杂。因而,这增加了计算机系统保证数据完整性的成本和设计。 附图说明在附图中以示例而非限制的方式图示了本专利技术。图1图示了在一个实施方案中采用的码字的框图。图2图示了在一个实施方案中采用的装置。图3图示了在一个实施方案中采用的方法的流程图。图4图示了在关于图2描述的实施方案中采用的装置。图5图示了在一个实施方案中采用的系统。具体实施例方式以下描述提供了用于存储器器件的检错和纠错的方法、装置和系统。在以下描述中,阐述了很多具体的细节以提供对本专利技术的更完整理解。然而,本领域的技术人员将会理解,没有这些具体的细节也可以实现本专利技术。本领域的普通技术人员利用这里所包括的描述,无需不必要的试验就能够实现适当的逻辑电路。如前所述,典型的ECC码采用36个存储器器件用于芯片故障检测和纠正,这导致计算机系统的成本和设计增加。另外,随着一个系统中18个存储器器件的出现,当前的ECC码不能扩展。相反,所要求保护的主题有助于实现一种新的ECC码,即“相邻符号”码,其支持具有18个存储器器件的存储器系统。例如,在一个实施方案中,所要求保护的主题有助于实现在采用18个存储器器件用于存储器事务(存储器等级)的系统中解码并纠正存储器差错的能力。此外,所要求保护的主题有助于形成一种只具有两个时钟相位的数据码字。另外,相邻符号ECC码纠正来自一个存储器器件的数据内的任何差错型式,并检测因两个存储器器件中的故障而发生的各种差错(双器件差错)。在一个实施方案中,相邻符号ECC码被用于具有两个通道的双数据率(DDR)存储器的存储器系统,其中每条通道64位宽,有8个用于ECC的可选位。另外,存储器系统可以采用x4或x8宽的存储器器件(x4和x8是指可以从存储器器件中输出的位数)。因而,所要求保护的主题支持各种配置的存储器系统。例如,如果支持ECC的话,具有x8器件的存储器系统将会每个存储器等级采用18个存储器器件,否则,如果不支持ECC的话,将会每个存储器等级采用16个存储器器件。可替换地,如果支持ECC的话,具有x4器件的存储器系统将会于每个存储器等级采用36个存储器器件,否则,如果不支持ECC的话,将会于每个存储器等级采用32个存储器器件。图1图示了在一个实施方案中采用的码字的框图。框图100包括由来自一个存储器器件的两个时钟相位的数据102和104形成的相邻符号码字106。例如,在一个实施方案中,存储器访问事务包括每个时钟沿(clock edge)128个数据位加上附加的16个ECC校验位的传输,即,每个时钟沿总共有144位(两个时钟沿288位)。在第一时钟相位102中,来自存储器的数据的第一半字节(nibble)“n0”和第二半字节“n2”被转移并映射到码字106的两个符号中的每个符号的第一半字节。接着,在第二时钟相位104期间,来自存储器的第一半字节“n1”和第二半字节“n3”被转移并映射到码字106的两个符号中的每个符号的第二半字节。因此,码字106的两个符号是相邻的,并且位于码字的16位边界上,它们被指定为“相邻符号”,因而码字106是相邻符号码字。在框图中图示的方案有助于检错,并且提高了共模差错的错误覆盖率。例如,对于一个x4存储器器件,存在一个从该x4存储器器件到下层码字中符号的半字节一对一映射(one to one mapping)。相反,对于一个x8存储器器件,存在一个从该x8存储器器件的一半到下层码字中符号的半字节一对一映射。因此,所要求保护的主题有助于将半字节上的共模差错隔离到符号级,并且导致错误覆盖率提高。因此,对于x8存储器器件,所要求保护的主题避免了对第二器件故障的混叠(aliasing)。同样,在x4存储器器件中的器件差错被隔离到码字106的单个符号,因而,对于x4存储器器件存在完全的双器件覆盖。为进一步说明,一般存在两种发生在同一存储器等级中的双器件故障,同时的和顺序的。同时双器件故障没有什么早期的征兆警告,因为没有任何有关前一存储器事务中差错的指示。一般地,计算机系统报告缺少混叠时的不可纠正的差错。然而,系统有可能错误地报告可纠正的单个器件故障。此时可能在后面的访问中发现混叠,因为差错模式有可能改变以避免混叠。相反,顺序的双器件故障是比同时的双器件故障更典型的故障模式。一般地,第一器件差错被检测为可纠正的差错。对于第二器件故障,在一个实施方案中可能有两种结果;差错被报告为不可纠正的,否则,差错被报告为新位置上的可纠正差错。一旦第二器件故障是不可纠正的差错,分析就结束了。否则,系统将差错位置从第一器件故障改变到第二器件的故障位置。因此,前面用于检测混叠的方法是准确的,因为第一器件故障位置不太可能自我解决,更不可能在已发生第二器件故障的同时又这么做。经常检测出的双器件差错(无混叠)的一些例子是双位差错、双线错误、在第二存储器器件中发生单个位差错的情况下在一个存储器器件中的线错误、以及只影响每个存储器器件的一个半字节的错误。在x8存储器器件的器件差错的一个实施例中,码字(相邻符号)的所有16位都可能受到影响(破坏),因为故障导致了存储器器件的数据的两个半字节和两个时钟相位的差错。因而,所要求保护的主题通过首先纠正差错中的16位,可有助于纠正该器件故障。然而,如果发生第二存储器器件故障,所述码就检测在码字106中沿着16位边界对齐的两组16位中的差错模式。图2图示了在一个实施方案中使用的装置。从高层的角度看,该装置通过创建将被附加到被转发到存储器的数据的校验位,而生成码字。接着,该装置至少部分基于解码从存储器接收到本文档来自技高网...

【技术保护点】
一种用于形成相邻符号码字的方法,所述方法包括:在第一时钟相位期间,由第一组数据生成第一符号的一组m位和第二符号的一组m位,其中m是一个整数;以及在第二时钟相位期间,由第二组数据生成所述第一符号的一组n位和所述第二符号的一组n 位,其中n是一个整数。

【技术特征摘要】
【国外来华专利技术】US 2003-7-21 10/624,4241.一种用于形成相邻符号码字的方法,所述方法包括在第一时钟相位期间,由第一组数据生成第一符号的一组m位和第二符号的一组m位,其中m是一个整数;以及在第二时钟相位期间,由第二组数据生成所述第一符号的一组n位和所述第二符号的一组n位,其中n是一个整数。2.如权利要求1所述的方法,其中所述第一和第二组数据来自存储器。3.如权利要求2所述的方法,其中所述存储器是双数据率(DDR)存储器。4.如权利要求1所述的方法,其中m和n都是4位,并且构成一个半字节。5.如权利要求1所述的方法,其中所述相邻符号码字包括所述第一和第二符号的相邻排列。6.如权利要求1所述的方法,还包括隔离所述第一和第二符号的所述m位和n位上的共模差错。7.一种用于测试存储器的方法,所述方法包括生成将附加到被转发给所述存储器的数据的多个校验位;至少部分基于从所述存储器接收的数据生成相邻符号码字;解码所述相邻符号码字;以及确定在所述存储器中是否存在差错。8.如权利要求7所述的方法,其中解码所述相邻符号码字的操作包括至少部分基于所述相邻符号码字生成检验子。9.如权利要求7所述的方法,其中至少部分基于检验子来确定在所述存储器中是否存在差错。10.如权利要求9所述的方法,其中基于所述检验子存在差错,所述方法还包括分类所接收数据中的差错;以及纠正所接收数据中的差错。11.如权利要求7所述的方法,其中所述存储器是双数据率(DDR)存储器。12.如权利要求所述的方法,其中所述检验子是基于288位码字的32位。13.一种用于纠错码的装置,所述装置包括基于一组数据生成多个校验位,以将所述校验位附加到将被转发给存储器的所述一组数据的第一逻辑;从所述存储器接收码字,并且基于所述码字生成检验子,并基于所述检验子检测是否存在差错的第二逻辑;如果存在差错则分类所述差错的第三逻辑;以及如果存在差错则纠正所述差错的第四逻辑。14.如权利要求13所述的装置,该装置被合并到一个服务器芯片组内。15.如权利要求13所述的装置,其中所述存储器是双数据率(DD...

【专利技术属性】
技术研发人员:托马斯霍尔曼
申请(专利权)人:英特尔公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1