CN1294708A - 用于安全容错计算机的同步和/或数据交换方法及适用于此的装置 - Google Patents

用于安全容错计算机的同步和/或数据交换方法及适用于此的装置 Download PDF

Info

Publication number
CN1294708A
CN1294708A CN99804296A CN99804296A CN1294708A CN 1294708 A CN1294708 A CN 1294708A CN 99804296 A CN99804296 A CN 99804296A CN 99804296 A CN99804296 A CN 99804296A CN 1294708 A CN1294708 A CN 1294708A
Authority
CN
China
Prior art keywords
computer access
data
computer
memory block
access
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
Application number
CN99804296A
Other languages
English (en)
Inventor
弗里德里克·施梅贝克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Publication of CN1294708A publication Critical patent/CN1294708A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • G06F11/1683Temporal synchronisation or re-synchronisation of redundant processing components at instruction level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/182Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits based on mutual exchange of the output between redundant processing components

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)
  • Multi Processors (AREA)

Abstract

本发明涉及一种用于安全容错式计算机的同步和/或数据交换方法,其中,在多个平行工作的各计算机之间的同步或数据交换可借助于中断信号并在使用标准部件的条件下实现,本发明还涉及一种实施此方法的装置。本发明实现下列方法步骤:-将存储区(Z1、…、Zn)分配给计算机通道(R1、…、Rn)-在每个计算机通道内识别至少一个同步和/或数据交换点并分配一个附属的单元地址,-在到达一个同步和/或数据交换点时通过至少一个计算机通道(R1、…、Rn)输出一个中断信号,-在分配给该计算机通道(R1、…、Rn)的存储单元(Zp1、…、Zpn)内写入事件的顺序编号和事件的数据内容,-检验其他计算机通道(R)的存储单元(Zp)中是否收到一致的事件编号,-读所有计算机通道(R1、…、Rn)的存储单元(Zp)、互相对比并作出判断,-根据判断结果继续计算机通道(R1、…、Rn)的程序流程和/或触发报警。存储区(Z1、…、Zn)可被所有的计算机通道(R1、…、Rn)读,但只能被所配属的那个计算机通道(R)写。

Description

