热备用存贮器复制系统的制作方法

文档序号:6405236阅读:182来源:国知局
专利名称:热备用存贮器复制系统的制作方法
技术领域
本发明涉及一种用热备用存贮器复制系统(hotstandbymemorycopysystem)的电子交换。
含有双套主存贮装置(以下称作MM)的热备用系统是通常用于电子交换的一种系统。在这种热备用系统中,由现用中央处理机(以下简称为CPU)执行的写操作是对两个MM进行的,而读操作是只从一个MM中读出的。这种系统的一个特点是必须保证两个MM中的内容相互相等。一旦检测到一个MM不正常(如检测到奇偶错误,双位错误等等),被读的MM就被切换到另一个MM,这样可使正在进行的处理继续进行。因此,与通用计算机中那种检查点后重试一部分的系统相比,本系统的起动要快得多。
在这样一个热备用系统中,CPU的机器周期可以通过采用高速工作的部件予以缩短,但是对MM的存取时间还是长了,于是就产生了这样的一个问题即CPU的工作速度与MM的存取时间之间不平衡。
为解决上述那种不平衡,可在CPU和MM之间设置一个超高速缓冲存贮器。这样,如果超高速缓冲存贮器中包含着CPU所要求的地址内容,也就是说如果高速缓冲存贮器命中(hit)所要找的内容,则就从高速缓冲存贮器而不是从MM中读出数据;如果高速缓冲存贮器没命中或称为“遗漏”(miss)所要找的内容,则就把高速缓冲存贮器中不频繁使用的内容刷新。
这种高速缓冲存贮器有两种使用方式即全部写(writethrough)方式和回复制(copyback)方式。
根据全部写方式,每当CPU要求刷新存贮器中的内容时,除刷新MM之外,高速缓冲存贮器也被刷新。由于数据不是从MM保存入高速缓冲存贮器的,因此,控制比较简单;但产生一个缺点是高速缓冲存贮器的作用只是在写操作中才被发挥出来。
根据回复制方式,每当CPU要求刷新存贮器中的内容时,只有高速缓冲存贮器中的内容才被刷新,这对高速操作是很适宜的;但这要求从MM对高速缓冲存贮器进行保存操作,又产生另一个问题,即控制变得复杂了。
因此,在这种使用高速缓冲存贮器的系统中,需要用一个存贮器复制系制系统来最大限度地使用高速缓冲存贮器的高速性能。


