CN104699550B - 一种基于lockstep架构的错误恢复方法 - Google Patents
一种基于lockstep架构的错误恢复方法 Download PDFInfo
- Publication number
- CN104699550B CN104699550B CN201410741901.6A CN201410741901A CN104699550B CN 104699550 B CN104699550 B CN 104699550B CN 201410741901 A CN201410741901 A CN 201410741901A CN 104699550 B CN104699550 B CN 104699550B
- Authority
- CN
- China
- Prior art keywords
- write
- address
- processor
- state
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Hardware Redundancy (AREA)
Abstract
本发明是一种基于lockstep架构的错误恢复方法,包括以下步骤:1)Lock‑Step模块运行状态与转换:Lock‑Step模块上电后,采用基于时间流进行状态保存,通过硬件计时器,在一段时间之后发送一个硬件信号,软件读到这个状态后保存处理器状态;2)对硬件状态进行切换,将硬件的保存恢复分为2个状态,即运行状态以及保存状态,在运行状态时如果处理器发生写操作,在运行状态的时间片内如果有对写入SM的地址数据的操作由SM完成读写,以保证数据的一致;本发明涉及一种基于lockstep架构的错误恢复方法,在该计算机架构下可以发现计算机运行的瞬态错误,并可采用恢复机制将错误恢复,提高计算机的容错能力,实现高可靠性的计算机。
Description
技术领域
本发明属于计算机技术,涉及一种总线监控的锁步(Lock-Step)计算机的错误恢复,以实现高可靠性,包括错误恢复的硬件机制与软件机制。
背景技术
计算机的高故障检测率对于其在安全关键领域的应用具有非常重要的意义。传统的计算机的故障检测主要采用看门狗、闭环检测等方法实现,故障检测率很难到达到98%以上,计算结果比较监控可实现很高的故障检测率,但故障检测的实时性不高。Lock-Step计算机是另一种实现高完整性计算的方法,Lock-Step既能以很高的概率检测故障又能实时地检测故障。在检测出故障之后可以采用恢复机制对错误进行恢复,实现高可靠性的计算机。
发明内容
为了解决背景技术中所存在的技术问题,本发明提供一种基于总线监控的Lock-Step计算机的错误恢复机制。能实现计算机的实时的高概率故障检测和隔离,并且在发生错误时自动进行错误恢复,保证计算机数据处理的高完整性。
本发明的技术解决方案是:一种基于lockstep架构的错误恢复方法,其特征在于:所述方法包括以下步骤:
1)Lock-Step模块运行状态与转换:Lock-Step模块上电后,采用基于时间流进行状态保存,通过硬件计时器,在一段时间之后发送一个硬件信号,软件读到这个状态后保存处理器状态;
2)对硬件状态进行切换,将硬件的保存恢复分为2个状态,即运行状态以及保存状态,在运行状态时如果处理器发生写操作,该写入不直接写入内存,而是写入一个软件可读、硬件例化的buffer结构(SM)中,在运行状态的时间片内如果有对写入SM的地址数据的操作由SM完成读写,以保证数据的一致;
3)在时间到达之后将处理器状态由运行状态转换为保存状态,在保存状态中将CPU内部的寄存器保存至一片内存中,之后将SM中数据写入处理器内存对应的地址,完成一次保存;保存状态完成之后(SM中数据写完成),处理器将自动切换为运行状态,继续运行。
4)运行状态下SM保证内存一致性:在运行状态时,每次有读操作时,首先查询SM的index位,如果SM中有该地址,在查询index对应的地址高位,如果命中,说明读地址的数据在SM中有保存,将SM中的数据作为读数据发送给CPU;如果未命中,说明处理器该读操作的地址数据在SM中未出现,则处理器从内存中读出该地址的数据;
5)在运行状态写操作时,将数据不再写入内存,而是写入SM中;通过写入地址的addr的低9位作为SM的index,有index作为SM的地址进行访问SM,将写操作的写地址高位与写数据写入该SM的addr与data位,同时将val id置1,表示SM的该index对应的地址数据有效;当连续的写操作同样命中SM中同一个index时,如果写操作的地址与index对应的地址相同,说明这次写操作的地址与index中的写操作地址相同,则将index该条目的data项进行更新。如果写操作的地址与index对应的地址不同,则将该写操作的地址与数据写入该index条目对应的其他关联地址与数据(最大为4路组关联);当4路组关联的SRAM均写满后仍存在写操作命中该index对应的条目,则产生硬件控制退出运行状态,进入保存状态。
上述方法还包括步骤6)处理器运行状态结束,处理器进入保存状态进行处理器的保存;保存状态时处理器将SM中的数据按照SM的index条目中有效的地址数据写入处理器内存,更新处理器的内存,保证处理器内存的一致;同时将处理器的PC指针,堆栈列表,寄存器等保存在内存的固定位置,如果发生错误可以从该内存读取,达到处理器状态的恢复。
上述方法还包括错误恢复流程:
在T0时刻,双处理器同步运行指令,T0时刻结束进入T0的保存状态,保存T0时的寄存器状态;
T0-T1时间,由于该时间内无写操作,处理器在T1时刻的内存与T0时刻一致,在T1结束的保存状态,处理器保存T1时的寄存器状态;
T1-T2时间,存在读操作,无写操作,处理器在T2结束的保存状态保存T2时的寄存器状态;
T2-T3时间,存在写操作,之后有读该地址的操作。在写操作时,在T3的运行状态,将该写操作将地址数据写入SM内,而保证内存不变。之后的读操作如果命中上次写操作的地址,则从SM中取出该读操作的数据给双处理器;如果该读操作未命中SM,则由内存直接返回读操作的数据;如有其余的写操作则依次写入SM,直到SM写满;处理器直接进行保存状态。
如果在T2-T3段发生一个错误,则将处理器的PC跳回T2时的保存值,同时将T2时保存的寄存器值写入处理器寄存器;此时内存没有在保存状态保存,处理器内存状态仍是T2状态的内存,由硬件将SM的valid位清零,使得SM中数据无效;如果运行到T3时刻结束的保存状态下时,处理器保存T3状态下的寄存器,同时将SM中的数据写入内存。
一种基于lockstep架构的错误恢复结构,其特征在于:包括内部FPGA例化出的SRAM结构;包括索引index,地址位(addr),数据位(data),以及有效位(valid);由地址位与索引位构成读写指令对应的地址,数据位则为该地址对应的数据;索引index为读写地址的低9位,作为SM的地址空间;地址位为该地址的高23位,有效位为每次对SM中该index条目进行一次写时对该index的有效位置1。
上述错误恢复结构采取4路组关联,将4路相同结构的SRAM关联在一起使用同一个index,在index命中之后比较4路中的addr,当addr命中时认为该读写操作命中SM;当在运行状态需要运行一个写入操作,由硬件SM控制写入的地址以及数据,并不直接写入处理器内存,而是写入到硬件的SM结构中,在运行状态内如果还存在对SM该地址的读写操作,则直接从SM结构中读写。
本发明具有的优点是:涉及一种基于锁步(Lock-Step)计算机架构,在该计算机架构下可以发现计算机运行的瞬态错误,并可采用恢复机制将错误恢复,提高计算机的容错能力,实现高可靠性的计算机。本发明采用总线锁步与监控电路模块,利用硬件保存处理器运行的状态,并实时监测两个处理器的工作状况,一旦发现不一致,立即触发错误恢复,将处理器状态回退恢复至之前保存的正确状态,重新运行,达到隔离故障,从而保证计算机能高完整性地处理数据。本发明具有故障检测率很高、故障检测的实时性好、可自动恢复计算机瞬态故障,实现简便的特点。
附图说明:
图1是Lock-Step计算机恢复机制硬件构成图;
图2是Lock-Step恢复SM硬件结构;
图3是Lock-Step模块恢复机制的运行流程;
具体实施方式:
本发明通过采用总线锁步与监控模块(简称:Lock-Step模块)对两个处理器总线周期操作事务(读取,写入)进行同步“位位”比较,实时检测两个计算机的工作状况,并将处理器状态进行保存,在处理器比较发现不一致之后,将处理器状态恢复至上次保存的状态,可以恢复处理器内存由于瞬时故障产生的各种错误,内存总线上产生的瞬态错误,以及处理器内部运行产生的错误。从而实现高可靠性的处理器。
总线监控的Lock-Step计算机组成如图1所示,处理器部分为2个同步运行处理器,可以进行同步比较,检测错误的发生。在处理器同步之后每过一个固定的时间片,将处理器状态写入固定的保存空间(Store Memory SM),在发生错误之后将Store memory内的数据恢复回计算机,将计算机的状态恢复至上次保存的正确状态,实现错误恢复。由本专利的SM以及固定的硬件访问机制保证处理器硬件状态的正确(如内存的一致,指令流的连续,重新运行时机等),由软件在恢复之后重新读取状态寄存器保证处理器软件运行的正确。
SM的结果如图2所示,SM主要由内部FPGA例化出的SRAM结构,大小可定制,本专利以1Kbyte为标准。其结构包括索引index,地址位(addr),数据位(data),以及有效位(valid)组成。索引index为读写地址的低9位,作为SM的地址空间。地址位为该地址的高23位,由地址位与索引位构成读写指令对应的地址,数据位则为该地址对应的数据。有效位为每次对SM中该index条目进行一次写时对该index的有效位置1。为了加大读操作时的命中,采取4路组关联,将4路相同结构的SRAM关联在一起使用同一个index,在index命中之后比较4路中的addr,当addr命中时认为该读写操作命中SM。当在运行状态需要运行一个写入操作,由硬件SM控制写入的地址以及数据,并不直接写入处理器内存,而是写入到硬件的SM结构中,在运行状态内如果还存在对SM该地址的读写操作,则直接从SM结构中读写。
方案的核心部分是设计对Lock-Step模块的错误恢复硬件,其余部分可采用通用器件、电路实现。
Lock-Step模块运行状态与转换:
Lock-Step模块上电后,采用基于时间流进行状态保存,通过硬件计时器,在一段时间之后发送一个硬件信号,软件读到这个状态后保存处理器状态。由于只有发生L/S操作且发生Cache miss时才会在处理器总线上进行访问,而在没有L/S操作时,处理器状态不会发生改变。为了减少保存次数,时间保存信号的发出可以通过L/S指令流来进行控制,在时间片内如果存在L/S指令才进行保存,如果没有该操作则放弃保存,采用上次保存的处理器状态。
到达时间片时,如果需要保存,保存该时的寄存器、PC等值,恢复时将载入其寄存器值,PC值。同时在一个时间片之内如果没有发生错误,认为该时间点的数据正确,将该时刻内存进行保存,将L/S指令写入内存。如果在一个时间片之内没有L/S指令,则处理器内存无变化,仅有寄存器堆、堆栈等变化,可以放弃这一次的保存,采用之前保存之前的内存状态,减少开销。
在时间片之内如果L/S指令存在,需要保存处理器当前的状态以及保证内存的一致。
这样,需要对硬件状态进行切换,将硬件的保存恢复分为2个状态,即运行状态以及保存状态,在运行状态时如果处理器发生写操作,该写入不直接写入内存,而是写入一个软件可读、硬件例化的buffer结构(Store memory(SM))中,在运行状态的时间片内如果有对写入SM的地址数据的操作由SM完成读写,以保证数据的一致。在时间到达之后将处理器状态由运行状态转换为保存状态,在保存状态中将CPU内部的寄存器(包括可能改变的堆栈PC指针等)保存至一片内存中,之后将上述的SM中数据写入处理器内存对应的地址,完成一次保存。保存状态完成之后(SM中数据写完成),处理器将自动切换为运行状态,继续运行。
Lockstep处理器运行状态的切换,使得在locks tep处理器运行中插入保存状态对处理器的状态进行保存,作为正确的节点,为发生错误之后的错误恢复提供依据。
运行状态下SM保证内存一致性:
在运行状态时,每次有读操作时,首先查询SM的index位,如果SM中有该地址,在查询index对应的地址高位,如果命中,说明读地址的数据在SM中有保存,将SM中的数据作为读数据发送给CPU。如果未命中,说明处理器该读操作的地址数据在SM中未出现,则处理器从内存中读出该地址的数据。
在运行状态写操作时,将数据不再写入内存,而是写入SM中。通过写入地址的addr的低9位作为SM的index,有index作为SM的地址进行访问SM,将写操作的写地址高位与写数据写入该SM的addr与data位,同时将valid置1,表示SM的该index对应的地址数据有效。当连续的写操作同样命中SM中同一个index时,如果写操作的地址与index对应的地址相同,说明这次写操作的地址与index中的写操作地址相同,则将index该条目的data项进行更新。如果写操作的地址与index对应的地址不同,则将该写操作的地址与数据写入该index条目对应的其他关联地址与数据(最大为4路组关联)。当4路组关联的SRAM均写满后仍存在写操作命中该index对应的条目,则产生硬件控制退出运行状态,进入保存状态。
这样,在运行状态下处理器写操作写入SM,对内存不进行改变,保证恢复操作尽量少占用系统资源。
保存状态保证内存一致性作:
在处理器运行状态结束,处理器进入保存状态进行处理器的保存。保存状态时处理器将SM中的数据按照SM的index条目中有效的地址数据写入处理器内存,更新处理器的内存,保证处理器内存的一致。同时将处理器的PC指针,堆栈列表,寄存器等保存在内存的固定位置,如果发生错误可以从该内存读取,达到处理器状态的恢复。
Lock-Step模块运行状态恢复操作:
Lockstep处理器时刻保证双处理器同步运行,且对运行结果进行比较。在比较正确时将正确的结果写入,而发生错误时需要进行恢复操作。在一个写指令时,写入寄存器时lockstep处理器需要将2个CPU写入寄存器的结果进行比较,保证第一时间发现寄存器错误,这样如果有错误发生,则错误检测与错误发生将不会超过1个时间段的间隔。可以将处理器恢复至上一次时间片保存的状态,达到错误恢复的目的。
在恢复机制的硬件架构下,由本专的第3点SM的硬件机制保证在不把数据写回内存的情况下保证处理器运行的数据流正确,同时在保存状态保存SM,保证内存的一致性。这样保证运行状态数据恢复时的数据一致。在运行状态时如果发生错误,可以直接将处理器恢复至上一个保存状态保存的处理器寄存器,PC,堆栈等,但不用恢复内存。因为在运行状态之后内存才会发生改变,在错误发生时的内存与之前保存的正确内存一致。这样如果出错直接恢复至上一个时间片处的内存,保证内存的正确。
Lock-Step模块错误恢复流程:
在T0时刻,双处理器同步运行指令,T0时刻结束进入T0的保存状态,保存T0时的寄存器状态。
T0-T1时间,由于该时间内无写操作,处理器在T1时刻的内存与T0时刻一致,在T1结束的保存状态,处理器保存T1时的寄存器状态。
T1-T2时间,存在读操作,无写操作,处理器在T2结束的保存状态保存T2时的寄存器状态。
T2-T3时间,存在写操作,之后有读该地址的操作。在写操作时,在T3的运行状态,将该写操作将地址数据写入SM内,而保证内存不变。之后的读操作如果命中上次写操作的地址,则从SM中取出该读操作的数据给双处理器。
如果该读操作未命中SM,则由内存直接返回读操作的数据。
如有其余的写操作则依次写入SM,直到SM写满。处理器直接进行保存状态。
如果在T2-T3段发生一个错误,则将处理器的PC跳回T2时的保存值,同时将T2时保存的寄存器值写入处理器寄存器。此时内存没有在保存状态保存,处理器内存状态仍是T2状态的内存,由硬件将SM的val id位清零,使得SM中数据无效。
如果运行到T3时刻结束的保存状态下时,处理器保存T3状态下的寄存器,同时将SM中的数据写入内存。
Claims (6)
1.一种基于lockstep架构的错误恢复方法,其特征在于:所述方法包括以下步骤:
1)Lock-Step模块运行状态与转换:Lock-Step模块上电后,采用基于时间流进行状态保存,通过硬件计时器,在一段时间之后发送一个硬件信号,软件读到这个状态后保存处理器状态;
2)对硬件状态进行切换,将硬件的保存恢复分为2个状态,即运行状态以及保存状态,在运行状态时如果处理器发生写操作,该写入不直接写入内存,而是写入一个软件可读、硬件例化的buffer结构SM中,在运行状态的时间片内如果有对写入SM的地址数据的操作由SM完成读写,以保证数据的一致;
3)在时间到达之后将处理器状态由运行状态转换为保存状态,在保存状态中将CPU内部的寄存器保存至一片内存中,之后将SM中数据写入处理器内存对应的地址,完成一次保存;保存状态完成之后,即SM中数据写完成之后,处理器将自动切换为运行状态,继续运行;
4)运行状态下SM保证内存一致性:在运行状态时,每次有读操作时,首先查询SM的index位,如果SM中有该地址,在查询index对应的地址高位,如果命中,说明读地址的数据在SM中有保存,将SM中的数据作为读数据发送给CPU;如果未命中,说明处理器该读操作的地址数据在SM中未出现,则处理器从内存中读出该地址的数据;
5)在运行状态写操作时,将数据不再写入内存,而是写入SM中;通过写入地址的addr的低9位作为SM的index,有index作为SM的地址进行访问SM,将写操作的写地址高位与写数据写入该SM的addr与data位,同时将valid置1,表示SM的该index对应的地址数据有效;当连续的写操作同样命中SM中同一个index时,如果写操作的地址与index对应的地址相同,说明这次写操作的地址与index中的写操作地址相同,则将index该条目的data项进行更新;如果写操作的地址与index对应的地址不同,则将该写操作的地址与数据写入该index条目对应的其他关联地址与数据,最大为4路组关联;当4路组关联的SRAM均写满后仍存在写操作命中该index对应的条目,则产生硬件控制退出运行状态,进入保存状态。
2.根据权利要求1所述的基于lockstep架构的错误恢复方法,其特征在于:所述方法还包括步骤6)处理器运行状态结束,处理器进入保存状态进行处理器的保存;保存状态时处理器将SM中的数据按照SM的index条目中有效的地址数据写入处理器内存,更新处理器的内存,保证处理器内存的一致;同时将处理器的PC指针,堆栈列表,寄存器保存在内存的固定位置,如果发生错误可以从该内存读取,达到处理器状态的恢复。
3.根据权利要求2所述的基于lockstep架构的错误恢复方法,其特征在于:所述方法还包括错误恢复流程:
在T0时刻,双处理器同步运行指令,T0时刻结束进入T0的保存状态,保存T0时的寄存器状态;
T0-T1时间,由于该时间内无写操作,处理器在T1时刻的内存与T0时刻一致,在T1结束的保存状态,处理器保存T1时的寄存器状态;
T1-T2时间,存在读操作,无写操作,处理器在T2结束的保存状态保存T2时的寄存器状态;
T2-T3时间,存在写操作,之后有读该地址的操作;在写操作时,在T3的运行状态,将该写操作将地址数据写入SM内,而保证内存不变;之后的读操作如果命中上次写操作的地址,则从SM中取出该读操作的数据给双处理器;如果该读操作未命中SM,则由内存直接返回读操作的数据;如有其余的写操作则依次写入SM,直到SM写满;处理器直接进行保存状态。
4.根据权利要求3所述的基于lockstep架构的错误恢复方法,其特征在于:如果在T2-T3段发生一个错误,则将处理器的PC跳回T2时的保存值,同时将T2时保存的寄存器值写入处理器寄存器;此时内存没有在保存状态保存,处理器内存状态仍是T2状态的内存,由硬件将SM的valid位清零,使得SM中数据无效;如果运行到T3时刻结束的保存状态下时,处理器保存T3状态下的寄存器,同时将SM中的数据写入内存。
5.一种基于lockstep架构的错误恢复结构,其应用权利要求1所述的基于lockstep架构的错误恢复方法,其特征在于:包括内部FPGA例化出的SRAM结构;包括索引index,地址位addr,数据位data,以及有效位valid;由地址位与索引位构成读写指令对应的地址,数据位则为该地址对应的数据;索引index为读写地址的低9位,作为SM的地址空间;地址位为该地址的高23位,有效位为每次对SM中该index条目进行一次写时对该index的有效位置1。
6.根据权利要求5所述的基于lockstep架构的错误恢复结构,其特征在于:所述错误恢复结构采取4路组关联,将4路相同结构的SRAM关联在一起使用同一个index,在index命中之后比较4路中的addr,当addr命中时认为该读写操作命中SM;当在运行状态需要运行一个写入操作,由硬件SM控制写入的地址以及数据,并不直接写入处理器内存,而是写入到硬件的SM结构中,在运行状态内如果还存在对SM该地址的读写操作,则直接从SM结构中读写。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410741901.6A CN104699550B (zh) | 2014-12-05 | 2014-12-05 | 一种基于lockstep架构的错误恢复方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410741901.6A CN104699550B (zh) | 2014-12-05 | 2014-12-05 | 一种基于lockstep架构的错误恢复方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104699550A CN104699550A (zh) | 2015-06-10 |
CN104699550B true CN104699550B (zh) | 2017-09-12 |
Family
ID=53346711
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410741901.6A Active CN104699550B (zh) | 2014-12-05 | 2014-12-05 | 一种基于lockstep架构的错误恢复方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104699550B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112506701A (zh) * | 2020-12-02 | 2021-03-16 | 广东电网有限责任公司佛山供电局 | 一种基于三模lockstep的多处理器芯片错误恢复方法 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10338995B2 (en) * | 2017-03-10 | 2019-07-02 | Artesyn Embedded Computing, Inc. | End to end FPGA diagnostics for a safety system |
CN110147343B (zh) * | 2019-05-09 | 2023-08-04 | 中国航空工业集团公司西安航空计算技术研究所 | 一种全比较的Lockstep处理器架构 |
CN110673986A (zh) * | 2019-09-23 | 2020-01-10 | 北京字节跳动网络技术有限公司 | 内存操作的异常捕获方法、装置、终端及存储介质 |
CN111581003B (zh) * | 2020-04-29 | 2021-12-28 | 浙江大学 | 一种全硬件双核锁步处理器容错系统 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5867501A (en) * | 1992-12-17 | 1999-02-02 | Tandem Computers Incorporated | Encoding for communicating data and commands |
US6233702B1 (en) * | 1992-12-17 | 2001-05-15 | Compaq Computer Corporation | Self-checked, lock step processor pairs |
CN1690970A (zh) * | 2004-03-30 | 2005-11-02 | 惠普开发有限公司 | 在处理器之间交换信息的方法和系统 |
US7020800B2 (en) * | 2002-01-24 | 2006-03-28 | Hewlett-Packard Development Company L.P. | System and method for memory failure recovery using lockstep processes |
CN1755660A (zh) * | 2004-09-28 | 2006-04-05 | 惠普开发有限公司 | 冗余处理器中的诊断存储器转储方法 |
CN1790285A (zh) * | 2004-12-17 | 2006-06-21 | 日本电气株式会社 | 容错计算机系统及其同步方法 |
CN101861569A (zh) * | 2007-07-24 | 2010-10-13 | 通用电气航空系统有限责任公司 | 高集成度和高可用性计算机处理模块 |
US7877524B1 (en) * | 2007-11-23 | 2011-01-25 | Pmc-Sierra Us, Inc. | Logical address direct memory access with multiple concurrent physical ports and internal switching |
CN102521086A (zh) * | 2011-12-08 | 2012-06-27 | 上海交通大学 | 基于锁步同步的双模冗余系统及其实现方法 |
CN103544087A (zh) * | 2013-10-30 | 2014-01-29 | 中国航空工业集团公司第六三一研究所 | 一种锁步的处理器总线监控方法与计算机 |
CN104035843A (zh) * | 2013-03-06 | 2014-09-10 | 英飞凌科技股份有限公司 | 用于提高锁步核可用性的系统和方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050120278A1 (en) * | 2003-11-19 | 2005-06-02 | Smith Zachary S. | Systems and methods for verifying lockstep operation |
US8090984B2 (en) * | 2008-12-10 | 2012-01-03 | Freescale Semiconductor, Inc. | Error detection and communication of an error location in multi-processor data processing system having processors operating in Lockstep |
-
2014
- 2014-12-05 CN CN201410741901.6A patent/CN104699550B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5867501A (en) * | 1992-12-17 | 1999-02-02 | Tandem Computers Incorporated | Encoding for communicating data and commands |
US6233702B1 (en) * | 1992-12-17 | 2001-05-15 | Compaq Computer Corporation | Self-checked, lock step processor pairs |
US7020800B2 (en) * | 2002-01-24 | 2006-03-28 | Hewlett-Packard Development Company L.P. | System and method for memory failure recovery using lockstep processes |
CN1690970A (zh) * | 2004-03-30 | 2005-11-02 | 惠普开发有限公司 | 在处理器之间交换信息的方法和系统 |
CN1755660A (zh) * | 2004-09-28 | 2006-04-05 | 惠普开发有限公司 | 冗余处理器中的诊断存储器转储方法 |
CN1790285A (zh) * | 2004-12-17 | 2006-06-21 | 日本电气株式会社 | 容错计算机系统及其同步方法 |
CN101861569A (zh) * | 2007-07-24 | 2010-10-13 | 通用电气航空系统有限责任公司 | 高集成度和高可用性计算机处理模块 |
US7877524B1 (en) * | 2007-11-23 | 2011-01-25 | Pmc-Sierra Us, Inc. | Logical address direct memory access with multiple concurrent physical ports and internal switching |
CN102521086A (zh) * | 2011-12-08 | 2012-06-27 | 上海交通大学 | 基于锁步同步的双模冗余系统及其实现方法 |
CN104035843A (zh) * | 2013-03-06 | 2014-09-10 | 英飞凌科技股份有限公司 | 用于提高锁步核可用性的系统和方法 |
CN103544087A (zh) * | 2013-10-30 | 2014-01-29 | 中国航空工业集团公司第六三一研究所 | 一种锁步的处理器总线监控方法与计算机 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112506701A (zh) * | 2020-12-02 | 2021-03-16 | 广东电网有限责任公司佛山供电局 | 一种基于三模lockstep的多处理器芯片错误恢复方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104699550A (zh) | 2015-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104699550B (zh) | 一种基于lockstep架构的错误恢复方法 | |
CN106126112B (zh) | 每个周期具有多个读取端口和多个写入端口的多条存储器 | |
US7444478B2 (en) | Priority scheme for transmitting blocks of data | |
CN107704196A (zh) | 区块链数据存储系统和方法 | |
CN105302667B (zh) | 基于集群架构的高可靠性数据备份与恢复方法 | |
US20090164727A1 (en) | Handling of hard errors in a cache of a data processing apparatus | |
CN107329708A (zh) | 一种分布式存储系统实现缓存数据的方法及系统 | |
CN104932954B (zh) | 微小卫星fpga关键数据保护方法 | |
US8190973B2 (en) | Apparatus and method for error correction of data values in a storage device | |
US10817390B2 (en) | Imparting durability to a transactional memory system | |
CN105320579B (zh) | 面向sparc v8处理器的自修复双冗余流水线及容错方法 | |
CN103270499B (zh) | 日志存储方法及系统 | |
US20200349072A1 (en) | Handling metadata corruption to avoid data unavailability | |
WO2019173075A4 (en) | Mission-critical ai processor with multi-layer fault tolerance support | |
CN108694231A (zh) | 使用nvm并通过多个日志记录缓冲器来预写式日志记录 | |
CN107025130B (zh) | 处理节点、计算机系统及事务冲突检测方法 | |
TWI635497B (zh) | 揮發性記憶體的資料保存系統及方法 | |
CN105892950A (zh) | 一种磁盘阵列的重建方法及系统 | |
CN109165321A (zh) | 一种基于非易失内存的一致性哈希表构建方法和系统 | |
US8909981B2 (en) | Control system software execution during fault detection | |
CN105260256B (zh) | 一种双模冗余流水线的故障检测及回退方法 | |
CN111414320A (zh) | 基于日志文件系统的非易失内存构建磁盘cache的方法及系统 | |
CN114238353A (zh) | 一种分布式事务的实现方法及系统 | |
US8381019B2 (en) | EDRAM macro disablement in cache memory | |
CN109614274A (zh) | 处理器指令Cache单粒子翻转软错误的防护方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB03 | Change of inventor or designer information |
Inventor after: Zhou Xiao Inventor after: Li Peng Inventor after: Han Qiang Inventor after: Deng Bao Inventor after: Shen Hua Inventor after: Xu Ao Inventor before: Zhou Xiao Inventor before: Li Peng Inventor before: Han Qiang Inventor before: Deng Bao Inventor before: Shen Hua |
|
CB03 | Change of inventor or designer information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |