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

在使用推测存储器支持的冗余多线程系统中为错误检测缓冲未检验存储技术方案

技术编号:2845926 阅读:221 留言:0更新日期:2012-04-11 18:40
公开一种多线程体系结构,其在使用推测存储器支持的冗余多线程系统中为错误检测缓冲未检验存储。特别地,通过使用推测存储器支持,以便缓冲主线程存储直到它们能够与它们的从线程对应部分相比较为止,提高了SRT处理器的性能。在存储器系统中缓冲这些存储允许它们从存储缓冲区中去除。由于推测存储器系统将具有比存储缓冲区更大的容量,在将要强迫主线程停止之前可以缓冲额外的存储。这将导致在线程之间松散的增加,并且从而增加了性能。

【技术实现步骤摘要】
【国外来华专利技术】相关申请该美国专利申请与下面的美国专利申请相关于2003年12月30日提交的“在使用推测存储器支持的RMS中为错误检测管理外部存储器更新(MANAGING EXTERNAL MEMORY UPDATE FOR FAULT DETECTIONIN RMS USING SPECULATIVE MEMORY SUPPORT)”,申请号(代理人文档号P17403)。
技术介绍
处理器正逐渐变得易于被瞬时错误损坏,这些瞬时错误由阿尔法粒子和宇宙射线击打而引起。这些错误可以引起称为“软”差错的操作差错,因为这些差错并不导致处理器永久的故障。由诸如中子之类的宇宙射线颗粒的击打特别危险,因为缺少对处理器的实际保护。瞬时错误目前占基于处理器设备中错误的90%以上。由于晶体管尺寸压缩,各个晶体管变得不易被宇宙射线击打损坏。然而,对于处理器来说,降低电压水平、伴随着降低晶体管尺寸以及相应增加处理器的晶体管数量导致对宇宙射线击打的整个处理器敏感性的指数增加或者软差错的其它原因。为了配合该问题,为了多处理器系统获得选定的失误率,需要对于各个处理器来说更低的失误率。作为这些趋势的结果,通常预备用于任务危急的应用的错误检测和恢复技术正日益变得可应用于其它处理器应用。当差错不被检测时产生无声的数据损坏(SDC),并且会导致能够持续到处理器重启为止的受损的数据数值。SDC率是发生SDC事件的比率。软差错是例如通过使用奇偶检验检测的差错,但是不能修正。在错误能够传播到永久存储装置之前,错误检测支持(faultdetection support)通过暂停计算而能够减少处理器的SDC率。奇偶校验例如是公知的错误检测机制,其避免在存储器结构中单比特差错的无声的数据损坏。不幸的是,在高性能处理器中为锁存器或逻辑电路增加奇偶校验会不利地影响周期时间和整体性能。因此,处理器设计者已经求助于冗余执行机制来检测处理器中的错误。当前冗余执行系统通常采用已知为“步锁(lockstepping)”的技术,其通过在两个相同的步锁(周期同步)处理器上运行相同程序的同一拷贝来检测处理器错误。在每个周期中,两个处理器均被送进相同的输入并且检验器电路比较输出。在输出不匹配时,检验器标记差错并且能够起动恢复序列。步锁通过检测在检验器处表明的每个错误而能够减少处理器SDC FIT。不幸的是,步锁浪费处理器资源,否则这些处理器资源可以用于提高性能。附图说明从附图中示出的优选实施例的如下描述中将会明白本专利技术的不同特征,其中在整个附图中相同的附图标记一般指示相同的部分。附图不必成比例,而是把重点放在说明本专利技术的原理上。图1是具有冗余线程的冗余多线程体系结构的一个实施例的框图。图2是同步和冗余线程体系结构的一个实施例的框图。图3示出对于同步和冗余线程体系结构的一个实施例来说的最小和最大松散关系。图4是用于管理时期间(interepoch)存储器数据依赖性的存储器系统扩展的流程图。图5是在冗余多线程体系结构中缓冲未检验存储的推测存储器系统的一个实施例的框图。图6是在冗余多线程体系结构中缓冲未检验存储的推测存储器系统的流程图。具体实施例方式在下面的说明中,出于说明而非限制的目的,阐述了具体的细节,例如特定的结构、体系、接口、技术等等,以便提供本专利技术各个方面的彻底理解。然而,很显然,本领域技术人员可以从本专利技术中获益,将会明白在脱离这些具体细节的其它实例中可以实践本专利技术的各个方面。在某些实例中,省略了公知装置、线路和方法的说明,以免不必要的细节妨碍本专利技术的说明。复制范围图1是冗余多线程体系结构的一个实施例的框图。在冗余多线程体系结构中,通过执行作为单独线程的两个程序副本能够检测错误。每个线程均提供有相同的输入,并且对输出进行比较以便确定差错是否已经产生。可以参考此处称为“复制范围”的概念来描述冗余多线程。复制范围是逻辑或物理冗余操作的边界。在复制范围130内的组件(例如,执行主线程110的处理器和执行从线程120的处理器)经受冗余执行。相反,在复制范围130外部的组件(例如,存储器150、RAID 160)不经受冗余执行。通过其它技术、例如用于存储器150的纠错码和用于RAID 160的奇偶校验来提供错误保护。其它装置可以处在复制范围130外部和/或其它技术可以被用来提供用于复制范围130外部的装置的错误保护。进入复制范围130的数据通过输入复制代理170进入,所述输入复制代理170复制数据并且发送数据副本到主线程110和从线程120。类似地,退出复制范围130的数据通过输出比较代理180退出,所述输出比较代理180比较数据并且确定是否产生差错。改变复制范围130的边界导致性能与硬件数量的折衷。例如,复制存储器150通过避免存储指令的输出比较将会允许更快访问存储器,但是通过使系统中存储器数量翻倍将会增加系统成本。一般,存在两个复制范围,其可以被称为“SoR-寄存器”和“SoR-高速缓冲存储器”。在SoR-寄存器体系结构中,寄存器文件和高速缓冲存储器在复制范围的外部。来自SoR-寄存器复制范围的输出包括比较的寄存器写入和存储地址及数据来检测错误。在SoR-高速缓冲存储器体系结构中,指令高速缓冲存储区和数据高速缓冲存储器在复制范围外部,比较所有的存储地址和数据而不是寄存器写入以检查错误。SoR-高速缓冲存储器体系结构具有为了仅仅比较存储(和可能地有限数量的其它所选择的指令)来检查错误的优点,这减小检验器带宽并且通过不延迟存储操作而提高性能。相反,SoR-寄存器体系结构需要比较多数指令来检查错误,这需要更大的检验器带宽并且会延迟存储操作直到检验器确定在存储操作之前所有指令无错误为止。SoR-高速缓冲存储器能够提供与SoR-寄存器相同等级的瞬时错误覆盖,因为在复制范围的边界处不显示为差错的错误不会破坏系统状态,并且因此被有效屏蔽。为了提供错误覆盖,每个指令结果应当进行比较以提供对应于每个指令的检验点。因此,在这里更详细地描述SoR-寄存器体系结构。同步和冗余线程(SRT)体系结构的概述图2是同步和冗余线程体系结构的一个实施例的框图。图2的体系结构是SoR-寄存器体系结构,在所述体系结构中比较来自每个指令的输出或结果以便检测差错。主线程210和从线程220代表利用时间差来执行的相应线程,使得在从线程220执行相同指令之前主线程210执行该指令。在一个实施例中,主线程210和从线程220是相同的。可替换地,主线程210和/或从线程220能够包括在对应线程中所未包含的控制或其它信息。能够通过相同的处理器执行主线程210和从线程220,或者能够通过不同的处理器来执行主线程210和从线程220。指令地址经由指令复制队列230从主线程210被传递到从线程220。将指令传递通过指令复制队列230允许对在主线程210中指令的执行和在从线程220中相同指令的执行之间的时间差或“松散(slack)”进行控制。输入数据通过源寄存器数值队列240从主线程210被传递到从线程220。在一个实施例中,源寄存器数值队列240为主线程210和从线程220两者复制输入数据。输出数据通过目标寄存器数值队列250从从线程220被传递到主线程210。在一个实施例中,目标寄存器数值队列240比较来自主线程210和从线程2本文档来自技高网...

【技术保护点】
一种方法,包括:    作为主线程和从线程并行地执行相应的指令线程;    将来自在主线程中执行的指令的结果和来自在从线程中执行的指令的结果保存到存储器中;    比较在存储器中保存的结果;以及    基于比较结果提交单组指令到存储器状态。

【技术特征摘要】
【国外来华专利技术】US 2003-12-30 10/749,6181.一种方法,包括作为主线程和从线程并行地执行相应的指令线程;将来自在主线程中执行的指令的结果和来自在从线程中执行的指令的结果保存到存储器中;比较在存储器中保存的结果;以及基于比较结果提交单组指令到存储器状态。2.如权利要求1所述的方法,其中,所保存的结果被保存为推测的。3.如权利要求2所述的方法,其中,所执行的指令被缓冲在存储器中。4.如权利要求1所述的方法,其中,所述指令是时期指令...

【专利技术属性】
技术研发人员:SK赖因哈德特SS穆克赫尔吉JS埃默CT韦弗
申请(专利权)人:英特尔公司
类型:发明
国别省市:US[美国]

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

1