用于安全容错计算机的同步和/或数据 交换方法及适用于此的装置
本发明涉及一种在有至少两个平行工作的计算机通道的多计算机系统中的安全容错计算机的同步和/或数据交换方法,这些计算机通道至少通过相互对比一致性检验其结果并在其程序流程内发出用于结果对比的中断信号,以及本发明还涉及一种实施此方法的装置。
在完成控制或调整任务时,为保证安全性和提高容错能力采用多计算机系统。在系统的各计算机中运行在其执行时同步化的程序,在这种情况下在同步点对比或用其他适用的方式检验程序的结果或中间结果。为此原则上有两种已知的方案,即硬件同步和软件同步。
在硬件同步的方法中,通过计算机上的附加逻辑实现计算机紧密耦合,这种耦合使时钟脉冲或指令同步或路径相同。
DE-AS 2413401说明了用于三台计算机同步化的装置,其中使用了延迟元件,它们顾及慢速计算机的处理时间。但在这种系统中不能识别一台计算机出错,因为程序继续运行的决定下降为“三分之二”多数的决定。
在例如由DE-AS 2155159中说明的另一种已知系统中使用了一种特殊的逻辑元件,它们分析专用的脉冲并产生相应的信号用于进一步设计计算机功能流程。例如通过将一个同步信号输送给一条所有计算机公用的线路并通过一逻辑元件保证在各计算机内部到达规定的计数位置,导致多台计算器的计数器同步。在这里目标位置仍针对在系统内产生冗余,因为对于保持控制系统的功能流程而言,三台计算机中有两台的对比结果就够了。计算机出错并非规格化的。在这里所提及的例子中,判定计算机同步借助于硬件的方案达到,这些方案的缺点是需要特殊结构类型的计算机,因此阻碍或难以使用能买到的CPU印刷电路板作为计算机和市场上常用的操作系统。
在软件同步的方法中,计算机的松散耦合借助于计算机之间通过通信通道的程序控制数据交换达到。同步的任务一开始就制订在程序内,不在外部亦即不是在程序之外处理。
这些方案原则上允许使用可买到的计算机部件和同样允许使用可买到的市场上通用的操作系统。然而,由此构成的安全或容错计算机的计算能力不能令人满意,因为对于为同步所必要的结果对比必需消耗大部分可供利用的时间,因此减少了用于真正的控制任务的时间部分。
DE-OS 3431169介绍了这样一种方案,其中由多台计算机,尤其是具有内部时钟的微型计算机逐段处理输入信息并比较中间结果。对计算机同步性的比较通过程序生成的中断信号触发。最快速的计算机作为先行者将中断信号发送给其他计算机并等待下一个程序步骤的进一步引导,直至其他计算机自身发送出中断信号为止。计算机下一个程序步骤的起动要在最后一个中断信号输入和处理后才进行。
本发明的目的在于创造一种方法和一种装置,借助于它们可以缩短多计算机系统运行时所必需的用于同步或数据交换的例行程序,并因而在改善安全性和可靠性的条件下提高容错计算机的功效。
按本发明此目的通过权利要求1和7特征部分所述特征与有关前序部分所述特征配合作用达到。在从属权利要求中含有本发明有利和合乎目的的设计。
容错计算机系统内相连的各计算机在下面称为计算机通道。本发明突出的优点在于,通过按本发明的布局,尤其通过为各计算机通道直接提供可编址存储单元的存储区,允许在采用标准工业计算机的情况下在规定的程序位置实施灵活及快速的用于同步对比和/或数据交换的方案,其中执行下列方法步骤:-为计算机通道(R1、…、Rn)分配至少一块计算机外部耦合板K的存储区(Z1、…、Zn),-在每个计算机通道(R1、…、Rn)的程序流程内识别至少一个同步和/或数据交换点并分配一个附属的单元地址,-在到达一个同步和/或数据交换点时通过每个计算机通道(R1、…、Rn)输出一个中断信号,-在耦合板(K)的通过单元地址予以标示并分配给该计算机通道(R1、…、Rn)的存储单元(Zp1、…、Zpn)内,写入事件的顺序编号和事件的数据内容,-检验计算机通道(R)相应的存储单元(Zp)中是否有相一致的事件编号,-读所有计算机通道(R1、…、Rn)的存储单元(Zp)、互相对比并作出判断,-根据判断结果继续计算机通道(R1、…、Rn)的程序流程和/或触发报警。
本发明的装置可毫无困难地组合在已有的标准计算机内,其中,计算机通道(R1、…、Rn)与至少一块耦合板(K1、…、Kn)连接,耦合板(K1、…、Kn)分成n个存储区(Z1、…、Zn),而每个存储区(Z1、…、Zn)再分为至少n个可编址存储单元(Zp1、…、Zpn),以及每个存储区(Z1、…、Zn)分配给各一个计算机通道(R、…、Rn),而存储区(Z1、…、Zn)为了事件对比可被所有的计算机通道(R1、…、Rn)读,但只能被所配属的那个计算机通道(R)写。
下面借助于至少在图中部分示出的实施例进一步说明本发明,附图中:
图1是计算机通道、存储区和存储单元配合作用的概要图;
图2示出具有一用于所有计算机通道的公共耦合板的布局;
图3示出每个计算机通道各有一耦合板的布局。
用于同步或用于数据交换的装置将计算机通道R通过一根内部CPU总线或一根外部总线(PCI、ISA、VME等)与一耦合板K连接。
如图1所示,在耦合板K上存在n个存储区Z,它们分别分配给n个计算机通道R之一。这些存储区Z例如通过一双端口RAM实现,它们各由一定数量可编址存储单元Zp组成,存储单元则可写入不同的信息并可从存储单元中读出信息。按照一种优选的实施例,一种可能的配置是,将存储区Z1分配给计算机通道R1,将存储区Z2分配给计算机通道R2等,一直到将存储区Zn分配给计算机通道Rn。
按本发明,每个计算机通道R可以在分配给自己的存储区Z上读和写。其他一些计算机通道R的存储区Z只能被“外来的”计算机通道R读。由此可避免存储区Z的内容由于不合法的计算机通道R被存取而被改变。存储区内容的改变只能通过分属于它的计算机通道R的过程变化才能实现。在一个完整的存储单元Zp上的存取就计算机通道R的并行性而言是原生的。这意味着,当一个计算机通道R写一个存储单元Zp和另一个计算机通道R读此同一个存储单元Zp时,被读出的数据要么是写之前要么是写之后的数据,但决非混合的数据。每个计算机通道R可例如通过一总线系统存在的数据传输线在其他的计算机通道R上触发一次中断,在这种情况下每个计算机通道R可以暂时或永久取消其本身被中断的可能性。
每个存储单元Zp识别一个与每个计算机通道R同时存在的同步和/或数据交换点。每个计算机通道R知道所使用的单元地址,为此所使用的单元地址要么被共同分配,要么借助恰当的软件或硬件在计算机通道R之间议定。此存储单元Zp由一个在此运行时间为单值的标识(例如存储单元Zp1表示同步和/或数据交换点1等)以及有待交换的信息或有待同步化或有待判断的信息的文件地址信息占据。
对于按本发明的方法,计算机通道R的程序包括一些程序段,借助于它们可进行功能测试,看计算机通道R是否同步或存在规定的数据。若在平行的计算机通道R中运行的过程到达一个同步和/或数据交换点(或在平行的计算机通道R中通过在那里所运行的过程产生了要同步化的信息)时,进行下列操作:
已首先到达其程序段内的同步和/或数据交换点的第一个计算机通道R1,根据程序设计调用功能序列,尤其是同步程序。在耦合板K所配予的存储区内,在所约定的存储单元Zp内写入事件的顺序编号和事件的数据内容或与此数据内容相对应的文件地址。
然后检验是否在其他计算机通道R的存储区Z所属的存储单元Zp内写入了相同编号的事件。若此信息是否定的,亦即其他一些计算机通道R尚未到达同步和/或数据交换点,则第一个计算机通道R1进入等待循环或缓冲此信息。
若其他计算机通道R存在此信息,即它们到达了在其程序段内的同步和/或数据交换点,则给其他计算机通道R发送一巡更中断指令,在这之后所有的计算机通道读分配给它自己的存储器区Z的存储单元Zp1至Zpn以及其他计算机通道R存储器区Z的存储单元Zp、与自己的结果对比并作出判断。期待结果是完全一致或符合安全和容错要求地基本一致。
视计算机通道R存储单元Zp的对比结果,开始下一个程序段或转发此信息或触发安全报警信号。禁止计算机通道R中断,直至在程序段中所设置的下一个同步和/或数据交换点的时刻为止。此外,可例如用这样的信息来描述一个规定的存储单元Zp的状态,即,下一个程序段有效,但尚未同步化。
除了所说明的方法外还可以进行信息交换,无需实现同步。此外可以在计算机通道R上平行地或在时间上分开地执行存储器检测程序,在这种情况下计算机通道R借助于一符号交换并相互监控检测结果。
图2用方块图表示一种布局,其中为所有的计算机通道R1至Rn设公共的耦合板K。为了在同步或数据交换的情况下传输数据,每个计算机通道Rl至Rn分别通过其总线系统和各自的总线衔接器BA1至BAn直接与一公共的耦合板K连接。在这种情况下,此耦合板K含有用于所有计算机通道R1至Rn的存储区。借助于图3中的方块图表示每一个计算机通道R与配属于它的耦合板K的布局。在这种方案中,每个计算机通道R1至Rn连接一块耦合板K1至Kn,它们分别含有用于所有计算机通道R的存储区Z1至Zn。因此,存储区Z存在冗余。耦合板K1至Kn互相连接,并借助适当的复制机理实现在耦合板K1至Kn内数据的相同性。
作为另一种实施例,复制机理可以在时间上延迟地进行,换句话说,首先将第一个计算机通道R1的数据写在自己的耦合板K内,然后将这些数据传输给其他的n块耦合板K。耦合板K1至Kn之间的连接用恰当的方式实现(例如一块与一块连接或按一根或多根通信总线的方式连接)。
本发明不限于在这里所表示的实施例。相反,可以通过组合和修改上述装置和特征实现其他的实施方案,与此同时不背离本发明的范围。