图16是用来解释一种带有双套CPU及MM但不具有高速缓冲存贮器的现有技术热备用系统的方框图。在该图CPU160和MM161属于一个现用系统(currentsystem),CPU160′及MM161′属于一个备用系统。在该系统中没有高速缓冲存贮器,因此,即使提高CPU的速度,对MM的存取速度还是很低,这样就产生了下面的问题。即系统的处理能力从整体上看并没有改善,而且,如果采用高速MM来改善整个系统的处理能力,成本就会增加。
图17是一个用来表示使用双套CPU和MM且带有高速缓冲存贮器的现有技术的双系统的一个例子的方框图。
在该图中,CPU170、高速缓冲存贮器171和MM172属于现用系统。CPU170′、高速缓冲存贮器171′和MM172′属于备用系统。根据此现有技术实例,高速缓冲存贮器构成了CPU的一部分,现用高速缓冲存贮器171与现用MM172和备用MM172′相连。同样,备用高速缓冲存贮器171′与备用MM172′和现用MM172相连。
在回复制方式下使用所示出的系统时,CPU对高速缓冲存贮器执行写入和读出操作,这样,可以提高处理速度。但是,作为对来自CPU的存贮内容刷新要求的响应,只有高速缓冲存贮器中的内容被刷新,使得高速缓冲存贮器中可以有MM中不存在的数据。因此,虽然MM172和172′中的内容总是相同的,但是,高速缓冲存贮器171中的内容和高速缓冲存贮器171′中的内容不同。如果,由于高速缓冲存贮器171发生故障而把现用CPU切换成备用CPU,只在现用高速缓冲存贮器中存在的数据就会丢失,这样热备用方式就不能实现。
图17中所示的系统可以应用全部写方式,根据全部写方式,写操作是通过高速缓冲存贮器对二个MM同时执行的,这样,回复制方式中数据只存在于高速缓冲存贮器中这一问题将不再出现。
然而,双套CPU及MM一般都与分离的电源系统相连,这样可使缓冲器门电路等器件交叉地插在高速缓冲存贮器和MM之间,因此,如要从CPU经过高速缓冲存贮器向二个MM中写入数据,则另一系统需要的存取时间要长于自身的系统所需要的存取时间,这是由于交叉的缓冲器门电路及电缆等的延时所致。
举个例子来说,假定主存贮器所包含的存贮器的周期时间为180ns(毫微秒),主存贮器采用自身的系统所实现的周期时间为200ns。但对另一系统而言就得加上上面说过的各个延时,如果缓冲器门电路的延时为20ns,电缆的延时为5ns,则实际周期时间将是225ns。也就是说,交叉造成的损失将达10%或更多。
交叉造成的延时并不总是使CPU的处理能力减少,但如果假定影响其一半,大约5%的处理能力将会受到影响。要使CPU的处理能力增加5%是很困难的,因此,防止交叉引起处理能力的下降是很重要的。
图18中的方框图示出了另一例包括双套的CPU及MM并使用高速缓冲存贮器的现有技术双系统。
在该图中,CPU180、高速缓冲存贮器181及MM182属于现用系统,CPU180′、高速缓冲存贮器181′和MM182′属于备用系统。在这个现有技术实例中,各个高速缓冲存贮器分别构成了MM的一部分。现用CPU180与现用及备用高速缓冲存贮器181和181′相连,同样,备用CPU180′也与备用及现用高速缓冲存贮器181′和181相连。
这个例子可以用于回复制方式,是个热备用系统。但是既然在CPU和高速缓冲存贮器之间存在着交叉连接,高速缓冲存贮器的高速度性能就不能适当地利用。
也就是说,有必要同步两个高速缓冲存贮器的命中和遗漏(hitandmiss)状态。由于从自身CPU至另一高速缓冲存贮器的总线长度及高速缓冲存贮器输入部分处的缓冲存贮器的延迟时间的影响,由CPU至它自身的高速缓冲存贮器的存贮时间也被延迟,结果使得高速缓冲存贮器存取速度下降。由于CPU和高速缓冲存贮器的速度有增加的趋势,图示布置中的交叉延迟达到的高速缓冲存贮器存取时间的20%至50%。
本发明的目的在于提供一种能改善中央处理机的处理能力及最大限度地使用高速缓冲存贮器的高速性能的热备用复制系统。
为实现上述目的,根据本发明提供了一种用于信息处理系统中的热备用存贮器复制系统。上述的信息处理系统中装有双套中央处理机,双套主存贮装置,及位于中央处理机及主存贮装置之间的双套高速缓冲存贮器。该热备用存贮器复制系统包括与中央处理机相连的双套先入先出存贮器(FIFO),把数据从中央处理机写入高速缓冲存贮器(同时也写入先入先出存贮器)时用来写数据的装置,以及一个与中央处理机的操作独立的、用以把现用先入先出存贮器中的内容写入主存贮装置的备用存贮器中的装置。
上面所述的本发明的目的及特点从下面结合附图对最佳实施例的描述中将会看得更清楚。
附图中图1是本发明的一个实施例的基本示意图。
图2是本发明的上面那个实施例的框图。
图3中的框图示出了图2实施例中的详细的结构。
图4是图3实施例中所使用的各种控制信号的示意框图。
图5是一个从FIFO至MM的传送操作实例的时序图。
图6是从FIFO至MM的传送操作的另一实例的时序图。
图7示出了一例排队电路的电路图。
图8是本发明的另一实施例的原理框图。
图9是图8的一种改进的原理框图。
图10中的框图示出了图8实施例的详细结构。
图11是图10实施例中所使用的各种控制信号的示意框图。
图12是图10的一个经改进的框图。
图13是图12中所使用的各种控制信号的示意框图。
图14是一个时序图,示出了EIFO的MM存取时序在正常状态下和故障状态下的差别。
图15中的时序图示出了另一系统以FIFO至MM的数据传送时序。
图16中的框图示出了一个分别具有双套CPU和MM但不带有高速缓冲存贮器的现有技术热备用系统。
图17中的框图示出了一例带有高速缓冲存贮器的现有技术双系统。
图18中的框图示出了另一例带有高速缓冲存贮器的现有技术双系统。
图1是本发明的一个实施例的基本示意图。
在图中,数字1和1′是双套中央处理机,2和2′是双套主存贮装置,3和3′是处于中央处理机1和1′及主存贮装置2和2′之间的双套高速缓冲存贮器。中央处理机1和1′与双套先入先出存贮器4和4′相连;还提供了在中央处理机1向高速缓冲存贮器3中写入数据时把该数据同时写入先入先出存贮器4中的装置,还提供了独立于中央处理机操作的并用以把现用的先入先出存贮器中的内容写入备用主存贮装置中的装置。
还提供了先入先出存贮器,根据其独立的读出机构,将那些与写入其自身的高速缓冲存贮器中的数据相同的数据,以与其自身的高速缓冲存贮器相同的写入速度。写入先入先出存贮器中。而且,根据先入先出存贮器的独立读出机构,将那些与写入其本身的主存贮器中的数据相同的数据,以其本身的主存贮器的数据写入速度,写入另一主存贮装置中,这样,当向两个主存贮装置中写入数据时,中央处理机则不必考虑由交叉连接带来的延时,因此就提高了处理速度。此外,交叉延时对高速缓冲存贮器的影响也不必考虑,这样,高速缓冲存贮器的高速度性能可以得到适当的利用。
(1)回复制方式图2示出了根据本发明的上述实施例的回复制方式存贮器复制系统的原理框图。
图2中,CPU21、高速缓冲存贮器22、选择器(SBL)23和主存贮器(MM)24构成了一个现用系统,CPU21、高速缓冲存贮器22′、选择器(SEL)23′和主存贮器24′构成了一个备用系统。先入先出存贮器(以下简写为FIFO)25和25′分别与高速缓冲存贮器22和22′并联。FIFO25和25′所具有的写入速度与高速缓冲存贮器的写入速度基本相同,它们所以是市场上能买到的FIFO,也可以是由门阵列构成的。FIFO25和25′分别装在与高速缓冲存贮器22和22′相邻近的地方。
图2中,一旦要把数据写入高速缓冲存贮器22,现用CPU21就把数据同时写入高速缓冲存贮器22和FIFO25中。在高速缓冲存贮器命中的时刻,选择器(SEL)23选择FIFO25的一个输出。FIFO25独立地占据一条MM总线之后,曾经写入FIFO25中的数据被写进两个MM之中。
从CPU21到高速缓冲存贮器22和FIFO25写入数据的指令通常都不是连续的,存贮指令最多只占指令数的20%到30%。FIFO25以与MM的存取速度相一致的速度周期地执行从FIFO25至MM24和24′的写操作。因此,如果产生的存贮指令的间隔大于数据从FIFO25至MM24和24′的传送间隔,那未,每个FIFO的容量可能是个有限值,换句话说,FIFO的容量不是无限的,而是能设定为一个适当的值。
与高速缓冲存贮器的写入速度基本相同的FIFO装在邻近高速缓冲存贮器的地方,以与MM的存取速度相一致的速度执行从FIFO到两个MM的写入操作。因此,高速缓冲存贮器和MM之间的存取速度之差可以被吞没。
此外,写入高速缓冲存贮器和FIFO的数据是相同的,因此,万一高速缓冲存贮器发生故障,FIFO中的内容还可传送至两个MM中。这样,两个MM中的内容相互一致,就可防止数据丢失。
如上所述,根据本实施例的热备用系统中的MM可以高速重新起动,这样可靠性也能提高。
图3中的框图示出了图2实施例中的详细结构。
在图3中,与图2中所示的部分相同的部分用相同的参考标记来表示。31、32和33是2中取1(2-1)选择器,这些选择器分别根据信号M、S和W是0还是1选出并输出A或B。31′、32′和33′是备用2-1选择器。
假定,CPU21是现用的,CPU21′是备用的,MM24是主存贮器,MM24′是从属存贮器(只写存贮器)。
高速缓冲存贮器22存贮读自MM24的数据。当CPU21从高速缓冲存贮器22中读出数据并加以处理。以及把处理过的数据再存回高速缓冲存贮器22中的原地址时,CPU21就产生一个写信号WT并送至FIFO25,这样可使数据同时写入高速缓冲存贮器22和FIFO25。正如前面说到的那样,FIFO25装在高速缓冲存贮器22的邻近处,这样可使从CPU21到FIFO25的延迟时间缩短,FIFO的容量可是个适当的有限值。
当从CPU21向高速缓冲存贮器22写入数据时发生高速缓冲存贮器遗漏(miss),即来自CPU21的写地址与每个存在高速缓冲存贮器22中的数据的地址不一致时,2-1选择器(SEL)23从FIFO输出切换成高速缓冲存贮器输出,从而把已写入高速缓冲存贮器22的数据保存入MM24中。此刻,高速缓冲存贮器22产生一个总线请求信号RQC,向图4中的MM存取请求竞争电路(MMCTL)发出请求,请求MM总线。此后,如果一个使能信号GC作为MMCTL的输出送回,那末,高速缓冲存贮器22就能使用MM总线,这样,数据从高速缓冲存贮器22保存入MM24中。取得待保存数据的方法与公知的回复制方式中的方法完全相同,因此在图3中被省略了。
另一方面,不管高速缓冲存贮器22中命中与否,写入FIFO25中的数据被独立地写入MM24和24′中。下面结合图4解释从FIFO25至MM24和24′的写操作。
图4是图3的实施例中所使用的各个控制信号的示意框图。
图4中,41和41′是计数器,它们重复0,1,……5,并在“5”时产生一个输出“CO”,42和42′是D触发器,43、43′、44、44′、46、46′47及47′都是2-1选择器,45和45′是存贮器存取竞争电路(MMCTL),48及48′是或门。
下面将参考图5中的时序图对图3和图4中所示的从FIFO25至MM24的数据传送操作实例作详细解释。
当一个使能信号GF送到计数器(CTR)41的复位端R时,计数器41即被清零。由于这个使能信号GF还通过或门48送至D触发器(D-FF)42的D输入端,B触发器42在信号GF的产生期间处于一种复位状态。该使能信号GF通过或门48变成了FIFO25的读信号RD。
清零之后,计数器41对时钟信号CLK进行计数,并在计数值为5时产生一个输出CO。这个信号CO是D触发器42的复位端R的输入,所以在D触发器42的输出端Q就能得到一个MM总线请求信号RQF。这个RQF信号通过或门48作为读信号输入至FIFO25。在间隔1期间信号RQF被输出间隔1构成了来自FIFO25的数据读出周期的一部分,这样,对FIFO存取就需要一个延迟时间。
另一方面,如果送到2-1选择器43的控制信号S是指示自身系统选择的“0”,则信号RQF通过2-1选择器43后是MM存取请求竞争电路(MMCTL)的输入。如果MM总线有空余,MMCTL45将输出一个使能信号GF。如果2-1选择器46的控制信号W是“0”,信号GF就通过2-1选择器46送至计数器41的复位端R,清除掉计数器41中的计数值。结果使得信号“CO”消失,从而也关掉了信号RQF。但是,由于信号GF已经通过或门48成为信号RD,因此,FIFO25继续执行读周期,直到计数器41的计数值正好变成“5”之前为止。信号RQF被关掉以后,读周期中的预定间隔2是FIFO和MM之间的交叉延时,这样就从FIFO25中读出地址和数据。在下一读周期中,FIFO的读指针就向前进。
另一方面,由于信号RQF是在间隔1期间向MMCTL45发出的,因此,MMCTL产生使能信号GF,此时它还期待点来自FIFO25的读出数据的到来,且为MM24和24′起动一个写入序列。这个写入序列本身建立在公知技术之上,它为写入地址和数据而在GF信号的产生期间产生一个行地址选通信号(RAS),一个列地址选通信号(CAS)及一个写使能(WE)信号。为了使来自FIFO25的数据在写操作时同时抵达MM24和24′,2-1选择器32和32′的控制信号S和S′都已事先设置好。
MMCTL45输入一侧的2-1选择器43和44把请求信号RQF和RQC在两个系统间分布,其输出侧的2-1选择器46和47回送使能信号GF和GC。这些2-1选择器本身是公知的。
上面的解释中作了这样的假定CPU21除面向FIFO写入数据之外还可以向高速缓冲存贮器22中写入数据,但是对于高速缓冲存贮器22的写入速度要比对FIFO25的写入速度要快,这样可使得FIFO25中的内容在从CPU21读入时不总是空的。如果在FIFO25中充满数据时要向高速缓冲存贮器22中写入数据,那末,该数据就只写入高速缓冲存贮器22中。为避免这一问题,FIFO25这时就输出一个信号FF,警告FIFO已充满数据。这个信号作为一个写等待信号WW送到CPU21,这样就能导致CPU的写操作的排队。如果排队(即在CPU等待)的概率很高,那末这是个问题,但是我们都知道,如果FIFO的容量选择适当,这个概率是可以降低的。
下面将描述现用CPU切换成备用CPU;这一操作。举例来说,这种切换可能是现用系统中更换故障插件时根据一条命令进行的,也可能是CPU发生故障时进行的。
首先先讨论根据一条命令进行的切换。如果切换是在待写入MM25和25′中的数据还存在于FIFO25中的情况下进行的,那末,FIFO25中的数据可能会丢失。为避免这一情况,根据切换命令产生一条切换指令,该指令在切换到CPU21′之前先检查FIFO25是不是空的。也就是说,如果FIFO25是空的,FIFO25即输出一个FE信号。CPU21′只要在收到作为FIFO的读竞争信号RCMP′的FE信号之后就变成一个现用系统。也可以说,CPU21′在没收到信号RCMP′之前还不是现用系统。
当现用CPU由于故障而从CPU21切换成CPU21′时,下面的步骤将被执行当一个监视计时器(未画出)检测出CPU中软件有异常情况时,一个重新起动电路(未画出,包括微程序)切换CPU。在这种情况下,如果故障原因是在CPU中或在高速缓冲存贮器中,则数据存在FIFO25中,这样,FIFO中的数据可以以正常情况下(即无故障情况下)一样的方式传送至两个MM中。数据传送完成以后,把CPU21′作为一个新的现用系统加以起动。如果故障原因在FIFO中,则把高速缓冲存贮器22中所有与MM24中的数据不一致的数据根据高速缓冲存贮器22的写指令位从高速缓冲存贮器22保存入两个MM中,这个步骤和单CPU系统中的步骤一样,属公知技术。存贮完成之后,备用CPU被作为现用CPU加以起动。
一旦发生高速缓冲存贮器遗漏而致使CPU21读取MM24的内容时,对PIFO25的读取也被暂停执行。这将在下面结合图6中的时序图加以解释。
在图3、4和6中,当MM总线请求信号RQF是D触发器42响应于计数器41的输出信号“CO”的输出时,以及当MM总线请求信号RQC从高速缓冲存贮器22中也同时输出时,MMCTL45把优先权给予信号RQC以解决竞争,并把使能信号GC送给高速缓冲存贮器22。在MM24的一个读周期完成以后,输出使能信号GF,这样使得地址和数据从FIFO25读至MM中。也就是说,输出使能信号GC时,从FIFO25的读操作被暂停了。
图7是一个电路图,表示用于响应写等待信号WW对CPU21的写操作进行排队的排队电路实例。
图中,71是一与门,72是一微地址计数器,73是一微程序存贮ROM(只读存贮器),74是一微指令寄存器,75和76是译码器,77和78是与门,79是一或门,80是一反相器。微指令寄存器74包括微程序指令存贮区段A,微程序存贮器存取规定区段B,微程序指令头微地址设置规定区段C,用于等待如自身一备用(SELFTOSTB)指令的命令中的一个RCMP的等待规定区段D,以及微程序头地址规定区段E。
当或门79未给出增量停止信号时,微地址计数器72递增计数时钟信号CLK以按序传送读地址。根据该地址,从ROM73中读出微程序并存入寄存器74中。如果寄存器74的D区段中的等待规定特征位置位,对A区段译码输出自身一备用指令,指示FIFO25为空的RCMP为“0”,即FIFO25不空,则与门G2的输出为“1”。该输出“1”通过或门79成为增量停止信号。然后,与门71关闭,计数器72停止递增计数,因此在RCMP变为“1”之前暂停自身一备用指令的执行。
如果输出用于操作数的存贮指令信号RST作为寄存器74B区段译码的结果,并且给出指示FIFO25装满数据的WW信号,则与门77的输出变为“1”,通过或门79将成为增量停止信号。在这种情况下,在信号WW变“0”之前,即FIFO25不装满数据之前,从CPU21向FIFO25和高速缓冲存贮器22的写入暂停。
由于各种中断操作,微地址计数器72的增量被停止。在本发明的实施方案中,设有一个装有少量附加电路的停止增量的电路,以便执行上述排队。
如上所述,当将现用CPU转换为备用CPU时,在FIFO中的数据保存于两个MM中之前,转换暂停,但与无FIFO的现有技术系统相比,这个等待时间是短的。即,如果无FIFO,则在高速缓冲存贮器22的全部内容都保存于两个MM中之后,CPU从一个转换为另一个,这样,等待时间长。另一方面,在没有FIFO的本发明的实施方案中,FIFO25的内容周期性地保存于MM中,从而在CPU转换时,只保存保留在FIFO中的未处理数据,这样就缩短了等待时间。但在FIFO25发生故障时进行转换的情况下,等待时间会与无FIFO的现有技术系统一样长。
如已所述,在根据本发明实施方案的回复制系统中,增加了与高速缓冲存贮器相比具有较小存贮容量的FIFO,还增加了简单的硬件,以使得CPU能监控指示FIFO装满数据的信号FF和指示FIFO为空的信号FE。这样实现了故障时能短时间内起动包括程序的系统的MM热备用系统。
(2)全部写方式图8是表示根据本发明另一实施方案的全部写方式存贮器复制系统的原理框图。
图中,CPU81、高速缓冲存贮器82、FIFO82及MM84构成一个现用系统,CPU81′、高速缓冲存贮器82′、FIFO83′及MM84构成一个备用系统。
现有技术全部写方式具有参见图16所述的交叉延迟问题。
为解决此问题,本实施方案在交叉路线中插入了FIFO。因此,根据全部写方式,CPU81将数据写入高速缓冲存贮器82、自身的MM84以及FIFO83。在这之后,根据FIFO83的控制电路部分,数据从FIFO83独立地被写入另一个MM84′。
在本实施方案中,FIFO自身位于CPU的系统中,因此CPU、MM和FIFO彼此相邻排列(例如,在底板上的相邻槽中)。因此,通过将FIFO的周期时间设置为等于或快于MM的周期时期,就可使从CPU向FIFO写入数据处于与从CPU向MM写入数据完全相同的状态。其结果,MM的周期越短,CPU处理能力的改进越大。
另一方面,在本实施方案的FIFO中写入的数据通过一外部电路独立地写入另一个MM。严格说起来,两个MM的内容可以不是互相一致的。但经过一段时间之后,两个MM将互相一致。这是因为CPU相对于MM的写操作的频率大约是所有指令执行的20%到30%,并且交叉延迟时间被剩余时间覆盖了。如果CPU的平均写入间隔长于独立的读出周期时间,不可能将无限个写入数据存贮进FIFO中,这是众所周知的。
但这是不够的,因为如果由于故障而转换CPU、MM、高速缓冲存贮器和FIFO,将会丢失FIFO中的等待数据。因为FIFO的容量是有限的,当CPU连续执行写操作时,会造成溢出(即数据丢失)。为解决此问题,本发明也应用于等待技术。
CPU81通过把数据传送过高速缓冲存贮器82将数据写入FIFO83。因此,如图9所示,FIFO可以不经过高速缓冲存贮器而直接与CPU相连。
图9中,CPU91高速缓冲存贮器92、FIFO93及MM94属于现用系统,CPU91′、高速缓冲存贮器92′、FIFO93′及MM94′属于备用系统,它们与图8中的那些部件完全相同的方式工作,因而省略解释。
图10是表示图8实施方案的详细结构的框图。
图中,与图8中相同的部件以相同的参考号表示。101和102是2-1选择器,分别根据信号M和S是0或1来选择输出A或B,101′和102′是备用系统的2-1选择器。
为将数据写入MM84,CPU81向自身系统的存贮器存取竞争电路(MMCTL)113发出MM请求RQP。如果从MMCTL113向CPU81回送MM存取使能信号GP,在自身系统中对于MM84执行写操作。在执行写操作时,写指令信号WT送到FIFO83,以使与写入MM84中的数据相同的数据写入FIFO83。位于MM84入口处的2-1选择器102有选择地接收来自自身CPU81的数据或来自另一个FIFO83′的数据。在现用CPU一侧,当控制信号S为0时选择A,在备用CPU′一侧,当信号S为1时选择B。
如果由于从CPU81向MM84的连续数据写入使FIFO83充满数据,则FIFO83输出的信号FF变为提供给CPU81的写等待指令信号WW,其结果是写操作暂停。等待电路与图7所示的相同,其详细解释省略。
图11是用于图10的实施方案中的各种控制信号的示意框图。
图中,计数器(CTR)111、D触发器112、存贮器存取竞争电路(MMCTL)113及或门114都与图4所示实施方案中的相同,其详细说明省略。对于写入FIFO83中的数据,具有恰当设置的初值的计数器(CTR)111向另一系统的MMCTL113′发出存取请求RQF,以从另一个MMCTL113′得到存取使能信号GF作为竞争的结果。响应使能信号GF,计数器(CTR)111被一个复位,为下一次FIFO读出做好准备。该信号通过或门114变为FIFO83的读信号RD,其结果是,从FIFO83读出的数据通过设在另一MM的入口处的2-1选择器102写入MM84′。
这时,得到另一条MM总线,因此,如果MM84′开始数据写入周期,则与MM84中相同的数据被写入MM84′。当使能信号GF返回时,计数器(CTR)111的输出CO变O,接收下一个CLK以复位D-FF112。如交叉延迟很小,3在从自身CPU向自身MM写入数据的同时执行从FIFO83向MM84′写入。如交叉延迟很大,可以利用两个存贮器周期来执行在自身系统中的写操作,或设置一个不同于自身系统写时间的较长周期的写时间,因为它不同于自身MM的操作。
从FIFO83向另一个MM84′的数据传送完成后并且在FIFO83中不再存在待传数据时,FIFO83输出空信号FE,通知另一个CPU81′这种状态。当现用CPU转换为备用CPU时,这种状态提交由一个新的现用CPU处理,因此,新的现用CPU可以证实,前现用系统的FIFO中的全部数据已经被传送给新现用系统的MM。其结果是,如果新现用CPU在证实信号FE-即信号RCMP′(读完成)-之后开始工作的话,则不会由于转换而丢失数据。
如上所述,在如图10和11所示的全部写方式中,同样的内容确保存贮在两个MM中,因而实现了MM的热备用系统,改进了故障时的操作。
但是,在FIFO故障时,图10和11所示的系统会造成两个MM中内容不同,这就导致未实现热备用的缺点。即,若FIFO故障,在系统的实际操作中,必须更换FIFO组件等,但根据图10所示的布置,FIFO和CPU在同一系统中。因此当更换组件时现用CPU转换为备用CPU。但因为两个MM的内容不同,根据图10和11所示的系统,系统的工作必须停止一次,以从一个系统转换到另一个系统。
为避免这个问题,如图12和13所示,提供了一条当某FIFO故障时旁路该FIFO的路径。
在图12和13中,与图10和11中相同的部分用相同的参考表示。121和121′是选择旁路路径的2-1选择器。为旁路FIFO、从CPU81直接向备用MM84′写入数据,必须补偿交叉延迟时间,因此,与普通的FIFO相比,必须延长MM存取时间。
图14是表示正常状态下和故障状态下FIFO的MM存取时间变化的时序图。从图中可明显看出,当FIFO正常时,CPU81输出总线请求信号RQP,响应此信号,若从MMCTL45返回使能信号GP,则数据同时写入自身的MM84和自身的FIFO83。这时的写入时间是四个周期,即第3至第6处理机周期。若FIFO故障,同时执行对自身MM84和另一个MM84′的写入,而不执行对有故障的FIFO83的写入,处理器周期7分配给交叉延迟时间。
图15是表示从FIFO83向另一个MM84′的数据传送时间的时序图。这个时间基本上与图5所示的时间相同,因而省略对其的解释。
除去FIFO故障时的操作外,图12和13所示的系统的操作与图10和11所示的相同,因此只描述FIFO故障时的操作。
例如,若FIFO83造成奇偶错误的问题,则故障指示信号F为1。因此,与FIFO83的输入和输出相连的2-1选择器121选择B来旁路FIFO83。另一方面,故障指示信号F也给到门132,使得D触发器的输出RQF不能通过门132。因此,备用MMCTL45′未起动,FIFO83不能独立地向备用MM84′传送数据,因为2-1选择器121响应故障指示信号F选择了B,而没选择FIFO83的输出。
当CPU81向现用MM84写入数据时,CPU81向FIFO83发出写指令信号WT。信号WT通过2-1选择器130和门131作为写指令控制信号WTC送到MMCTL45。信号WT还通过备用系统的2-1选择器130′和门131′变为信号WTC′。这时,由于信号G指示FIFO中有故障,门131和131′处于打开状态。当信号WTC和WTC′进入MMCTL45和MMCTL45′时,按图14所示的时序向MM84和MM84′写入同样的数据。若FIFO故障,则由于交叉延迟增加了MM存取时间,使得CPU的处理能力降低,但在这种状态下,两个MM中的内容互相比较,如果它们之间有不同,则数据从现用系统传送到备用系统,使它们互相一致。结果,在连续进行处理时CPU就可以从一个转换到另一个。即,不需要象图10和11所示的实施方案那样停止一次处理。
若FIFO83装满数据,则利用与图7相同的电路可以实现排队。
如上参考图8至15所述,根据本发明的另一实施方案的全部写方式,FIFO和其独立读出机构的设置使数据能以与写入自身系统MM相同的速度写入另一系统的MM。即,以数据写入自身MM的MM存取速度,实现了热存贮器备用系统。
从以上叙述中可明显看出,根据本发明,在包括两套主存贮装置的热备用存贮复制系统中,设有FIFO,从而不必考虑从CPU向两套主存贮装置写入数据时的交叉延迟,以便提高处理速度。另外,不必考虑高速缓冲存贮器中交叉延迟的影响,因而可以恰当地利用高速缓冲存贮器的高速度性能。
权利要求
1.在设有两套中央处理机;两套主存贮装置;和位于中央处理机与主存贮装置之间的两套高速缓冲存贮器的一个信息处理系统中,一个热备用存贮器复制系统包括与中央处理机相连的两套先入先出存贮器;数据写入装置,将数据从中央处理机写入高速缓冲存贮器的同时写入上述先入先出存贮器;用于与中央处理机的操作独立地将现用的一个上述先入先出存贮器的内容写入备用的一个主存贮装置的装置。
2.如权利要求1的热备用存贮器复制系统,其中,上述高速缓冲存贮器和上述先入先出存贮器相对于主存贮装置分别具有用于双向工作的交叉,以实现回复制方式。
3.如权利要求2的热备用存贮器复制系统,其中,当连接到一个现用的中央处理机上的高速缓冲存贮器对主存贮装置存取时,在两套主存贮装置中执行数据写入,而从两套主存贮装置中的一个中执行数据读出。
4.如权利要求2的热备用存贮器复制系统,其中设有一装置,若中央处理机准备向上述先入先出存贮器写入数据时发现上述先入先出存贮器是满的,该装置使中央处理机在从中央处理机向高速缓冲存贮器和上述先入先出存贮器写入数据中进行排队。
5.如权利要求2的热备用存贮器复制系统,其中设有一装置,它周期地发送请求以得到与主存贮装置相连的总线,得到总线之后,读出上述先入先出存贮器的内容,并将读出的数据写入两套主存贮装置中。
6.如权利要求2的热备用存贮器复制系统,其中设有一装置,用于参考与上述两套中央处理机中之一相连的上述先入先出存贮器的空指示,当中央处理机从一个转换到另一个时,在证实该空指示存在后,另一个系统起动作为新的现用系统。
7.如权利要求1的热备用存贮器复制系统,其中,当数据从中央处理机写入高速缓冲存贮器时,相同的数据同时写入主存贮装置,从而实现了全部写方式。
8.如权利要求7的热备用存贮器复制系统,其中设有一装置,若中央处理机在准备将数据写入上述先入先出存贮器时发现上述先入先出存贮器是满的,则该装置使中央处理机在从中央处理机向高速缓冲存贮器和上述先入先出存贮器写入数据中进行排队。
9.如权利要求7的热备用存贮器复制系统,其中,当作为上述一个先入先出存贮器的内容向两套主存贮装置中的另一个传送的结果,在上述两套先入先出存贮器之一中不存在待传送数据时,设有一个向两套中央处理机中的另一个通知这种状态的装置。
10.如权利要求7的热备用存贮器复制系统,其中,设有用于检测和指示上述先入先出存贮器中发生故障的装置,对于故障的出现,设有通过旁路上述故障的一个先入先出存贮器将数据从两套中央处理机中的一个直接传送到两套主存贮装置中的另一个装置,用于延长对于主存贮装置的存贮器存取周期的装置,以及用于停止上述先入先出存贮器的独立传送操作的装置。
全文摘要
该系统包括两套主存贮装置以提高中央处理机的处理能力和最大限度地利用高速缓冲存贮器的高速性能,在具有中央处理机的信息处理装置中,设有两套主存贮装置和高速缓冲存贮器、两套与中央处理机相连的先入先出存贮器、用于从中央处理机向高速缓冲存贮器和先入先出存贮器同时写入数据的装置以及用于将现用的一个先入先出存贮器的内容与中央处理机的操作独立地写入备用的一个主存贮装置的装置。
文档编号G06F12/08GK1030653SQ8810436
公开日1989年1月25日 申请日期1988年7月15日 优先权日1987年7月15日
发明者柴田雄司, 漆原哲夫 申请人:富士通株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1