使用直接存储器存取的双工容错系统和方法

文档序号:6651307阅读:183来源:国知局
专利名称:使用直接存储器存取的双工容错系统和方法
技术领域
本发明一般地涉及在电子系统中的故障检测。
背景技术
容错系统是一种当其许多部分的一部分故障的时候不中断服务可以继续运行的系统。传统上,这是通过以备用部分代替该故障部分或者通过执行预备的措施来实现。当设计计算机系统、控制系统等等的组成部分的时候,通常使用容错系统。在有些情况下,容错系统仅仅以软件实现。在另外的例子,它们是以硬件或者作为硬件和软件的组合来实现的。以硬件实现的容错系统通常是通过双工的硬件部分实现的。
在双工的容错系统中,存储在存储器中的数据被镜像。然后,多处理器被相互级联链接,并且每个产生的结果被比较。当该系统故障的时候,该故障部分被立即从操作线(运行方)除去,并且预备的操作线(备用方)被激活以允许该系统继续运行。
直接存储器存取(DMA)是一个总线使能的功能,其允许数据被直接从外围设备(诸如,磁盘驱动器)发送给存储器或者在计算机或者控制系统的母板上的特定的设备。通过使用DMA,该CPU(微处理器)没有涉及该数据传送。这加快了整个计算机操作的速度。通常,存储器的确定部分被指定为供直接存储器存取使用的区域。
图1是在控制系统中实现的现有技术的双工的容错系统的示意图。这个系统包括运行方1(active side)和备用方(standby side)2。该运行方包括监控单元3,用于监控是否存在该系统总线上执行的写操作;FIFO(先进先出)单元4,用于存储该写操作的地址和数据;存储器5,存储与写操作有关的数据;CPU(中央处理单元)6,用于发出命令和用于执行计算操作;和系统控制器7,用于控制该系统的操作和经由双工信道(或者双工总线)15传送存储在该存储器中的数据。
该备用方包括存储器8、CPU 9和系统控制器10,其全部都可以以与在运行方中相同的方式运行。此外,该备用方包括用于经该双工信道从运行方接收数据的接收机11。该双工信道起在运行方和备用方电路之间数据传输路径的作用。
现在将描述该双工的容错系统的操作。该备用方电路起在运行方电路故障和不能正常地运行的情况下安置的双工电路的作用。在运行方电路故障的情况下,为了使该容错系统正常地运行,存储在运行方的存储器中的同样的数据被存储在备用方的存储器中。必须执行一系列的操作以镜像在这些存储器中数据的存储。
现在将描述在图1的现有技术系统中用于镜像该数据的操作。运行方的监控单元使用双工的逻辑电路操作,并且监控由运行方的CPU在系统总线上产生的读或者写操作。当检测到写操作的时候,写入该存储器的内容,也就是说,地址和数据,被从该写操作捕获,并且存储在该FIFO(先进先出)单元中。然后,运行方的系统控制器将该存储的地址和数据经由该双工信道传送给该备用方。当该备用方的接收机从运行方接收地址和数据的时候,该备用方的系统控制器分析该地址和在存储器8的相应的地址中存储该数据。
存在几个与相关技术双工的容错系统有关的缺点。例如,就兼容性而言,使用的系统板是成问题的,因为必须为安装在运行方板上的CPU或者存储器的类型特别地开发新的双工的逻辑电路。因此,当该系统CPU或者存储器被升级的时候,必须开发新的备用系统,这提高了开发成本。
另一个问题与在运行方上的该FIFO单元有关。因为该监控单元必须从写操作中捕获地址和数据两者,该FIFO单元必须存储该捕获的地址和数据两者。因此,该FIFO单元的容量必须很大。
另一个问题与同步有关。在以流水线方式配置的通用系统总线中,地址被传送给该总线的时间和数据被加载在该总线上的时间是不一致的。因此,该地址和数据必须被同步地捕获。这增加了系统复杂度,因为必须考虑到该总线协议来开发该系统。
另一个问题与传输容量有关。因为该捕获的地址和数据被经由双工信道传送,必须以降低传送速率作为代价来保持比期望的更大的传输量。因此,必需使用能够提高该传送速率的高速/大容量双工的逻辑电路。
另一个问题与运行方CPU的效率有关。这个效率实质上被削弱,因为运行方CPU必然地必须涉及该捕获的地址和数据的传送。
另一个问题与提高硬件要求有关。例如,用于接收从运行方传送的地址和数据的接收机必须提供在该备用方中。
鉴于上述的考虑,很明显,需要一种改进的双工容错系统和方法,其克服以上列举的现有技术系统的全部或者部分缺点。

