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

反复试验多比特纠错制造技术

技术编号:2851032 阅读:200 留言:0更新日期:2012-04-11 18:40
本发明专利技术的实施方案是一种使用反复试验技术执行纠错的技术。检验子生成器提供根据至少一个纠错参数的选择进行修改的数据字的数据检验子的生成。数据字与在一个单元上执行的至少一个事务相关联。控制器控制迭代数据检验子的生成。

【技术实现步骤摘要】

本专利技术的实施方案涉及微处理器领域,更具体地说,涉及纠错。
技术介绍
随着微处理器的体系结构为了支持高性能的应用而变得越来越复杂,高效的数据检错和纠错成为了一项挑战。高性能的微处理器、储存装置或通信系统通常容易遭受多种不同类型的差错,包括设备故障、导线故障、存储器单元上的硬差错和软差错,等等。用于解决存储器或通信数据的检错纠错问题的现有技术有多种不利之处。典型地,这些技术使用根据码多项式设计的专用硬件电路或组件。这些技术是昂贵的,需要复杂的硬件结构。它们也不够灵活,并且可能无法适应多种不同类型的差错。
技术实现思路
本专利技术的实施方案是一种使用反复试验(trial-and-error)技术执行纠错的技术。根据本专利技术的一个方面,提供了一种装置,包括检验子(syndrome)生成器,该检验子生成器提供根据至少一个纠错参数的选择进行修改的数据字的数据检验子的生成,所述数据字与在一个单元上执行的至少一个事务相关联;以及,耦合到检验子生成器的控制器,该控制器控制迭代数据检验子的生成。其中所述纠错参数包括差错类型、比特位置和奇偶性纠正位置。所述检验子生成器包括差错类型选择器,该差错类型选择器选择所述数据字的差错类型;比特位置选择器,该比特位置选择器基于所选择的差错类型,选择所述数据字中将被修改的至少一个比特位置;耦合到所述比特选择器的数据修改器,该数据修改器使用所选择的至少一个比特位置来修改所述数据字;以及,耦合到所述数据修改器的数据检验子计算器,该数据检验子计算器计算修改后的数据字的数据检验子。根据本专利技术的另一个方面,提供了一种方法,包括提供根据至少一个纠错参数的选择进行修改的数据字的数据检验子的生成,所述数据字与在一个单元上执行的至少一个事务相关联;以及控制迭代所述数据检验子的生成。根据本专利技术的又一个方面,提供了一种系统,包括在至少一个事务中接收或发送数据字的接收器/发射器;以及,耦合到所述接收器/发射器,以纠正所述数据字上的差错的纠错单元,所述纠错单元包括检验子生成器,该检验子生成器提供根据至少一个纠错参数的选择进行修改的数据字的数据检验子的生成,以及,耦合到所述检验子生成器的,该控制器控制迭代所述数据检验子的生成。附图说明参考以下描述和附图可以最好地理解本专利技术的实施方案,其中附图用来图示说明本专利技术的实施方案。在附图中图1是图示了可实现本专利技术一个实施方案的系统的图。图2是根据本专利技术的一个实施方案图示了使用反复试验技术的纠错单元的图。图3是根据本专利技术的一个实施方案图示了数据字格式的图。图4是根据本专利技术的一个实施方案图示了数据修改器(data modifier)的图。图5是根据本专利技术的一个实施方案图示了控制器的图。图6是根据本专利技术的一个实施方案图示了用于纠错的处理的流程图。图7是根据本专利技术的一个实施方案图示了用于修改数据字的处理的流程图。具体实施例方式本专利技术的实施方案是一种使用反复试验方法执行纠错的技术。检验子生成器提供根据至少一个纠错参数的选择来修改的数据字的数据检验子的生成。数据字与在单元上执行的至少一个事务相关联。控制器控制迭代数据检验子的生成。在以下描述中阐述了大量具体的细节。但是,可以理解,没有这些具体的细节也可以实现本专利技术的实施方案。此外,没有示出公知的电路、结构和技术,以免模糊了对本说明书的理解。本专利技术的一个实施方案可以被描述为一个处理(process),它通常用流程图、流动图、结构图或框图来描绘。虽然流程图可以将多个操作描述为一个顺序的处理,但是其中很多操作可以并行或并发地进行。此外,操作的顺序可以重新排列。当一个处理的操作都完成时,该处理终止。一个处理可以对应于方法、程序、过程、加工或制造方法等。本专利技术的一个实施方案是一种使用反复试验方法来纠正数据差错的技术。反复试验方法通过针对纠错参数的各种选择进行迭代来完成。纠错参数的例子是差错类型、比特位置(bit position)和奇偶性纠正位置。所述技术是在时间域而不是在使用复杂电路结构的空间域中完成复杂的纠错。该技术在纠错能力(correctability)和误纠错容忍度之间还提供了灵活的妥协。图1是图示了可实现本专利技术一个实施方案的系统100的图。系统100包括处理单元/发射器110、纠错单元120和存储器单元/接收器130。系统100可以代表想要进行纠错的任何系统。系统100的实施例可以包括微处理器、多核微处理器、微处理器系统、通信系统、数据处理系统、储存系统(例如,硬盘控制器)等。处理单元/发射器110可以是产生涉及一系列数据字的事务或事件的任何设备。它可以是处理器、多核处理器、微处理器、微控制器、数据生成器、发射器等。所述事务可以是读事务、写事务、数据移动事务、数据传输事务、侦听事务等。纠错单元(ECU)120是在处理单元/发射器110和存储器单元/接收器130之间对数据进行纠错的单元。它可以从处理单元/发射器110或存储器单元/接收器130接收数据,对该数据进行检错和纠错,并将已纠错的数据转发到期望的目的地。它可以在单个事务或多个事务上执行该操作。数据可以以单字或多字突发的形式出现。数据字长度可以是适于数据路径的任何长度。ECU 120使用迭代式反复试验技术来执行检错和纠错。这项技术是高效灵活的,并且节省了相当多的硬件。ECU 120可以由处理单元/发射器110或存储器单元/接收器130重新配置,从而根据系统要求、速度和纠错能力之间的妥协、差错类型的先验知识、通信信道特性等来以多种模式来运行。ECU 120为了纠错可以执行以下操作(1)迭代;(2)在多组参数上的迭代,所述参数例如是差错类型、比特位置等;(3)使用冗余校验位来引导对哪个或哪些比特位置进行纠错,或者引导对哪些类型的差错进行纠正,或者确定纠错是否已成功;(4)同时使用不同类型的校验位,根据纠错是否已成功独立地导出位置和类型;以及(5)使用从先前已发现的差错中得出的信息来引导对哪个或哪些比特位置进行纠错,或者引导对哪些类型的差错进行纠正。校验码可以是任何类型的差错校验码。这些码的例子是奇偶校验码和循环冗余码(CRC)。存储器单元/接收器130可以包括存储或接收来自处理单元/发射器110的数据的任何设备或多个设备。它可以包括一个或多个存储器器件,例如静态随机访问存储器(SRAM)或动态随机访问存储器(DRAM)。它也可以是通信系统中的接收器。它可以是储存数据缓存、指令或两者的缓存存储器。它可以位于处理器内部或外部,或者位于芯片组中。图2是根据本专利技术的一个实施方案图示了使用反复试验技术的纠错单元120的图。ECU 120包括检验子生成器210和控制器220。检验子生成器210提供根据纠错参数的选择进行修改的数据字的数据检验子的生成。数据字与在一个单元上执行的事务相关联,该单元例如是存储器单元/接收器130(图1)。数据检验子被用来确定修改后的数据字是不是已纠错的数据字。典型地,当数据检验子等于0时,修改后的数据字没有差错,并且对应于已纠错的数据字。检验子生成器210按照反复试验方法迭代地生成数据检验子。纠错参数可以是对差错的纠错能力有影响的任何参数。在一个实施方案中,纠错参数可以是差错类型、比特位置、奇偶性纠正位置中的至少一个。检验子生成器210包括差错类型选择器230、比本文档来自技高网...