Claims (9)

1.一种用于多计算机系统内的安全容错式计算机的同步和/或数据交换方法,该系统具有至少两个平行工作的计算机通道,它们至少通过相互对比一致性检验其结果并在其程序流程内发出用于结果对比的中断信号,其特征在于下列处理步骤:-为计算机通道(R1、…、Rn)分配至少一块计算机外部耦合板(K)的存储区(Z1、…、Zn),-在每个计算机通道(R1、…、Rn)的程序流程内识别至少一个同步和/或数据交换点并分配一个附属的单元地址,-在到达一个同步和/或数据交换点时通过每个计算机通道(R1、…、Rn)输出一个中断信号,-在耦合板(K)分配给该计算机通道(R1、…、Rn)通过单元地址表征的存储单元(Zp1、…、Zpn)内,写入事件的顺序编号和事件的数据内容,-检验计算机通道(R)相应的存储单元(Zp)中是否有相一致的事件编号,-读所有计算机通道(R1、…、Rn)的存储单元(Zp)、互相对比并作出判断,-根据判断结果继续计算机通道(R1、…、Rn)的程序流程和/或触发报警。
2.按照权利要求1所述的同步和/或数据交换方法,其特征在于:在每个存储单元(Zp)的存取初生地(atomar)进行,即读出的数据或是写之前的数据或是写之后的数据,但决不是混合的数据。
3.按照权利要求1所述的同步和/或数据交换方法,其特征在于:每个计算机通道(R)具有暂时或永久取消其本身被中断的可能性。
4.按照权利要求1或2所述的同步和/或数据交换方法,其特征在于:每个计算机通道(R)在分配给自己的存储区(2)上读和写地存取,而在其他计算机通道(R)的存储区(Z)上只读。
5.按照权利要求1所述的同步和/或数据交换方法,其特征在于:除用于同步的程序流程外,信息交换不同步地进行。
6.按照权利要求1或5所述的同步和/或数据交换方法,其特征在于:存储器校验程序的流程在计算机通道(R)上与同步和/或数据交换程序流程平行地或在时间上分开地执行,此时计算机通道(R)借助于一个标记交换和监控校验结果。
7.一种在有至少两个平行工作的计算机通道的多计算机系统内用于同步和/或用于数据交换的装置,计算机通道至少通过相互对比一致性检验其结果并在其程序流程内发出用于对比结果的中断信号,其特征在于:计算机通道(R1、…、Rn)与至少一块耦合板(K1、…、Kn)连接,耦合板(K1、…、Kn)分成n个存储区(Z1、…、Zn)且每个存储区(Z1、…、Zn)再分为至少n个可编址存储单元(Zp1、…、Zpn),以及每个存储区(Z1、…、Zn)分配给各个计算机通道(R1、…、Rn),而存储区(Z1、…、Zn)为了事件对比可被所有的计算机通道(R1、…、Rn)读,但只能被所配属的那个计算机通道(R)写。
8.按照权利要求7所述的装置,其特征在于:所述耦合板(K1、…、Kn)是无源耦合板。
9.按照权利要求7所述的装置,其特征在于:计算机通道(R1、…、Rn)是具有标准CPU印刷电路板的标准工业计算机。
CN99804296A 1998-02-25 1999-02-17 用于安全容错计算机的同步和/或数据交换方法及适用于此的装置 Pending CN1294708A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE19809089A DE19809089A1 (de) 1998-02-25 1998-02-25 Synchronisations- und/oder Datenaustauschverfahren für sichere, hochverfügbare Rechner und hierzu geeignete Einrichtung
DE19809089.7 1998-02-25