发明内容
本发明的一个目的是至少解决以上所述的问题和/或缺点,并且至少提供在下文中描述的优点。
本发明的另一个目的是提供一种双工容错系统和方法,其实现在该系统的运行方提高CPU工作效率和降低FIFO容量。
本发明的另一个目的是提供一种具有增强的系统兼容性的双工的容错系统和方法。
本发明的另一个目的是提供一种具有简化的硬件结构的双工的容错系统和方法,其可以例如通过从该备用方除去接收机来实现。
按照本发明的一个实施例,这些和其它的目的和优点是通过提供一种双工的容错系统实现的,该容错系统包括监控单元,用于监控在该系统的总线上是否存在写操作,并且将该结果通知该DMA触发器;FIFO单元,用于从该监控单元接收写入到存储器的数据的相应地址并且存储之;DMA触发器,用于通过使用存储在该FIFO单元中的该数据的相应地址来触发DMA;和DMA,用于读出在该地址中的数据并且传送该数据。优选地,如果存在写操作,该监控单元捕获该写操作的地址,并且将其传送给该FIFO单元。
按照另一个实施例,本发明提供了一种双工的容错方法,该方法包括监控在该系统的总线上是否存在写操作;通知DMA触发器是否存在写操作;从该写操作捕获地址;在FIFO单元中存储该捕获的地址;产生包含该捕获的地址信息的DMA触发信号;和读取对应于该捕获的地址的数据并且经由双工信道镜像该数据。
在下面的描述中将在某种程度上阐述本发明的额外的优点、目的和特点,在参阅以下内容时或者可以从本发明的实践中获悉,在某种程度上对于那些本领域普通的技术人员将变得显而易见。如特别地在附加的权利要求中所指出的,可以实现和获得本发明的目的和优点。


下面将参考附图详细地描述本发明,其中相同的参考数字表示相同的部分,其中
图1是示出在控制系统中现有技术的双工的容错系统的示意图;图2是示出按照本发明一个实施例的双工的容错系统的示意图;图3是示出在按照本发明另一个实施例的在SMP系统中实现的双工的容错系统的示意图;图4是示出按照本发明另一个实施例的双工的容错系统的示意图,其中监控单元和DMA触发器被设置在插槽中;和图5是示出包括在按照本发明一个实施例的双工的容错方法中的步骤的流程图。
具体实施例方式
本发明在其一个或多个实施例中,可以在使用直接存储器存取(DMA)方案的双工的容错系统中实现。在另外的实施例中,本发明适用于按照另外的或者预定的标准操作的控制系统。在这些系统的一个可允许的非限制的应用中,本发明预期在控制系统中建立使用DMA的双工的系统板,这里仅仅写入给该系统存储器的数据的地址被监控,并且这里使用DMA方案将对应于该地址的数据镜像,用于在备用方中存储。下面将更详细地解释本发明的这个应用和其它的特征。
图2示出按照本发明一个实施例的双工的容错系统。这个系统包括运行方和备用方。该运行方100具有CPU或者微处理器20、存储器40、监控单元50和系统控制器70。除了在此处提到的之外,这些组成部分可以以类似于图1中的方式操作。例如,与现有技术的系统不同,该系统控制器可以包括DMA单元90或者该DMA单元可以分开地提供。该备用方包括存储器80、CPU或者微处理器90和系统控制器95。
该运行方可以进一步包括与DMA单元40连接的DMA触发器30。该备用方200优选地不具有接收机,其是在图1的现有技术的系统的备用方中的必要部分。此外,本发明的监控单元50和FIFO单元60的结构和操作可能不同于在现有技术的系统中示出的那些。
该监控单元50在该系统总线上检测从运行方CPU产生的写操作,将该写操作通知该DMA触发器30,并且捕获与该写操作有关的数据相应的地址。写入进运行方存储器中的该数据被传送给该FIFO单元60。该FIFO单元存储由该监控单元捕获的该地址,而不是来自这样一个操作的数据。
该DMA触发器30产生包含存储在该FIFO单元中的地址信息的DMA触发信号,并且将其传送给该DMA单元40。当收到该DMA触发信号时,该DMA单元运行去提取包含在该信号中的该地址,读取在相应的地址中的数据,并且经双工信道115将该数据传送给备用方,在这里其被存储(镜像)在该备用方的存储器80中。
图3示出按照本发明另一个实施例的双工的SMP(对称多处理器)容错系统。在这个实施例中,该SMP系统提供有二个CPU 310和320,并且该容错系统是使用DMA通过仅仅安装二个CPU的一个和将双工的逻辑电路300和301插入进另一个CPU位置中来实现的。该双工的逻辑电路可以是包括如在图2中举例说明的监控单元50和DMA触发器30的电路。这些单元的操作和功能也可以是相同的。
图4示出按照本发明另一个实施例的双工的容错系统,其中如在图2中举例说明的监控单元50和DMA触发器30被配置在插槽中。更具体地说,该插槽型监控单元50可以安装在板的通用存储器插槽110中,并且该DMA触发器30可以被安装在一个板的通用总线插槽中。
现在将更详细地描述本发明的功能和操作。参考图2,该监控单元50检测在连接到系统控制器70的系统总线上的写操作或者读操作。该写操作可以包含要写入进运行方的存储器中的数据,以及表明有关该数据将被存储的地址的信息。当检测到该写操作的时候,该运行方的存储器40据此可以被以该数据更新。
当监控单元50感测在该系统总线上的写操作的时候,其也通知DMA触发器30该写操作。然后,该监控单元仅仅从该检测的写操作中捕获地址,并且将其传送给FIFO单元60。例如,如果包含在该写操作中的该地址和数据分别地是4字节和32字节,该监控单元仅仅从该写操作中捕获4字节地址,并且将其传送给FIFO单元60。因此,该FIFO单元存储与该写操作有关的4字节的信息。这和在图1中的该FIFO单元是大不相同的,其在该写操作中捕获地址和数据两者。因此,与本发明的这个实施例的该FIFO单元相比,在现有技术的系统中的该FIFO单元就容量而言必须是更大的(例如,36字节),而本发明的FIFO单元在比较的基础上实质上可以具有更小的容量和尺寸。
当该DMA触发器30从该监控单元接收表示写操作检测的信号的时候,该DMA触发器发送DMA触发信号以触发该DMA单元40。如果DMA单元40被嵌入在该系统控制器中,该DMA触发信号可以经由该系统控制器被传送给该DMA。此时,该DMA触发信号包含存储在FIFO单元60中的该地址。该DMA使用包含在该DMA触发信号中的地址信息从运行方存储器中读取在相应的地址中的数据,并且优选实时地将其经双工信道115传送给该备用方存储器10。因此,该数据被镜像到该备用方的存储器。因此,如果该运行方的电路故障,该备用方电路被激活以继续该系统的操作。
上述的功能可以或者通过配置该监控单元50和DMA触发器30来集成在一个双工的逻辑电路中,或者通过配置它们为在单独的插槽中的模块来执行。例如,如图4所示,该系统可以被安装在运行方的主电路板上。以这样的方式配置,除了在该板中建立的或者连接到该板的其它的板或电路之外,该监控单元50和DMA触发器可以被安装在该板的插槽内。通过以这样的方式将本发明结合在主电路板上,实质上改善了兼容性。
图5示出在按照本发明一个实施例的双工的容错系统的操作期间执行的功能。这些功能可以对应于包括在本发明的双工的容错方法中的步骤。参考图2和5可以更加清楚地理解这些实施例。
最初,监控单元50监控该总线以确定是否已经从该系统的运行方的CPU中产生读或者写操作(S10)。如果检测到写操作(S20),该监控单元通知该DMA触发器30该操作(S30)。然后,该监控单元仅仅从该监控的写操作中捕获地址,并且将其传送给FIFO单元60(S40)。
接下来,该DMA触发器30产生DMA触发信号以触发该DMA 40(S50)。该DMA触发信号包含表示存储在该FIFO单元中的地址的信息。如果,步骤S50,这个信息被传送给DMA 40,并且然后该DMA将写入到运行方的数据经由双工信道镜像到备用方(S60)。
本发明可以适用于应用到交换机系统和具有不同的总线类型的系统。因此,本发明适用于千兆比特以太网或者ATM(异步传输模式)系统。
因此,在本发明中,该CPU可以不必涉及数据传送,因为数据使用该DMA传送。因此,可以改善该CPU的效率和系统性能。
此外,本发明的容错系统和方法可以获得实时地传送更新的数据给运行方的效果,因为仅仅该地址被从写操作中捕获,然后更新(写入)数据被使用该DMA传送。因此,存在一个优点,即,该系统和方法没有同步问题,而当相关技术的系统在从写操作中捕获该地址和数据两者之后,传送地址和数据的时候,出现同步问题。
此外,本发明的容错系统和方法具有在备用方无须安装接收机的优点,因为该DMA传送更新数据。
此外,本发明的容错系统和方法提供高的兼容性和可靠性,从而具有改善在该系统中使用的该CPU和存储器的性能的效果,和对应于该特征的变化具有降低在系统的开发过程中的成本的效果。
此外,在本发明的容错系统中,因为仅仅该地址被存储在FIFO单元中,该FIFO单元的大小实质上可以被减小。因此,可以改善系统处理速度。
此外,在本发明的容错系统中,因为在至少一个实施例中该监控单元和DMA触发器被安排在单独的模块中,并且被安装在该系统的主板的插槽中,它们也可以被安装在各种类型的板中。因此,可以降低系统开发的投资成本,并且可以提高性能的可靠性。
上述的实施例和优点仅仅是示范性的,并且不应理解为限制本发明。当前的教导可以容易地应用于其他类型的设备。本发明描述的意图是说明性的,而不是限制该权利要求的范围。对于那些本领域技术人员来说,许多的替换、修改和变化将是显而易见的。在那些权利要求中,装置加功能从句意图是当执行列举的功能时覆盖在此处描述的结构,和不仅是结构上的等效,而且是等效的结构。
权利要求
1.一种双工容错系统,包括监控电路,其检测总线上的写操作;DMA触发电路,其从该监控电路接收表示该写操作的检测信号;和存储电路,其存储表示在运行方存储器中与该写操作有关的数据存储的地址的信息;其中该DMA触发电路发送包含所述地址信息的触发信号给DMA单元,并且其中该DMA单元将该数据和地址信息的拷贝传送给备用电路。
2.根据权利要求1的系统,其中与该写操作有关的数据不存储在该存储电路中。
3.根据权利要求1的系统,其中该监控电路捕获用于在该存储电路中存储的该地址信息。
4.根据权利要求1的系统,其中该监控单元连接到电路板的插槽。
5.根据权利要求1的系统,其中该存储电路是FIFO单元。
6.根据权利要求1的系统,其中该DMA触发电路连接到在电路板中的插槽。
7.根据权利要求1的系统,其中该DMA单元位于运行方系统控制器内。
8.根据权利要求1的系统,其中该备用电路的系统控制器接收从该DMA单元发送的该数据和地址信息的拷贝,用于存储在该备用电路的存储器中。
9.根据权利要求1的系统,其中该DMA单元和该备用电路的系统控制器被连接到双工信道。
10.一种双工容错系统,包括运行方电路,其包括连接到总线的存储器和系统控制器,其中该系统控制器接收表示在该存储器中数据存储的地址信息,并且经由DMA单元将该数据和地址信息的拷贝发送给备用方电路。
11.根据权利要求10的系统,其中该数据是从在总线上检测的写操作得出的。
12.根据权利要求10的系统,其中该运行方电路进一步包括FIFO单元,其存储该地址信息而无需该数据。
13.根据权利要求10的系统,其中该备用方电路的系统控制器连接到双工信道,用于接收从该系统控制器发送的该数据和地址信息的拷贝。
14.一种双工容错系统,包括双工逻辑电路,其检测总线上的写操作,并在第一存储器中存储与该写操作有关的数据;FIFO电路,其在第一存储器中存储该数据的地址;和DMA电路,其将存储在第一存储器中的数据和存储在该FIFO电路中的地址的拷贝传送给第二存储器。
15.根据权利要求14的系统,其中该第一存储器是运行方存储器。
16.根据权利要求15的系统,其中该第二存储器是备用方存储器。
17.根据权利要求14的系统,其中该双工逻辑电路包括监控单元,以检测在该总线上的该写操作,通知DMA触发电路该写操作,捕获与该写操作有关的地址,和将该捕获的地址传送给该FIFO电路,其中该DMA触发电路发送触发信号给该DMA电路,该触发信号包含存储在第一存储器中的该数据的地址。
18.根据权利要求17的系统,其中该DMA电路和该备用方被连接到双工信道。
19.根据权利要求17的系统,其中该双工逻辑电路被安装在SMP系统的二个CPU中的一个。
20.根据权利要求14的系统,其中该DMA电路响应从DMA触发电路接收触发信号,传送该数据和地址的拷贝。
21.根据权利要求20的系统,其中该触发信号包含有关由该监控单元捕获的地址的信息。
22.根据权利要求14的系统,其中该DMA电路将写入到第一存储器的数据经由双工信道镜像到第二存储器。
23.一种双工容错方法,包括从在总线上检测的写操作捕获地址;在缓冲区中存储所述地址;产生包含所述地址的触发信号;和响应该触发信号,将存储在该缓冲区中的所述地址和存储在运行方存储器中所述地址上的数据发送给备用电路,所述数据和地址经由DMA单元发送给该备用电路。
24.根据权利要求23的方法,其中将所述数据和地址经由双工信道发送给该备用电路。
25.根据权利要求23的方法,其中该触发信号触发DMA单元来发送所述地址和数据。
26.根据权利要求23的方法,其中该备用电路的系统控制器从双工信道接收所述地址和数据。
全文摘要
一种双工的容错系统和方法使用直接存储器存取(DMA)方案来镜像在运行和备用电路的存储器中数据的存储。该运行电路包括检测在系统总线上写操作的监控单元,响应该写操作的检测而产生触发信号的DMA触发电路,和存储在与该写操作有关的数据被存储于其中的运行方存储器中的地址的FIFO单元。然后,DMA传送单元响应该触发信号将数据和地址传送给该备用电路。
文档编号G06F13/20GK1801109SQ20051012965
公开日2006年7月12日 申请日期2005年12月14日 优先权日2004年12月14日
发明者朱喆敏 申请人:LG-Nortel株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1