【技术保护点】
一种装置,包括:    检验子生成器,所述检验子生成器提供根据至少一个纠错参数的选择进行修改的数据字的数据检验子的生成,所述数据字与在一个单元上执行的至少一个事务相关联;以及    耦合到所述检验子生成器的控制器,所述控制器控制迭代所述数据检验子的生成。

【技术特征摘要】
US 2005-1-28 11/046,4911.一种装置,包括检验子生成器,所述检验子生成器提供根据至少一个纠错参数的选择进行修改的数据字的数据检验子的生成,所述数据字与在一个单元上执行的至少一个事务相关联;以及耦合到所述检验子生成器的控制器,所述控制器控制迭代所述数据检验子的生成。2.如权利要求1所述的装置,其中所述纠错参数包括差错类型、比特位置和奇偶性纠正位置。3.如权利要求1所述的装置,其中所述检验子生成器包括差错类型选择器,所述差错类型选择器选择所述数据字的差错类型;比特位置选择器,所述比特位置选择器基于所选择的差错类型,选择所述数据字中将被修改的至少一个比特位置;耦合到所述比特选择器的数据修改器,所述数据修改器使用所选择的至少一个比特位置来修改所述数据字;以及耦合到所述数据修改器的数据检验子计算器,所述数据检验子计算器计算修改后的数据字的数据检验子。4.如权利要求3所述的装置,其中所述差错类型选择器包括差错选择向导,所述差错选择向导引导对所述差错类型的选择。5.如权利要求4所述的装置,其中所述比特位置选择器包括比特选择向导,所述比特选择向导引导对所述至少一个比特位置的选择。6.如权利要求4所述的装置,其中所述差错类型是单撞击单比特差错类型、单撞击多比特差错类型、双撞击单+单比特差错类型、双撞击单+多比特差错类型、双撞击多+多比特差错类型、芯片差错类型和连接故障类型中的至少一个。7.如权利要求4所述的装置,其中所述差错选择向导使用基于一组校验位的检验子和所述单元事务的观测结果之一的线索来引导所述选择。8.如权利要求1所述的装置,其中当所述数据检验子等于0时,所述控制器停止迭代所述数据检验子的生成。9.如权利要求6所述的装置,其中所述控制器针对差错类型的一个子集继续迭代所述检验子生成器。10.如权利要求1所述的装置,其中所述控制器在重试所述事务以检测暂态差错的同时继续迭代所述检验子生成器。11.如权利要求5所述的装置,其中所述数据修改器包括在所述至少一个比特位置上翻转所述数据字的比特翻转器。12.如权利要求11所述的装置,其中所述数据修改器还包括选择所述数据字中的奇偶性纠正位置的奇偶性纠正位置选择器;耦合到所述比特翻转器,以在翻转后的数据字上计算奇偶性检验子的奇偶性检验子计算器;以及耦合到所述奇偶性纠正位置选择器和所述奇偶性检验子计算器,以在选定的奇偶性纠正位置上重建所述数据字的重建器,重建后的数据字形成修改后的数据字。13.如权利要求12所述的装置,其中所述数据检验子计算器包括数据检验子向导,所述数据检验子向导基于常见差错类型的查找表来引导对所述数据检验子的选择。14.如权利要求13所述的装置,其中所述奇偶性纠正位置选择器包括奇偶性纠正向导,所述奇偶性纠正向导引导对所述奇偶性纠正位置的选择。15.如权利要求14所述的装置,其中所述控制器通过迭代对所述差错类型、所述至少一个比特位置和所述奇偶性纠正位置中至少一个的选择,来迭代所述检验子生成器。16.如权利要求1所述的装置,其中所述控制器通过迭代对所述纠错参数的第一组合的选择,同时固定所述纠错参数的第二组合,来迭代所述检验子生成器,其中所述第二组合不同于所述第一组合。17.如权利要求1所述的装置,其中所述数据字包括至少一个奇偶字和具有循环冗余校验系数的循环冗余校验字。18.如权利要求17所述的装置,其中GF(2)上的循环冗余校验系数是产生14个校验位的0X5BF3和0X67ED以及产生15个校验位的0XA837和0XEC15之一。19.如权利要求17所述的装置,其中GF(2)上的循环冗余校验系数是由0X5BF3、0X67ED、0XA837和0XEC15之一与一个多项式的至少一个乘积形成的。20.如权利要求17所述的装置,其中GF(2)上的循环冗余校验系数由至少以下之一形成0X5BF3、0X67ED、0XA837和0XEC15之一与校验位和数据位中至少一个的排列。21.如权利要求1所述的装置,其中所述控制器针对一个事务迭代所述检验子生成器,同时通过预选择的迭代的一个固定子集,以获得所述事务的确定性延时。22.一种方法,包括提供根据至少一个纠错参数的选择进行修改的数据字的数据检验子的生成,所述数据字与在一个单元上执行的至少一个事务相关联;以及控制迭代所述数据检验子的生成。23.如权利要求21所述的方法,其中所述纠错参数包括差错类型、比特位置和奇偶性纠正位置。24.如权利要求22所述的方法,其中提供所述数据检验子的生成的步骤包括选择所述数据字的差错类型;基于所选择的差错类型,选择所述数据字中将被修改的至少一个比特位置;使用所选择的至少一个比特位置来修改所述数据字;以及计算修改后的数据字的数据检验子。25.如权利要求24所述的方法,其中选择差错类型的步骤包括引导对所述差错类型的选择。26.如权利要求25所述的方法,其中选择至少一个比特位置的步骤包括引导对所述至少一个比特位置的选择。27.如权利要求25所述的方法,其中所述差错类型是单撞击单比特差错类型、单撞击多比特差错类型、双撞击单+单比特差错类型、双撞击单+多比特差错类型、双撞击多+多比特差错类型、芯片差错类型和连接故障类型中的至少一个,或前述错误类型的组合。28.如权利要求25所述的方法,其中引导对所述差错类型的选择的步骤包括使用基于一组校验位的检验...

【专利技术属性】
技术研发人员:亨克尼夫斯艾伦鲍姆
申请(专利权)人:英特尔公司
类型:发明
国别省市:US[美国]

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

1