Publications (1)

Publication Number Publication Date
CN1294708A true CN1294708A (zh) 2001-05-09

Family

ID=7859591

Family Applications (1)

Application Number Title Priority Date Filing Date
CN99804296A Pending CN1294708A (zh) 1998-02-25 1999-02-17 用于安全容错计算机的同步和/或数据交换方法及适用于此的装置

Country Status (9)

Country Link
EP (1) EP1057109B1 (zh)
CN (1) CN1294708A (zh)
AT (1) ATE208922T1 (zh)
AU (1) AU750613B2 (zh)
DE (2) DE19809089A1 (zh)
DK (1) DK1057109T3 (zh)
ES (1) ES2168860T3 (zh)
PL (1) PL342601A1 (zh)
WO (1) WO1999044135A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1328672C (zh) * 2002-10-30 2007-07-25 松下电器产业株式会社 设备间数据交换系统及所用设备、交换结束数据管理装置及方法
CN100361096C (zh) * 2004-12-03 2008-01-09 阿尔卡特公司 交叉比较系统和方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10133652A1 (de) * 2001-07-11 2003-01-30 Siemens Ag Zentraleinheit für ein redundantes Automatisierungssystem
EP1812855B1 (de) * 2004-10-25 2009-01-07 Robert Bosch Gmbh Verfahren und vorrichtung zur modusumschaltung und zum signalvergleich bei einem rechnersystem mit wenigstens zwei verarbeitungseinheiten
WO2008120352A1 (ja) * 2007-03-29 2008-10-09 Fujitsu Limited 情報処理装置、エラー処理方法
FR2925191B1 (fr) * 2007-12-14 2010-03-05 Thales Sa Architecture de traitement numerique a haute integrite a multiples ressources supervisees

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2513409A1 (fr) * 1981-09-22 1983-03-25 Alsthom Cgee Procede de synchronisation de deux microprocesseurs
CH675781A5 (zh) * 1987-04-16 1990-10-31 Bbc Brown Boveri & Cie
US5226152A (en) * 1990-12-07 1993-07-06 Motorola, Inc. Functional lockstep arrangement for redundant processors
DE4219005A1 (de) * 1992-06-10 1993-12-16 Siemens Ag Rechnersystem

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1328672C (zh) * 2002-10-30 2007-07-25 松下电器产业株式会社 设备间数据交换系统及所用设备、交换结束数据管理装置及方法
CN100361096C (zh) * 2004-12-03 2008-01-09 阿尔卡特公司 交叉比较系统和方法

