CN1794196A - 确保用于识别容错计算机中的异步原因的时间 - Google Patents
确保用于识别容错计算机中的异步原因的时间 Download PDFInfo
- Publication number
- CN1794196A CN1794196A CN200510022913.4A CN200510022913A CN1794196A CN 1794196 A CN1794196 A CN 1794196A CN 200510022913 A CN200510022913 A CN 200510022913A CN 1794196 A CN1794196 A CN 1794196A
- Authority
- CN
- China
- Prior art keywords
- cpu
- memory unit
- main memory
- himself
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1658—Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
- Bus Control (AREA)
Abstract
一种容错计算机具有一对双工系统,每一个双工系统具有以锁步同步相同地操作的各CPU子系统。双工系统的每一个都具有CPU、主存储单元、CPU总线控制器和DMA控制器。在每一个CPU子系统中都包括有CPU和主存储单元。在CPU子系统相互同步操作时,即使检测到异步操作,CPU总线控制器也连续地操作其自身系统的CPU。即使检测到异步操作,DMA控制器从检测到异步操作之后一直到达到预定时间为止都保持DMA传输处理,用于将存储在其自身系统或另一个系统的主存储单元中的数据传输到另一个系统或其自身系统的主存储单元。
Description
技术领域
本发明涉及一种具有DMR(双模冗余)系统的容错计算机,以及控制这种容错计算机的方法,其中每一个DMR系统包括具有CPU和主存储单元的CPU子系统以及IO子系统。
背景技术
近年来,计算机越来越多的功能使得计算机的使用领域更加广泛。这种计算机需要甚至在出错的情况下也能继续操作。满足这一要求的一个解决办法就是具有双工系统的容错技术。
构建在容错技术基础上的容错计算机具有双工系统,每一个系统都包括有具有CPU和主存储单元的CPU子系统以及IO子系统。一些容错计算机采用锁步系统,用于根据同步时钟来互相同步地操作两个CPU子系统。
在具有锁步系统的容错计算机中,两个CPU子系统会不同步地工作,这易于引起存储在其主存储单元中的数据彼此不一致。异步的原因在于小规模的故障,包括CPU故障、由辐射引起以改变存储在主存储单元中的数据的软件错误,以及锁步系统不能保证的操作事件。
当具有锁步系统的容错计算机遭遇异步操作时,执行再同步处理,以使两个CPU子系统相互同步。再同步处理被分成几个阶段。阶段之一是将存储在CPU子系统之一的主存储单元中的数据复制到另一个CPU子系统的主存储单元,从而使主存储单元中的数据彼此一致。
例如,在JP-A-1998-177498(下面被称为“文件1”)中公开了用于加快上述再同步处理的现有容错计算机。
在文件1中所公开的容错计算机中,当在CPU子系统彼此同步地操作的同时发生写事件以将数据写到主存储单元之一时,CPU子系统的每一个记录用于表示记录数据被写事件更新的主存储单元的位置(页面)和当记录数据被写事件更新时的时间的信息。在异步操作时,根据记录的信息,只将存储在CPU子系统之一的主存储单元中的数据的更新数据复制到另一个CPU子系统的主存储单元。
在文件1中所公开的容错计算机中,由于只复制更新数据而不是存储在主存储单元中的所有数据,因此缩短了复制数据所需的时间,从而缩短了再同步处理。
不过,当检测文件1中所公开的容错计算机的异步操作时,没有检测异步操作的原因,而是立刻执行再同步处理,以将存储在CPU子系统之一的主存储单元中的数据的更新数据复制到另一个CPU子系统的主存储单元。
结果,如果异步操作是由从其中复制更新数据的CPU子系统的CPU的故障引起的,则即使在完全完成了再同步处理之后,也不能保证容错计算机的操作。
相应地,当检测容错计算机的异步操作时,有必要识别异步操作的原因,然后开始再同步处理。
如果识别异步操作的原因需要很长的时间,则由于CPU子系统在这段时间内保持不同步地操作,因此存储在CPU子系统的主存储单元中的数据的不一致增加,这使得难以缩短随后执行的再同步处理。
因此,如果在开始再同步处理之前识别异步操作的原因,则有必要使存储在CPU子系统的主存储单元中的数据的不一致减到最小。
发明内容
因此,本发明的目的是提出一种能够在开始再同步处理之前识别检测到的异步操作的原因的容错计算机,以及控制该容错计算机的方法。
本发明的另一目的是提出一种能够将存储在容错计算机的CPU子系统的主存储单元中的数据的不一致最小化的容错计算机,这种不一致是在开始再同步处理之前由识别异步操作的原因所引起的,并提出控制该容错计算机的方法。
根据本发明的容错计算机具有一对双工系统,该双工系统具有以锁步同步相同地操作的各CPU子系统。双工系统的每一个都包括CPU、主存储单元、CPU总线控制器、跟踪存储器和DMA控制器。
在每一个CPU子系统中都包括有CPU和主存储单元。
在CPU子系统相互同步地操作时,如果检测到异步操作,则CPU总线控制器在不宕机的情况下连续地操作其自身系统的CPU。
在CPU总线控制器检测到异步操作之后,每一次数据被存储到其自身系统的主存储单元时,跟踪存储器都存储关于用于存储其自身系统的主存储单元中的数据的写区域的信息。
如果CPU总线控制器检测到异步操作,则从检测到异步操作之后一直到达到预定时间为止,DMA控制器都保持DMA传输处理,以将存储在其自身系统或另一个系统的主存储单元中并且其写区域被存储在跟踪存储器中的数据传输到另一个系统或其自身系统的主存储单元。
通过上述结构,当检测到异步操作时,则在开始作为再同步处理的DMA传输处理之前,可以确保识别基于软件或硬件的异步操作的原因所需的时间。
容错计算机的结构进一步布置如下:双工系统的每一个都进一步包括缓冲器和访问比较器。缓冲器可以暂时存储输入数据,并在其后输出该数据。如果对通过缓冲器来自自身系统的CPU的访问细节和来自另一个系统的CPU的访问细节进行相互比较并且检测出相互不一致,以及还如果已经使用的缓冲器的存储容量超过了预定值,则访问比较器可以发送中断信号给CPU。在DMA控制器中到达的预定时间可以是当中断信号从访问比较器发送到CPU时的时间。
如果已经使用的跟踪存储器的存储容量超过了预定值,则DMA控制器可以将中断信号发送给CPU。在DMA控制器中到达的预定时间可以是当中断信号从DMA控制器发送到CPU时的时间。
通过上述结构,在DMA控制器中到达的预定时间是当中断信号从DMA控制器或访问比较器发送到CPU时的时间。中断信号可以替代如下信息,该信号用于向CPU指明在发出中断信号的时间之后存储在主存储单元中的数据不能根据DMA传输处理通过DMA控制器进行传输。由于识别异步操作的原因所需的时间可以限制到执行DMA传输处理所需的最小时间,因此可以确保识别异步操作的原因所需的时间,并且可以将由确保识别异步操作的原因所需的时间引起的存储在主存储单元中的数据的不一致保持为最小,从而缩短了再同步处理。
容错计算机的结构进一步布置如下:CPU总线控制器可以通过监控其自身系统的CPU总线的操作状态,将表示监控的操作状态的CPU总线操作信息发送给另一个系统的CPU总线控制器,并且对其自身系统的CPU总线操作信息和另一个系统的CPU总线操作信息进行相互比较,来检测异步操作。
通过上述结构,CPU总线控制器可以直接对CPU总线的操作进行相互比较,以在存储在主存储单元中的数据的不一致增加之前提早检测到异步操作,从而缩短再同步处理。
下面参考示出了本发明例子的附图进行讲述,将使本发明的上述和其他目的、特征和优点更加清楚。
附图说明
图1为根据本发明实施例的容错计算机的框图;
图2为图1所示的容错计算机的操作顺序的流程图;
图3为框图,示出了图2所示的流程的步骤201、202的处理细节;
图4为框图,示出了图2所示的流程的步骤203的处理细节;
图5为框图,示出了图2所示的流程的步骤204、206的处理细节;
图6为框图,示出了图2所示的流程的步骤205、206的处理细节;
图7为框图,示出了图2所示的流程的步骤208的处理细节;
图8为框图,示出了图2所示的流程的步骤208的处理细节;以及
图9为框图,示出了图2所示的流程的步骤208的处理细节。
具体实施方式
如图1所示,根据本发明实施例的容错计算机具有一对双工系统,即包括有CPU子系统110和IO子系统120的系统100(系统0)和包括有CPU子系统111和IO子系统121的系统101(系统1)。根据锁步同步(下面简称为“同步”),CPU子系统110和CPU子系统111彼此同步地操作。
CPU子系统110包括CPU 1110、主存储单元1120、CPU总线控制器113x、存储总线控制器1140和路由器1150。IO子系统120包括交叉链路I/F 1210、IO控制器1220、IO访问比较器1230、缓冲器1240、存储访问跟踪存储器1250和DMA(直接存储访问)控制器1260。
类似地,CPU子系统111包括CPU 1111、主存储单元1121,CPU总线控制器1131,存储总线控制器1141和路由器1151。IO子系统121包括交叉链路I/F 1211、IO控制器1221、IO访问比较器1231、缓冲器1241、存储访问跟踪存储器1251和DMA(直接存储访问)控制器1261。
下面来讲述系统100、101的组件的操作。虽然下面只详细讲述系统100的组件的操作,但是系统101的组件将与系统100的组件类似地操作。
CPU总线控制器1130监控用于其自身和自身系统的CPU 1110之间的CPU总线的操作,并且将表示监控结果的CPU总线操作信息发送给另一个系统的CPU总线控制器1131。CPU总线控制器1130还对其自身系统的CPU总线操作信息与另一个系统的CPU总线操作信息进行比较,并且检测什么时候它们相互不一致,即什么时候系统100、101彼此不同步地操作。如果CPU总线控制器1130检测到CPU总线不一致,则CPU总线控制器1130将表示CPU总线不一致的信号通过路由器1150发送给DMA控制器1260。CPU总线控制器1130总是发送包括有CPU总线不活动状态的CPU总线操作信息。由于CPU总线自身具有较大的带宽,因此通过CPU总线控制器1130进行CRC(循环冗余检查)码转换,可以减少CPU总线操作信息量。
CPU总线控制器1130指定主存储单元1120的地址/页面,并且将用于主存储单元1120的写指令发送给存储总线控制器1140。还将写指令发送给DMA控制器1260。当由DMA控制器1260进行指示时,CPU总线控制器1130还指定主存储单元1120的地址/页面,并且将用于主存储单元1120的读指令发送给存储总线控制器1140。
响应来自CPU总线控制器1130的写指令或读指令,存储总线控制器1140将数据写入主存储单元1120的相应地址/页面中,或者从主存储单元1120的相应地址/页面读出数据。
路由器1150位于CPU子系统110和IO子系统120之间的边界上,并且在CPU子系统110和IO子系统120之间中继(relay)数据。
交叉链路I/F 1210为用于IO子系统120和IO子系统121之间通信的高速接口。交叉链路I/F 1210通常包括与系统100的内部时钟不同步地操作的串行链路。
IO控制器1220接收来自其自身系统的CPU 1110和另一个系统的CPU 1111的访问。当CPU子系统110和CPU子系统111彼此同步地操作时,这两个访问是彼此相同的。IO控制器1220访问其自身系统的CPU 1110和另一个系统的CPU 1111。
IO访问比较器1230对从其自身系统的CPU 1110到其自身系统的IO控制器1220的访问细节和从另一个系统的CPU 1111到其自身系统的IO控制器1220的访问细节进行比较。如果比较的访问细节彼此不一致,则IO访问比较器1230以中断的方式将表示不一致的信号通过路由器1150发送给CPU 1110。此时,由于来自其自身系统的CPU 1110的访问只经由内部路径,而来自另一个系统的CPU 1111的访问经由外部路径,因此自另一个系统的CPU 1111的访问的到达时间被延迟。为了避免访问的到达时间之间的差异,位于IO访问比较器1230的输入级中的缓冲器1240暂时存储来自其自身系统的CPU 1110的访问数据,然后将访问输出给IO访问比较器1230。以这种方式,可以对访问数据的顺序转换(shuffling)进行调整,并且IO访问比较器1230可以在不确定访问不一致的情况下等待,直到来自两个系统的访问都到达IO访问比较器1230为止。
如果IO访问比较器1230检测到已经用于存储数据的缓冲器1240的存储容量超过预定值时,则IO访问比较器1230通过中断的方式通过路由器1150将表示存储容量超过预定值的信号发送到CPU 1110。
基于从CPU总线控制器1130发送到主存储单元1120的写指令,DMA控制器1260根据FIFO(先进先出)处理,将写入数据的主存储单元1120的地址/页面信息存储到存储访问跟踪存储器1250。DMA控制器1260在被提供了来自CPU总线控制器1130的表示CPU总线不一致的信号之后,开始存储地址/页面信息。通过从DMA控制器1260发送到CPU总线控制器1130的指令,可以将数据写入主存储单元1120中。在这种情况下,DMA控制器1260没有跟踪主存储单元1120。出于这一目的,CPU总线控制器1130应该期望地将一定的标记应用到要发送到主存储单元1120的写指令上。
如果DMA控制器1260检测到已经用于存储数据的存储访问跟踪存储器1250的存储容量超过预定值时,则DMA控制器1260通过中断的方式,将表示存储容量超过预定值的信号通过路由器1150发送到其自身系统的CPU 1110并且还通过交叉链路I/F 1210发送到另一个系统的CPU 1111。
DMA控制器1260进一步根据DMA传输过程,根据存储在存储访问跟踪存储器1250中的地址/页面信息,将主存储单元1120的相应地址/页面的数据传输到其自身系统的主存储单元1120和另一个系统的主存储单元1121。DMA控制器1260响应软件指令,开始传输相应地址/页面的数据。
现在,将在下面讲述根据图1所示的实施例的容错计算机的操作。以下要讲述的容错计算机的操作是基于当容错计算机开始操作时CPU子系统110、111彼此同步地操作的前提。
如图2所示,在CPU子系统110、111相互同步地操作的同时,假设在步骤201中CPU总线控制器1130、1131检测因CPU总线不一致引起的异步操作。在步骤202中,CPU总线控制器1130将表示CPU总线不一致的信号发送给DMA控制器1260,并且CPU总线控制器1131将表示CPU总线不一致的信号发送给DMA控制器1261,如图3所示。
CPU总线控制器1130、1131还将表示CPU总线不一致的信号发送给用于诊断异步操作是否是由CPU故障引起的硬件和软件实体(图中未示出)。
不过,即使是在异步操作时,CPU总线控制器1130也在不宕机的情况下连续操作CPU 1110,CPU总线控制器1131也在不宕机的情况下连续操作CPU 1111。即使发生异步操作之后的CPU 1110、1111的连续操作也增大了基于软件和硬件实体来确定异步操作是否是由CPU故障引起的可能性。
当DMA控制器1260从CPU总线控制器1130接收表示CPU总线不一致的信号时,在步骤203中DMA控制器1260开始跟踪主存储单元1120。当DMA控制器1261从CPU总线控制器1131接收表示CPU总线不一致的信号时,在步骤203中DMA控制器1261也开始跟踪主存储单元1121。
具体地,基于从CPU总线控制器1130发送到主存储单元1120的写指令,DMA控制器1260将写入数据的主存储单元1120的地址/页面信息存储到存储访问跟踪存储器1250。基于从CPU总线控制器1131发送到主存储单元1121的写指令,DMA控制器1261将写入数据的主存储单元1121的地址/页面信息存储到存储访问跟踪存储器1251。地址/页面信息的存储如图4所示。
之后,在步骤204中,假设DMA控制器1260检测已经用于存储数据的存储访问跟踪存储器1250的存储容量何时超过预定值,并且DMA控制器1261检测已经用于存储数据的存储访问跟踪存储器1251的存储容量何时超过预定值。在步骤206中,DMA控制器1260以中断的方式将表示存储容量超过预定值的信号发送给其自身系统的CPU1110和另一个系统的CPU 1111,并且DMA控制器1261以中断的方式将表示存储容量超过预定值的信号发送给其自身系统的CPU 1111和另一个系统的CPU 1110,如图5所示。
在步骤205中,假设IO访问比较器1230检测来自自身系统的CPU1110的访问的细节和来自另一个系统的CPU 1111的访问的细节何时彼此不一致,或者检测已经用于存储数据的缓冲器1240的存储容量何时超过预定值,并且还假设IO访问比较器1231检测来自自身系统的CPU1111的访问的细节和来自另一个系统的CPU 1110的访问的细节何时彼此不一致,或者检测已经用于存储数据的缓冲器1241的存储容量何时超过预定值。在步骤206中,IO访问比较器1230以中断的方式将表示访问不一致或者缓冲器1240的存储容量超过预定值的信号发送给其自身系统的CPU 1110和另一个系统的CPU 1111,并且IO访问比较器1231以中断的方式将表示访问不一致或者缓冲器1241的存储容量超过预定值的信号发送给其自身系统的CPU 1111和另一个系统的CPU1110,如图6所示。
在步骤202之后花费一段时间来连续地操作CPU 1110、1111,以基于软件和硬件诊断处理来确定异步操作是否是由CPU故障引起的。不过,如上所述,如果识别异步操作的原因需要很长的时间,则存储在主存储单元1120、1121中的数据的不一致增加,使得难以缩短随后要执行的再同步处理。
根据本实施例,在步骤202之后,如果在步骤206中将中断信号发送到CPU 1110、1111,则判断在中断信号之后存储在主存储单元1120、1121中的数据不能根据DMA传输处理通过DMA控制器1260,1261来进行传输。或者说,判断只有在直到在步骤206中发出中断信号的时间段期间存储在主存储单元1120、1121中的数据是根据DMA传输处理进行传输的,并且只在这段时间期间来识别异步操作的原因,之后执行再同步处理。结果,识别异步操作的原因所需的时间段被限制到执行DMA传输处理所需的最小时间段。结果,确保了识别异步操作的原因所需的时间段,并且可以将由确保识别异步操作的原因所需的时间段引起的存储在主存储单元1120、1121中的数据的不一致保持位最小。
在所示的实施例中,在步骤206中DMA控制器1260、1261或IO访问比较器1230、1231将中断信号发送给CPU 1110、1111。不过,即使软件在步骤206中或者在步骤206之前将中断信号发送给CPU1110、1111,随后的操作仍保持与如上所述的操作相同。
当在步骤206中发生中断事件时,开始再同步处理。根据再同步处理,在步骤207中,基于软件和硬件诊断处理,确定异步操作是否是由CPU故障引起的。
如果判断出异步操作不是由CPU 1110、1111中的任一个的故障所引起的,则判断异步操作是由诸如软件错误等次要故障引起的。在步骤208中,DMA控制器1260、1261开始根据软件指令来执行DMA传输处理。
具体地说,DMA控制器1260从存储访问跟踪存储器1250读取地址/页面信息,并且通过CPU总线控制器1130向存储总线控制器1140发出用于从主存储单元1120的相应地址/页面读取数据的读指令。类似地,DMA控制器1261从存储访问跟踪存储器1251读取地址/页面信息,并且通过CPU总线控制器1130向存储总线控制器1140发出用于从主存储单元1120的相应地址/页面读取数据的读指令。地址/页面信息的读取和读指令的发送如图7所示。然后,存储总线控制器1140从主存储单元1120的相应地址/页面读取数据,并且将读数据传输给DMA控制器1260、1261,如图8所示。然后,DMA控制器1260将用于写入从主存储单元1120传来的数据的写指令通过CPU总线控制器1131发送给存储总线控制器1141。类似地,DMA控制器1261将用于写入从主存储单元1120传来的数据的写指令通过CPU总线控制器1131发送给存储总线控制器1141。写指令的发送如图9所示。之后1存储总线控制器1141将数据写入主存储单元1121,因此存储在主存储单元1120、1121中的数据是相互一致的。
即使当将主存储单元1120中所有相应的信息都传输给主存储单元1121时,DMA控制器1260、1261也不停止操作。每一次将数据顺序地写入主存储单元1120时,DMA控制器1260、1261执行将主存储单元1120的相应地址/页面中的数据传输给主存储单元1121的处理。
如果在步骤209中完成了再同步处理的DMA传输阶段,则在步骤210中控制进行到再同步处理的下一个阶段。
如果在步骤207中判断出异步操作是由CPU 1110、1111中的任一个的故障引起的,则在步骤211中通过软件指令在逻辑上断开连接属于故障CPU的系统。之后,在步骤212中控制进行到再同步处理的下一个阶段。
根据本实施例,即使在CPU子系统110、111相互同步地操作的同时检测异步操作,CPU 1110、1111也在不宕机的情况下继续操作。直到在检测到异步操作之后达到一定时间,在没有使得DMA控制器1260、1261根据DMA传输处理来开始传输数据的情况下,才使CPU1110、1111等待。
结果,当检测到异步操作时,可以在开始再同步处理之前确保用于识别硬件或软件上的异步操作的原因所需的时间段。
上面所指的一定时间为当DMA控制器1260、1261或IO访问比较器1230、1231发送中断信号给CPU 1110、1111的时间。中断信号可以替代如下信号,该信号用于向CPU 1110、1111指明在发出中断信号的时间之后存储在主存储单元1120、1121中的数据不能根据DMA传输处理通过DMA控制器1260、1261进行传输。
由于识别异步操作的原因所需的时间可以限制为执行DMA传输处理所需的最小时间,因此可以确保识别异步操作的原因所需的时间,并且可以将由确保识别异步操作的原因所需的时间引起的存储在主存储单元1120、1121中的数据的不一致保持为最小,从而缩短了再同步处理。
根据本实施例,CPU总线控制器1130、1131发送并且接收CPU总线操作信息,以提早直接对用于检测异步操作的CPU总线操作进行比较。
因此,可以在主存储单元中所存储的数据的不一致增加之前提早检测异步操作,从而也缩短了再同步处理。
虽然使用特定术语来讲述了本发明的优选实施例,但是这种讲述只是出于解释目的,可以知道,在不偏离权利要求的精神和范围的情况下可以对其进行修改和变化。
Claims (8)
1.一种容错计算机,包括:
一对双工系统,其具有可相同地以锁步同步操作的各自CPU子系统;
所述双工系统的每一个都包括:
CPU,包括在所述CPU子系统的一个中;
主存储单元,包括在CPU子系统的所述一个中;
CPU总线控制器,用于在所述CPU子系统相互同步操作时,如果检测到异步操作,则在不宕机的情况下连续地操作其自身系统的CPU;
跟踪存储器,用于在所述CPU总线控制器检测到异步操作之后,每一次数据被存储到其自身系统的主存储单元时,都存储关于用于存储其自身系统的主存储单元中的数据的写区域的信息;以及
DMA控制器,用于如果所述CPU总线控制器检测到异步操作,则从检测到异步操作之后一直到达到预定时间为止,都保持DMA传输处理,以将存储在其自身系统或另一个系统的主存储单元中并且其写区域被存储在所述跟踪存储器中的数据传输到另一个系统或其自身系统的主存储单元。
2.如权利要求1所述的容错计算机,其中所述双工系统的每一个进一步包括:
缓冲器,用于暂时存储输入数据,并在其后输出该数据;以及
访问比较器,用于如果对通过所述缓冲器来自其自身系统的CPU的访问细节和来自另一个系统的CPU的访问细节进行相互比较并且检测到相互不一致,以及还如果已经使用的所述缓冲器的存储容量超过了预定值,则发送中断信号给所述CPU;
其中在所述DMA控制器中到达的所述预定时间是当中断信号从所述访问比较器发送到所述CPU时的时间。
3.如权利要求1所述的容错计算机,其中如果已经使用的所述跟踪存储器的存储容量超过了预定值,则所述DMA控制器将中断信号发送给所述CPU,并且在所述DMA控制器中到达的所述预定时间是当中断信号从所述DMA控制器发送到所述CPU时的时间。
4.如权利要求1所述的容错计算机,其中所述CPU总线控制器通过监控其自身系统的CPU总线的操作状态、将表示监控的操作状态的CPU总线操作信息发送给另一个系统的CPU总线控制器、并且对其自身系统的CPU总线操作信息和另一个系统的CPU总线操作信息进行相互比较,来检测异步操作。
5.一种控制具有一对双工系统的容错计算机的方法,每一个双工系统都具有每一个都包括CPU和主存储单元的各自CPU子系统,所述CPU子系统可相同地以锁步同步操作,该方法包括如下步骤:
a)在所述双工系统的每一个中,在所述CPU子系统相互同步地操作时,如果检测到异步操作,则在不宕机的情况下连续地操作其自身系统的CPU;
b)在所述双工系统的每一个中,在检测到异步操作之后,每一次数据被存储到其自身系统的主存储单元时,在跟踪存储器中存储有关用于存储其自身系统的主存储单元中的数据的写区域的信息;以及
c)在所述双工系统的每一个中,如果检测到异步操作,则从检测到异步操作之后一直到达到预定时间为止,都保持DMA传输处理,以将存储在其自身系统或另一个系统的主存储单元中并且其写区域被存储在所述跟踪存储器中的数据传输到另一个系统或其自身系统的主存储单元。
6.如权利要求5所述的方法,进一步包括如下步骤:
在所述双工系统的每一个中,如果对通过缓冲器来自其自身系统的CPU的访问细节和来自另一个系统的CPU的访问细节进行相互比较并且检测到相互不一致,以及还如果已经使用的所述缓冲器的存储容量超过了预定值,则发送中断信号给所述CPU;
其中,在所述步骤c)中,所述预定时间是当将中断信号发送到所述CPU时的时间。
7.如权利要求5所述的方法,进一步包括如下步骤:
在所述双工系统的每一个中,如果已经使用的所述跟踪存储器的存储容量超过了预定值,则发送中断信号给所述CPU;
其中,在所述步骤c)中,所述预定时间是当将中断信号发送到所述CPU时的时间。
8.如权利要求5所述的方法,其中所述步骤a)包括以下步骤:在所述双工系统的每一个中,监控其自身系统的CPU总线的操作状态,将表示监控的操作状态的CPU总线操作信息发送给另一个系统,并且对其自身系统的CPU总线操作信息和另一个系统的CPU总线操作信息进行相互比较。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004369545A JP2006178636A (ja) | 2004-12-21 | 2004-12-21 | フォールトトレラントコンピュータ、およびその制御方法 |
JP2004369545 | 2004-12-21 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1794196A true CN1794196A (zh) | 2006-06-28 |
Family
ID=36084310
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200510022913.4A Pending CN1794196A (zh) | 2004-12-21 | 2005-12-21 | 确保用于识别容错计算机中的异步原因的时间 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7500139B2 (zh) |
EP (1) | EP1675002A1 (zh) |
JP (1) | JP2006178636A (zh) |
CN (1) | CN1794196A (zh) |
AU (1) | AU2005246938A1 (zh) |
CA (1) | CA2530018A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104798059A (zh) * | 2012-12-20 | 2015-07-22 | 英特尔公司 | 在检查点外部处理写入数据的多个计算机系统 |
CN107111631A (zh) * | 2014-08-29 | 2017-08-29 | Netapp股份有限公司 | 粒度同步/半同步架构 |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3774826B2 (ja) * | 2002-07-11 | 2006-05-17 | 日本電気株式会社 | 情報処理装置 |
ATE420403T1 (de) * | 2004-10-25 | 2009-01-15 | Bosch Gmbh Robert | Verfahren und vorrichtung zur modusumschaltung und zum signalvergleich bei einem rechnersystem mit wenigstens zwei verarbeitungseinheiten |
KR20060066783A (ko) * | 2004-12-14 | 2006-06-19 | 엘지노텔 주식회사 | 디엠에이를 이용한 이중화시스템의 데이터전송장치 및 그제어방법 |
JP4182948B2 (ja) * | 2004-12-21 | 2008-11-19 | 日本電気株式会社 | フォールト・トレラント・コンピュータシステムと、そのための割り込み制御方法 |
US7496786B2 (en) * | 2006-01-10 | 2009-02-24 | Stratus Technologies Bermuda Ltd. | Systems and methods for maintaining lock step operation |
JP5013309B2 (ja) * | 2006-08-18 | 2012-08-29 | 日本電気株式会社 | フォールトトレラントコンピュータ、そのトランザクション同期制御方法 |
US7669080B2 (en) * | 2007-08-16 | 2010-02-23 | International Business Machines Corporation | Reducing likelihood of data loss during failovers in high-availability systems |
CN103443774A (zh) * | 2007-09-25 | 2013-12-11 | 富士通株式会社 | 信息处理装置和控制方法 |
JP2009098988A (ja) * | 2007-10-18 | 2009-05-07 | Nec Computertechno Ltd | フォルトトレラントコンピュータシステム |
US8468500B2 (en) * | 2007-12-12 | 2013-06-18 | Nec Corporation | Program debugging method and program transformation method, program debugging device and program transformation device using the same, and storage medium |
JP5380978B2 (ja) * | 2008-09-26 | 2014-01-08 | 富士通株式会社 | 伝送装置、伝送装置の制御方法および伝送装置の制御プログラム |
WO2010103562A1 (ja) * | 2009-03-09 | 2010-09-16 | 富士通株式会社 | 情報処理装置、情報処理装置の制御方法、及び情報処理装置の制御プログラム |
JP5556086B2 (ja) * | 2009-08-25 | 2014-07-23 | 日本電気株式会社 | 二重化システム、及び、二重化方法 |
JP6197585B2 (ja) | 2013-11-01 | 2017-09-20 | 富士通株式会社 | 情報処理装置、及び、情報処理装置の制御方法 |
Family Cites Families (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4541094A (en) * | 1983-03-21 | 1985-09-10 | Sequoia Systems, Inc. | Self-checking computer circuitry |
US4757442A (en) * | 1985-06-17 | 1988-07-12 | Nec Corporation | Re-synchronization system using common memory bus to transfer restart data from non-faulty processor to failed processor |
US4979108A (en) * | 1985-12-20 | 1990-12-18 | Ag Communication Systems Corporation | Task synchronization arrangement and method for remote duplex processors |
EP0306244B1 (en) * | 1987-09-04 | 1995-06-21 | Digital Equipment Corporation | Fault tolerant computer system with fault isolation |
US5204952A (en) * | 1988-07-18 | 1993-04-20 | Northern Telecom Limited | Duplex processor arrangement for a switching system |
JPH02287858A (ja) * | 1989-04-28 | 1990-11-27 | Toshiba Corp | 分散処理システムのリスタート方式 |
US5226152A (en) * | 1990-12-07 | 1993-07-06 | Motorola, Inc. | Functional lockstep arrangement for redundant processors |
JP2879480B2 (ja) | 1991-05-07 | 1999-04-05 | 株式会社山武 | 冗長計算機システムの同期外れ時の切替方式 |
JPH05128080A (ja) * | 1991-10-14 | 1993-05-25 | Mitsubishi Electric Corp | 情報処理装置 |
EP0550286A3 (en) * | 1992-01-03 | 1993-11-03 | Amdahl Corp | 2-level multi-processor synchronization protocol |
US5398331A (en) * | 1992-07-08 | 1995-03-14 | International Business Machines Corporation | Shared storage controller for dual copy shared data |
DE69325769T2 (de) * | 1992-11-04 | 2000-03-23 | Digital Equipment Corp | Erkennung von Befehlssynchronisationsfehlern |
US5790776A (en) * | 1992-12-17 | 1998-08-04 | Tandem Computers Incorporated | Apparatus for detecting divergence between a pair of duplexed, synchronized processor elements |
US5539345A (en) * | 1992-12-30 | 1996-07-23 | Digital Equipment Corporation | Phase detector apparatus |
DE69435090T2 (de) * | 1993-12-01 | 2009-06-10 | Marathon Technologies Corp., Stow | Rechnersystem mit Steuereinheiten und Rechnerelementen |
JPH08190494A (ja) | 1995-01-11 | 1996-07-23 | Hitachi Ltd | 二重化処理装置を有する高信頼化コンピュータ |
JP3132744B2 (ja) * | 1995-05-24 | 2001-02-05 | 株式会社日立製作所 | 二重化cpu保守交換時の動作一致検証方式 |
FR2737029B1 (fr) * | 1995-07-19 | 1997-09-26 | Sextant Avionique | Dispositif d'interface entre un calculateur a architecture redondante et un moyen de communication |
JP3247043B2 (ja) * | 1996-01-12 | 2002-01-15 | 株式会社日立製作所 | 内部信号で障害検出を行う情報処理システムおよび論理lsi |
US5799022A (en) | 1996-07-01 | 1998-08-25 | Sun Microsystems, Inc. | Faulty module location in a fault tolerant computer system |
US5953742A (en) * | 1996-07-01 | 1999-09-14 | Sun Microsystems, Inc. | Memory management in fault tolerant computer systems utilizing a first and second recording mechanism and a reintegration mechanism |
KR0175742B1 (ko) * | 1996-10-05 | 1999-05-15 | 한국전자통신연구원 | 이중화 시스템에서 동작 분리 고속 데이타 전송장치 |
US6260159B1 (en) * | 1998-06-15 | 2001-07-10 | Sun Microsystems, Inc. | Tracking memory page modification in a bridge for a multi-processor system |
DE19832060C2 (de) * | 1998-07-16 | 2000-07-06 | Siemens Ag | Doppelbare Prozessoreinrichtung |
US6393582B1 (en) * | 1998-12-10 | 2002-05-21 | Compaq Computer Corporation | Error self-checking and recovery using lock-step processor pair architecture |
US6327670B1 (en) * | 1999-01-22 | 2001-12-04 | Lucent Technologies Inc. | Duplex processor with an update bus and method for operating the update bus |
US6625749B1 (en) * | 1999-12-21 | 2003-09-23 | Intel Corporation | Firmware mechanism for correcting soft errors |
US6975629B2 (en) * | 2000-03-22 | 2005-12-13 | Texas Instruments Incorporated | Processing packets based on deadline intervals |
US6687851B1 (en) * | 2000-04-13 | 2004-02-03 | Stratus Technologies Bermuda Ltd. | Method and system for upgrading fault-tolerant systems |
US6643796B1 (en) * | 2000-05-18 | 2003-11-04 | International Business Machines Corporation | Method and apparatus for providing cooperative fault recovery between a processor and a service processor |
EP1317712A1 (en) * | 2000-09-06 | 2003-06-11 | Koninklijke Philips Electronics N.V. | Inter-processor communication system |
GB2369691B (en) * | 2000-11-29 | 2003-06-04 | Sun Microsystems Inc | Control logic for memory modification tracking |
GB2369692B (en) * | 2000-11-29 | 2002-10-16 | Sun Microsystems Inc | Processor state reintegration |
US7017073B2 (en) * | 2001-02-28 | 2006-03-21 | International Business Machines Corporation | Method and apparatus for fault-tolerance via dual thread crosschecking |
US6925512B2 (en) * | 2001-10-15 | 2005-08-02 | Intel Corporation | Communication between two embedded processors |
GB2390442B (en) * | 2002-03-19 | 2004-08-25 | Sun Microsystems Inc | Fault tolerant computer system |
US6948091B2 (en) * | 2002-05-02 | 2005-09-20 | Honeywell International Inc. | High integrity recovery from multi-bit data failures |
US7155721B2 (en) * | 2002-06-28 | 2006-12-26 | Hewlett-Packard Development Company, L.P. | Method and apparatus for communicating information between lock stepped processors |
JP2004046455A (ja) * | 2002-07-10 | 2004-02-12 | Nec Corp | 情報処理装置 |
JP3774826B2 (ja) * | 2002-07-11 | 2006-05-17 | 日本電気株式会社 | 情報処理装置 |
JP3982353B2 (ja) * | 2002-07-12 | 2007-09-26 | 日本電気株式会社 | フォルトトレラントコンピュータ装置、その再同期化方法及び再同期化プログラム |
JP2004046599A (ja) * | 2002-07-12 | 2004-02-12 | Nec Corp | フォルトトレラントコンピュータ装置、その再同期化方法及び再同期化プログラム |
US7178058B2 (en) * | 2002-08-30 | 2007-02-13 | Nec Corporation | Fault tolerant computer and transaction synchronization control method |
JP3821806B2 (ja) | 2002-08-30 | 2006-09-13 | エヌイーシーコンピュータテクノ株式会社 | フォールトトレラントコンピュータ、そのトランザクション同期制御方法及びプログラム |
EP1398701A1 (de) * | 2002-09-12 | 2004-03-17 | Siemens Aktiengesellschaft | Verfahren zur Ereignissynchronisation, insbesondere für Prozessoren fehlertoleranter Systeme |
US7055060B2 (en) * | 2002-12-19 | 2006-05-30 | Intel Corporation | On-die mechanism for high-reliability processor |
US7111196B2 (en) * | 2003-05-12 | 2006-09-19 | International Business Machines Corporation | System and method for providing processor recovery in a multi-core system |
JP4023441B2 (ja) * | 2003-12-09 | 2007-12-19 | 日本電気株式会社 | コンピュータシステム及びプログラム |
US20060020852A1 (en) * | 2004-03-30 | 2006-01-26 | Bernick David L | Method and system of servicing asynchronous interrupts in multiple processors executing a user program |
US7237144B2 (en) * | 2004-04-06 | 2007-06-26 | Hewlett-Packard Development Company, L.P. | Off-chip lockstep checking |
US7290169B2 (en) * | 2004-04-06 | 2007-10-30 | Hewlett-Packard Development Company, L.P. | Core-level processor lockstepping |
US7296181B2 (en) * | 2004-04-06 | 2007-11-13 | Hewlett-Packard Development Company, L.P. | Lockstep error signaling |
-
2004
- 2004-12-21 JP JP2004369545A patent/JP2006178636A/ja active Pending
-
2005
- 2005-12-13 CA CA002530018A patent/CA2530018A1/en not_active Abandoned
- 2005-12-19 EP EP05027815A patent/EP1675002A1/en not_active Withdrawn
- 2005-12-19 US US11/311,607 patent/US7500139B2/en not_active Expired - Fee Related
- 2005-12-20 AU AU2005246938A patent/AU2005246938A1/en not_active Abandoned
- 2005-12-21 CN CN200510022913.4A patent/CN1794196A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104798059A (zh) * | 2012-12-20 | 2015-07-22 | 英特尔公司 | 在检查点外部处理写入数据的多个计算机系统 |
US9983953B2 (en) | 2012-12-20 | 2018-05-29 | Intel Corporation | Multiple computer system processing write data outside of checkpointing |
CN104798059B (zh) * | 2012-12-20 | 2020-04-07 | 英特尔公司 | 在检查点外部处理写入数据的多个计算机系统 |
CN107111631A (zh) * | 2014-08-29 | 2017-08-29 | Netapp股份有限公司 | 粒度同步/半同步架构 |
CN107111631B (zh) * | 2014-08-29 | 2021-06-08 | Netapp股份有限公司 | 粒度同步/半同步架构 |
Also Published As
Publication number | Publication date |
---|---|
EP1675002A1 (en) | 2006-06-28 |
AU2005246938A1 (en) | 2006-07-06 |
JP2006178636A (ja) | 2006-07-06 |
US20060150006A1 (en) | 2006-07-06 |
US7500139B2 (en) | 2009-03-03 |
CA2530018A1 (en) | 2006-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1794196A (zh) | 确保用于识别容错计算机中的异步原因的时间 | |
CN1326042C (zh) | 容错计算机系统及其再同步方法和再同步程序 | |
CN1213376C (zh) | 用于被复制的服务器的协议 | |
CN1790285A (zh) | 容错计算机系统及其同步方法 | |
CN101034470A (zh) | 指令解析器以及图形处理单元及其方法 | |
US20170116071A1 (en) | Multiple reset modes for a pci host bridge | |
JP2006178616A (ja) | フォールトトレラントシステム、これで用いる制御装置、動作方法、及び動作プログラム | |
US8656251B2 (en) | Simultaneous data transfer and error control to reduce latency and improve throughput to a host | |
CN1949129A (zh) | 时间同步方法及装置 | |
CN1725180A (zh) | 对可编程逻辑器件在线升级的方法及装置 | |
CN1821986A (zh) | 控制装置、信息处理装置以及数据传输方法 | |
JP4098987B2 (ja) | インターフェース変換システム及びデータ転送方法 | |
US20120079338A1 (en) | Memory system capable of increasing data transfer efficiency | |
JP7125602B2 (ja) | データ処理装置および診断方法 | |
CN102521086B (zh) | 基于锁步同步的双模冗余系统及其实现方法 | |
JP2009169854A (ja) | コンピュータシステム、障害処理方法および障害処理プログラム | |
CN1472649A (zh) | 信息处理设备 | |
JP2012133456A (ja) | ストレージ装置及びストレージ装置の制御方法 | |
JP5440673B1 (ja) | プログラマブルロジックデバイス、情報処理装置、被疑箇所指摘方法およびプログラム | |
CN1278204C (zh) | 电源管理状态控制方法 | |
CN1343054A (zh) | 用于设备间通信的系统与方法 | |
CN109343986B (zh) | 处理内存故障的方法与计算机系统 | |
US20230064905A1 (en) | Semiconductor device | |
JP2001175545A (ja) | サーバシステムおよび障害診断方法ならびに記録媒体 | |
US7584271B2 (en) | Method, system, and computer readable medium for delaying the configuration of a shared resource |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |