具有检查点恢复功能的I/O控制设备制造技术

技术编号:2890153 阅读:190 留言:0更新日期:2012-04-11 18:40
在一种计算机系统中,当CPU(1a,1b)执行I/O装置(4a,4b)的操作模式等的状态设定时,状态设定的运行记录数据被存储在设定运行记录存储区中。在计算机系统中发生故障时,I/O装置得到清除,且I/O装置的状态设定根据存储在设定运行记录存储区(34)中的状态设定运行记录数据而进行。因此,当过程重新开始时,I/O装置的状态能够被恢复到一个检查点的状态。(*该技术在2017年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及适用于具有检查点恢复功能的计算机系统的一种I/O控制设备。近年来,计算机系统得到了很大的发展。随着这种发展,对诸如应付故障的可靠性的要求提高了。作为构成容错计算机系统的一种方法,有一种检查点恢复方案。根据用于实施检查点恢复方案的一种方法,CPU的内部状态,即寄存器和CPU的高速缓冲存储器的内容被定期保存在一个主存储器中,以便在主存储器上获得一个检查点。当数据处理由于计算机系统中的故障而不能继续时,主存储器被恢复到最近检查点的状态,且利用存储在主存储器中的CPU内部状态重新开始数据处理。用于将主存储器恢复到检查点状态的一种方法如下。在主存储器的一种更新操作中,所要更新的地址和数据被存储在一个存储器状态恢复单元55中。在计算机系统发生了故障时,把存储在存储器状态恢复单元55中的以前的数据写回到主存储器。虽然在该检查点恢复方案中,在计算机系统发生故障时,主存储器或CPU的内部状态能够通过利用存储器状态恢复单元55而被恢复到最近检查点的状态,但与该计算机系统相连的一个I/O装置不能被方便地恢复到最近检查点的状态。下面将结合附图说明图1和2来描述该问题。如图1所示,在此计算机系统中,一个CPU51请求一个盘控制器52存取一个盘53以进行I/O操作。图2显示了具有上述设置的计算机系统的I/O处理的时序图。如图2所示,盘控制器52的寄存器被设定在时刻T0至T1(图2中的(1))从盘53的预定位置读取数据,且盘控制器52在时刻T1(图2中的(2))被启动。以此方式,盘控制器52和盘53在时刻T1至T2执行了一个读取操作(图2中的(3))。读取的数据通过DMA传送而被从盘控制器52传送到主存储器54中。CPU51在时刻T2从盘控制器52接收一个完成中断(图2中的(4)),从而在时刻T2至T3进行至盘控制器52的完成中断处理(图2中的(5)和(6))。有关读取操作的另一后处理在时刻T3至T4进行(图2中的(7))。在此情况下的第一个困难是在任意定时下获得的检查点不总是有效的。例如,设在盘控制器52的寄存器的设定期间获得了一个检查点(时刻T0与时刻T1之间的设定顺序)。在此情况下,在计算机随后发生故障时,设定顺序的后面部分从最近检查点重新进行,即只有盘控制器52的寄存器的一部分得到了重新设定。因此,盘控制器52并不总是象所希望的那样运行。考虑到盘控制器52的特性,不仅在上述的时刻T0至T1,而且在时刻T0至T3,即当CPU51在诸如读取/写入操作的I/O操作的设定顺序期间获得了一个检查点时,当设顺程序的后面部分在系统发生故障之后从该检查点重新进行时,盘控制器52不总是如所希望地运行。克服这种困难的一种方法是绝对不在I/O装置的操作期间获得检查点。然而,在其中包含很多I/O装置的计算机系统中,CPU几乎总是执行I/O操作的设定顺序。因此,如果阻止在I/O装置的设定顺序期间获得检查点,就会严重地降低性能。第二个困难如下。设在从盘控制器52至主存储器54的DMA传送期间系统中发生了故障。在此情况下,正在进行的DMA传送必须在主存储器54被恢复到最近检查点状态之前被停止。在传统的计算机系统中,为了停止正在进行的DMA传送,需要对I/O装置进行初始化(复位)。由于通过初始化I/O装置而把I/O装置置于初始状态,所以需要进行特殊处理来将I/O装置恢复到最近检查点状态。作为用于解决在上述检查点恢复方案中的I/O处理的问题的方案,已知的有以下两种方案。第一个方案公布在美国专利第4740969“硬件故障恢复的方法和设备”中。在正常的数据处理中,I/O装置的寄存器的读取/写入的数据和来自I/O装置的中断,都被记录在一个运行记录存储器中。在计算机系统发生故障之后,当从最近检查点重新开始寄存器设定顺序时,在故障发生之前为I/O装置的寄存器进行的读取/写入操作被以如下方式重新进行。对于写入操作,数据被放弃且不被写入I/O装置的寄存器。对于读取操作,不从I/O装置的寄存器读取数据,而是将运行记录存储器中的数据送回到CPU。对于来自I/O装置的中断,该中断得到产生并以与前面的执行相同的时序被送到CPU。这种方案要求特殊的接口电路,而这种接口电路没有被提供给通常的计算机系统。另外,难于将这种方案应用于多处理器系统。第二种方案被公布在1988年2月的IEEE“计算机”杂志的“Sequoia用于事务处理的容错紧密耦合多处理器”中。在此方案中,计算机系统中的数据处理被分成可以通过只利用CPU和主存储器进行的数据处理部分和处理I/O装置的I/O处理部分。这些部分由不同的计算机执行。图3显示了一种计算机系统的示意性设置,计算机系统的数据处理被分成通过只存取一个主存储器而进行的部分和包括对I/O装置的存取的部分,且前者由其可靠性借助检查点恢复方案而得到改善的计算机100执行,而后者则由未采用检查点恢复方案的计算机200来执行。在这些部分之间的逻辑接口中,表示“在指定的盘的指定位置读取指定量的数据”的一个请求被从计算机100送到计算机200。当计算机200实际已经读取了数据时,表明操作是否正常完成的一个结束码和从盘读取的数据被从计算机200送回到计算机100。为了改善计算机200的可靠性,计算机200的组成元件是双份的。即,计算机200由计算机主体210a和210b以及I/O装置220a和220b组成。在正常状态下,请求在两侧同时得到处理,且执行结果被相互比较以检查执行结果是否相同。如果在一侧发生了故障,所请求的操作在另一侧上继续进行。这种方案具有以下缺点。即,由于必须提供至少两种计算机,计算机系统大且费用高。由第二种方案可以得到以下想法。即,计算机100和计算机200可以通过采用虚拟计算机技术而由一个计算机实施。然而,这种想法的效果并不好,其原因如下。在Sequoia中公布的方案是基于以下假定的。由于采用了独立的计算机100和200,即使计算机100的数据处理由于计算机100中发生了故障而由一个检查点重新开始,计算机200的I/O处理由不受该故障的影响。然而,如果计算机100和计算机200通过利用虚拟计算机技术而由一个计算机实施,计算机100和计算机200将同时受到基本计算机系统中发生的故障的影响。如上所述,检查点恢复计算机系统需要对I/O处理部分的特殊处理。采用了在CPU和I/O装置之间设置一个专用接口的方法,或在两个独立计算机上分别执行计算部分和I/O处理部分的方法。因此,费用被大大地增加了。本专利技术的一个目的,是提供一种I/O控制设备,它能够控制在具有检查点恢复功能的计算机上的I/O装置,而不需要专用的接口电路或两个独立的计算机。另一个目的,是提供在操作系统内核与当计算机系统在发生故障的情况下重新运行时恢复I/O装置的状态的一个已有的装置驱动程序之间提供一个软件层。根据本专利技术,在包括一或多个CPU、一个主存储器、以及一或多个I/O装置的计算机系统中,CPU定期保存CPU的内部状态和主存储器的内容作为一个检查点且当计算机系统发生故障时最近检查点的CPU的内部状态和主存储器的内容得到恢复以重新开始数据处理,在该计算机系统中的一个I/O控制设备包括I/O装置状态存储装置,用于存储由CPU的I/O装置状态设定的运行记录数据;以及,I/O本文档来自技高网...

【技术保护点】
计算机系统中的一种I/O控制设备,该计算机系统包括:一个或多个CPU(1a,1b)、一个主存储器(3)、以及一个或多个I/O装置(4a,4b),其特征在于所述CPU定期保存所述CPU的内部状态以及所述主存储器的内容以作为一个检查点,当所述计算机系统发生故障时,就恢复最近检查点的所述CPU的内部状态和所述主存储器的内容以恢复数据处理,该I/O控制设备包括:I/O装置状态存储装置(34,A1,A2,1a),用于存储由所述CPU执行的所述I/O装置状态设定的运行记录数据;以及 I/O装置状态恢复装置(1a,C1,C2,C3),用于通过首先初始化所述I/O装置并随后根据所述I/O装置状态存储装置存储的所述运行记录数据重新执行状态设定顺序,而将所述I/O装置的状态恢复到最近检查点的状态。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:保科聪佐久间毅酒井浩
申请(专利权)人:株式会社东芝
类型:发明
国别省市:JP[日本]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1