Also Published As

Publication number Publication date
AU750613B2 (en) 2002-07-25
ES2168860T3 (es) 2002-06-16
EP1057109B1 (de) 2001-11-14
DE19809089A1 (de) 1999-08-26
ATE208922T1 (de) 2001-11-15
EP1057109A1 (de) 2000-12-06
PL342601A1 (en) 2001-06-18
AU3407099A (en) 1999-09-15
DE59900434D1 (de) 2001-12-20
WO1999044135A1 (de) 1999-09-02
DK1057109T3 (da) 2002-03-11

Similar Documents

Publication Publication Date Title
CA1259415A (en) High level self-checking intelligent i/o controller
US5799022A (en) Faulty module location in a fault tolerant computer system
US5423024A (en) Fault tolerant processing section with dynamically reconfigurable voting
US5297277A (en) Apparatus for monitoring data transfers of an oemi channel interface
GB1108540A (en) Process back-up system
CN101667152A (zh) 计算机系统及计算机系统的总线监控方法
CN100395715C (zh) 微型计算机的逻辑开发装置
CN1294708A (zh) 用于安全容错计算机的同步和/或数据交换方法及适用于此的装置
CN101359187B (zh) 一种光刻机同步触发在线诊断方法及系统
CN114579392A (zh) 用于写事务的axi总线监视器
US4320450A (en) Protection apparatus for multiple processor systems
US6757762B1 (en) Multi-mode processor bus bridge
EP0596410B1 (en) Detection of command synchronisation error
CN100432946C (zh) 一种实现保护倒换控制的装置与方法
US5734845A (en) Bus arbiter provided in a multi-processor system
RU2054710C1 (ru) Многопроцессорная управляющая система
SU1327116A2 (ru) Устройство дл сопр жени
EP0393173B1 (en) Data bus enable verification logic
SU525095A1 (ru) Устройство дл управлени каналами св зи вычислительной системы
SU881724A1 (ru) Устройство дл ввода за вок от абонента в электронную вычислительную машину
JPS6247759A (ja) 自動回線トレ−ス処理方式
SU752342A1 (ru) Мультипроцессорна вычислительна система
CN114816896A (zh) Axi总线监视器及其电子系统
CA2073151A1 (en) Method of and apparatus for detecting internal faults in information processing systems by pipeline processing
SU1425697A1 (ru) Устройство дл сопр жени вычислительных машин

Legal Events

Date Code Title Description
BB1A Publication of application
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
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1063889

Country of ref document: HK