CN1186276A - 反向恢复型输入输出控制装置和输入输出控制方法 - Google Patents
反向恢复型输入输出控制装置和输入输出控制方法 Download PDFInfo
- Publication number
- CN1186276A CN1186276A CN97118449A CN97118449A CN1186276A CN 1186276 A CN1186276 A CN 1186276A CN 97118449 A CN97118449 A CN 97118449A CN 97118449 A CN97118449 A CN 97118449A CN 1186276 A CN1186276 A CN 1186276A
- Authority
- CN
- China
- Prior art keywords
- input
- module
- generation
- output
- output request
- 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.)
- Granted
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/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1405—Saving, restoring, recovering or retrying at machine instruction level
- G06F11/1407—Checkpointing the instruction stream
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/24—Resetting means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Retry When Errors Occur (AREA)
Abstract
本发明揭示一种反向恢复型输入输出控制装置和方法,包括:在从文件系统(12)接受I/O请求时,利用系统故障世代设定单元(21)、将当前的故障世代存储在其I/O请求中,在检验点取得后,将该I/O请求提交到软件驱动程序(13)中,另外,在从(13)接受该I/O请求时,如果故障世代判定单元(24)判定存储于其I/O请求中的故障世代和当前的故障世代不一致,则借助于I/O请求错误返回单元(26)、不将该I/O请求提交到设备驱动程序(14)而返回到(13),使请求结束处理单元(223)重新再发送该I/O请求。
Description
本发明涉及适用于检验点重新运行方式的耐故障性计算机系统的合适的输入输出控制装置和输入输出控制方法以及具备其输入输出控制程序的存储媒体。
对“系统连续性保持的状态”定期地进行采集,并在故障发生时将系统的状态返回其连续性取得的状态后、重新开始中断处理的方法,称为检验点重新运行(反向恢复)。一般地,在“系统连续性保持的状态”的定义中,包含存储器和CPU寄存器等的状态,但不包含I/O(例如接口卡)的状态。
也就是说,CPU和存储器等的状态是可逆的,而I/O的状态是不可逆的。为了解决前述问题,以往一般的结构是将执行I/O的处理单元与执行计算的单元分开,使执行计算的单元的故障发生不会对I/O单元产生影响。此外,I/O单元本身不具备耐故障性,用多重化I/O单元实现耐故障性。对这种I/O单元进行操作的操作系统(OS)是各制造商的独自OS。
但是,在例如UNIX等已经确立为事实上的标准OS的现状中,用改进设备驱动程序和分开计算单元和I/O单元,从互换性和性能价格方面来说有很大的缺点。
本发明鉴于这种实际情况,其目的在于提供,借助于在I/O流中插入实现反向恢复功能的软件模块,不用改进设备驱动程序、而且不用分开计算单元和I/O单元,就能实现反向恢复的输入输出控制装置和输入输出控制方法。
此外,本发明的目的在于提供,在反向恢复之际、保证I/O请求的再发送的输入输出装置和方法。
本发明的输入输出控制装置,适用于在定期地采集检验点的同时、执行应用程序,在故障发生时,具有从正要故障发生前采集的检验点、重新开始执行应用程序的反向恢复功能,通过多层配置的多个模块、进行数据的输入输出的计算机系统,其特征在于,前述输入输出控制装置包括:使第1输入输出控制手段介于在前述多个模块中处理应该再执行单位的任一个模块和该模块的下位模块之间;同时使第2输入输出控制手段介于在前述多个模块中直接控制硬件的模块和该模块的上位模块之间;每逢进行反向恢复、对故障世代进行计数并管理的手段;在进行反向恢复前、使存储器直接存取(DMA)停止的手段;在进行反向恢复时,调用前述直接控制硬件的模块所具有的复位处理程序(Reset Handler)的手段;前述第1输入输出控制手段,包括:在接受从上位模块要求数据的输入输出的输入输出请求时,利用前述故障世代管理手段、将被管理的故障世代存储在其输入输出请求中的手段;到取得下一个检验点为止、延迟前述接受到的输入输出请求对于下位模块的发送的手段;在从下位模块返回故障世代不一致错误或者复位错误时,利用前述故障世代存储手段、将其被管理的新的故障世代存储于其输入输出请求中、并再发送的手段;前述第2输入输出控制手段,包括:在从上位模块接受输入输出请求时,对存储于其输入输出请求的故障世代、与利用前述故障世代管理手段管理的故障世代进行比较的手段;当该比较手段得到比较结果一致时,对于下位模块发送其输入输出请求,当不一致时,对于下位模块不发送其输入输出请求、并将故障世代不一致错误返回到上位模块中的输入输出请求控制手段;在前述直接控制硬件的模块中,在保持输入输出请求的状态下调用复位处理程序时,对于上位模块返回复位错误的手段,在进行反向恢复时,保证系统等待取得作为重新开始点的检验点的未确定的输入输出请求的再发送。
在本发明的输入输出控制装置中,每逢进行反向恢复,管理被加1的故障世代,处理应该再执行单位的任一模块,将该故障世代存储在对于下位模块发送的输入输出请求中,同时,系统等待该输入输出请求向下位模块的发送、直到取得下一个检验点为止。
另一方面,在对于直接控制硬件的、例如设备驱动程序发送输入输出请求时,对存储于其输入输出请求中的故障世代与管理的故障世代进行比较。这里,在其比较为不一致的场合中,其输入输出请求成为在反向恢复进行前经过检验点被发送的输入输出请求。而且,在这种场合中,停止将其输入输出请求提交到设备驱动程序中、并对于上位模块回答故障世代不一致错误。这在将处理例如前述的应该再执行单位的模块发送的输入输出请求、在下位模块分开成多个处理单位那样的场合,即使各个处理结束,但如果没有全部结束,也认为是没有意义的,在对于前述处理应该再执行单位的模块、进行这种故障世代不一致错误的回答时,将新的故障世代重新存储到其输入输出请求中后,再发送其输入输出请求。
由此,不必进行设备驱动程序的改进以及计算单元和I/O单元的分离等,就能保证未确定的输入输出请求的再发送,并能实现反向恢复。
在对于前述处理应该再执行单位的模块、进行来自设备驱动程序的复位错误的回答时,也将新的故障世代重新存储到其输入输出请求中后,再发送其输入输出请求。由此,即使对在伴随反向恢复的复位处理程序的调用时设备驱动程序保持的输入输出请求,也能保证再发送。
本发明的输入输出控制装置,适用于在定期地采集检验点的同时、使应用程序执行,在故障发生时,具有从前述检验点、重新开始前述应用程序的执行的反向恢复功能的计算机系统中,通过直接控制硬件的模块、和对于该模块发送要求数据输入输出的输入输出请求的模块的二个层次的模块、进行数据的输入输出的计算机系统,其特征在于,前述输入输出控制装置包括:使输入输出控制手段介于前述二个模块之间、在进行反向恢复前、使存储器直接存取(DMA)停止的DMA停止手段;在进行反向恢复时,调用前述直接控制硬件的模块具有的复位处理程序的调出手段;在前述输入输出控制手段中,包括:到取得下一个的检验点为止、延迟从上位模块接受到的输入输出请求对于下位模块的输入输出发送的延迟手段;在从下位模块返回复位错误时,再发送输入输出请求的再发送手段;在前述直接控制硬件的模块中,在保持输入输出请求的状态下调用复位处理程序时,对于上位模块返回复位错误的手段;在进行反向恢复时,保证系统等待取得作为重新开始点的检验点的未确定的输入输出请求的再发送。
本发明的输入输出装置是以其它的模块不介于例如设备驱动程序和文件系统等的上位模块之间的结构为前提,在这种场合,不进行故障世代的管理、而仅在对于上位模块回答复位错误时,进行输入输出请求的再发送。这种场合,因上位模块成为必然地处理应该再执行的单位的模块,所以不必与前述相同地进行设备驱动程序的改进以及计算单元和I/O单元的分离等,就能保证未确定的输入输出请求的再发送,并能实现反向恢复功能。
此外,DMA使用的区域是固定的,利用前述直接控制硬件的模块的复位处理程序,在保证前述区域的初始化时,如果省略利用前述停止手段DMA的停止,则能减少在反向恢复中所耗费的辅助操作。
图1表示本发明实施例1和实施例2相关的计算机系统的设备结构图。
图2表示与本发明实施例1的计算机系统的I/O相关的功能框图。
图3表示实施例1的I/O请求受理单元的动作顺序的流程图。
图4表示实施例1的检验点结束时处理单元的动作顺序的流程图。
图5表示实施例1的I/O请求结束处理单元的动作顺序的流程图。
图6表示从实施例1的软件驱动程序接受I/O请求时的I/O控制单元的动作顺序的流程图。
图7表示实施例1的反向恢复进行时的动作顺序的流程图。
图8表示与本发明实施例2的计算机系统的I/O相关的功能框图。
图9表示实施例2的I/O请求受理单元的动作顺序的流程图。
图10表示实施例2的检验点结束时处理单元的动作顺序的流程图。
图11表示实施例2的I/O请求结束处理单元的动作顺序的流程图。
图12表示实施例2的反向恢复进行时的动作顺序的流程图。
下面,参照附图对本发明的实施例进行说明。
实施例1
首先,对本发明的实施例1进行说明。图1表示计算机系统的设备结构图。如图1所示,计算机系统包括:对存储在主存储装置2中的操作系统和包含实用程序的应用程序等进行控制的CPU1、存储由该CPU1执行控制的操作系统和包含实用程序的应用程序以及伴随它们的执行的数据的主存储装置2、与主存储装置2之间发送接收数据并作为外部存储进行工作的大存储容量的外部存储装置3。
在图2中给出与本发明实施例1的计算机系统的I/O相关的功能块。如图2所示,借助于在称为文件系统12、软件驱动程序13和设备驱动程序14的多层配置的多个模块间接收和发送I/O请求逻辑单元,执行根据应用程序11要求的I/O。而且,使I/O控制单元20介于在处理应该再执行单位的文件系统12和软件驱动程序13之间、以及在软件驱动程序13和直接控制硬件的设备驱动程序14之间。
I/O控制单元20的故障世代管理单元29,每逢由于故障发生进行反向恢复、就使故障世代加1并加以管理。而且,一旦文件系统12相对于软件驱动程序13发送I/O请求,I/O请求管理单元22的I/O请求受理单元221就受理该I/O请求,并在利用系统的故障世代设定单元21将故障世代管理单元29管理的故障世代存储在I/O请求中之后,关联到未决队列30a。
检验点结束时处理单元222在进行检验点的取得时,将与未决队列30a相关联的I/O请求改为关联到送出确定队列30b。然后,检验点结束时处理单元222将与该送出确定队列30b相关联的I/O请求、送出到下位模块中,同时将其送出的I/O请求关联到执行中队列30c。此外,检验点结束时处理单元222还执行与I/O结束队列30d关联的I/O请求的删除。
将利用这种检验点结束时处理单元222送出的I/O请求提交到软件驱动程序13中,,经过这种软件驱动程序13包含的多个软件模块131,对设备驱动程序14、发送I/O请求。
基于I/O控制单元20的I/O请求受理单元23、受理对于这种设备驱动程序14的I/O请求,并基于故障世代判定单元24,判断该I/O请求存储的故障世代与故障世代管理单元29管理的故障世代是否一致。然后,在这种判定结果一致的场合,利用I/O请求送出单元25将其I/O请求提交到设备驱动程序14中。反之,在不一致的场合,不进行向设备驱动程序14的提交,基于I/O请求错误返回单元26、对于软件驱动程序13返回故障世代不一致错误。返回这种故障世代不一致错误的场合,是进行与该I/O请求与送出确定队列30b相关联后,进行反向恢复的场合。也就是说,关于这种I/O请求,必须保证再发送。因此,接受这种故障世代不一致错误的I/O请求结束处理单元223,在基于系统故障世代设定单元21、改变故障世代管理系统29管理的新的故障世代并存储到该I/O请求后,将该I/O请求重新关联到送出确定队列30b中。此外,这时其I/O请求结束处理单元223还进行删除与执行中队列30c相关联的该I/O请求。
由此,在故障发生时,能保证从I/O控制单元20的检验点结束时处理单元222发送到到达设备驱动程序14为止之间存在的I/O请求的再发送。
这里,对进行反向恢复时的顺序进行说明。在进行反向恢复的场合中,首先,基于DMA停止单元27,停止与I/O相关的DMA。这是因为不基于DMA更新存储器。接着,由故障世代管理单元29对故障世代进行加1操作,而且,基于设备驱动程序复位处理程序调用单元28,调出设备驱动程序14具有的复位处理程序。
也就是说,在故障发生时,关于保持在设备驱动程序14中的I/O请求,构成基于设备驱动程序14返答复位错误。而且,与故障世代不一致错误的场合相同,接受这种复位错误的I/O请求结束处理单元223,基于系统故障世代设定单元21、在改变故障世代管理单元29管理的新的故障世代、并存储到这种I/O请求中后,将这种I/O请求重新关联到送出确定队列30b中。此外,这时其I/O请求结束处理单元223还进行删除与执行中队列30c相关联的该I/O请求。
由此,在故障发生时,也能保证保持在设备驱动程序14中的I/O请求的再发送。
也就是说,采用实施例1的系统,则不必进行设备驱动程序14的改进和分开计算单元和I/O单元等,就能实现反向恢复。
此外,前述的4种队列(30a、30b、30c、30d),即使故障发生也必须确保在不重新运行的区域中。
下面,参照图3到图7对实施例1的动作顺序进行说明。
图3表示I/O请求受理单元221的动作顺序的流程图。
I/O请求受理单元221一受理来自文件系统12的I/O请求,就利用系统故障世代设定单元21,在将故障世代管理单元29管理的故障世代、存储在其I/O请求中之后(步骤A1),关联到未决队列30a(步骤A2)。
图4表示检验点结束时处理单元222的动作顺序的流程图。
检验点结束时处理单元222在进行检验点的取得时,将与未决队列30a相关连的I/O请求改换关联到送出确定队列30b中(步骤B1)。然后,检验点结束时处理单元222将与该送出确定队列30b相关联的I/O请求、送出到下位模块中,同时将其送出的I/O请求关联到执行中队列30c中(步骤B2)。此外,检验点结束时处理单元222还执行与I/O结束队列30d关联的I/O请求的删除(步骤B3)。
图5表示I/O请求结束处理单元223的动作顺序的流程图。
I/O请求结束处理单元223检验从下位模块返回的I/O请求的结束状态(步骤C1),在这种结束状态是复位错误或者代不一致错误的场合中(步骤C2的“是”分支),利用系统故障世代设定单元21、将故障世代管理单元29管理的新的故障世代设定在I/O请求中(步骤C3),并将这种I/O请求关联到送出确定队列30b(步骤C4),反之,在这种结束状态不是复位错误或者代不一致错误的场合中(步骤C2的“否”分支),将该I/O请求关联到I/O结束队列30d(步骤C5)的同时,向上位模块发出I/O请求结束通知(步骤C6)。
图6表示从软件驱动程序13接受I/O请求时的I/O控制单元20的动作顺序的流程图。
利用I/O请求受理单元23、受理来自软件驱动程序13的I/O请求,并基于故障世代判定单元24,判断该I/O请求存储的故障世代与故障世代管理单元29管理的故障世代是否一致(步骤D1)。然后,在这种判定结果一致的场合(步骤D2的“是”分支),利用I/O请求送出单元25将其I/O请求提交到设备驱动程序14中(步骤D3)。反之,在不一致的场合(步骤D2的“否”分支),基于I/O请求错误返回单元26、对于软件驱动程序13返回故障世代不一致错误(步骤D4)。
图7表示反向恢复进行时的动作顺序的流程图。
首先,基于DMA停止单元27,停止与I/O相关的DMA(步骤E1)。接着,基于系统故障世代设定单元21由系统故障世代管理单元29执行故障世代的加1操作(步骤E2)。然后,借助于基于设备驱动程序复位处理程序调用单元28,调用设备驱动程序14具有的复位处理程序,从设备驱动程序14回答保持在设备驱动程序14中的I/O请求的复位错误(步骤E3)。
由此,不必进行设备驱动程序14的改进以及计算单元和I/O单元的分离等,实现反向恢复对应。
实施例2
接着,对本发明的实施例2进行说明。与本实施例2相关的计算机系统的基本设备结构与实施例1相同(参照图1)。在图8中给出与实施例2的计算机系统的I/O相关的功能块。该实施例2与实施例1的不同点是在作为上位模块的文件系统12和设备驱动程序14之间没有介入其它的模块,其结果,与实施例1相比,实施例2的特征在于不必管理故障世代就能实现相应的反向恢复。
也就是说,从检验点结束时处理单元222发送的I/O请求,因全部保持在设备驱动程序14中,所以,I/O请求结束处理单元223也可以在回答复位错误时进行I/O请求的再发送。
下面,参照附图对实施例2的动作顺序进行说明。
图9表示I/O请求受理单元221的动作顺序的流程图。
I/O请求受理单元221一受理来自文件系统12的I/O请求,这种I/O请求就与未决队列30a相关联(步骤F1)。
图10表示检验点结束时处理单元222的动作顺序的流程图。
检验点结束时处理单元222在进行检验点的取得时,将与未决队列30a相关联的I/O请求改为关联到送出确定队列30b(步骤G1)。然后,检验点结束时处理单元222将与该送出确定队列30b相关联的I/O请求、送出到下位模块中,同时将其送出的I/O请求关联到执行中队列30c(步骤G2)。此外,检验点结束时处理单元222也执行与I/O结束队列30d关联的I/O请求的删除(步骤G3)。
图11表示I/O请求结束处理单元223的动作顺序的流程图。
I/O请求结束处理单元223检验从下位模块返回的I/O请求的结束状态(步骤H1),在这种结束状态是复位错误的场合中(步骤H2的“是”),将这种I/O请求关联到送出确定队列30b(步骤H3),反之,在这种结束状态不是复位错误的场合中(步骤H2的“否”),将该I/O请求关联到I/O结束队列30d(步骤H4)的同时,向上位模块发出I/O请求结束通知(步骤H5)。
图12表示反向恢复进行时的动作顺序的流程图。
首先,基于DMA停止单元27,停止与I/O相关的DMA(步骤I1)。接着,借助于基于设备驱动程序复位处理程序调用单元28,调用设备驱动程序14具有的复位处理程序,从设备驱动程序14回答保持在设备驱动程序14中的I/O请求的复位错误(步骤I2)。
由此,与实施例1相同,不必进行设备驱动程序14的改进以及计算单元和I/O单元的分离等,实现相应的反向恢复。
此外,在实施例1和实施例2的两种情况中,例如DMA使用的区域都是固定的,在利用设备驱动程序14的的复位处理程序保证DMA使用的区域的初始化时,因能省略反向恢复时的基于DMA停止单元27的DMA停止,所以能减少在反向恢复中所耗费的辅助操作。
前述实施例中所述的输入输出控制的方法,作为能在计算机中执行的程序,可以存储在软盘、光盘和半导体存储器等的存储媒体中对外颁布。
如前详细所述,采用本发明,则借助于在I/O流中,在管理故障世代的同时、插入监视故障世代的一致和有无复位的软件模块,保证输入输出请求的再发送,就能不必进行设备驱动程序的改进以及计算单元和I/O单元的分离等、实现相应的反向恢复。
Claims (7)
1.一种输入输出控制装置,适用于具有检验点重新运行功能,通过多层配置的多个模块、进行数据的输入输出的计算机系统,其特征在于,所述输入输出控制装置包括:介于在所述多个模块中处理应该再执行单位的模块和该模块的下位模块之间的第1输入输出控制手段;介于在所述多个模块中直接控制硬件的模块和该模块的上位模块之间的第2输入输出控制手段;每逢进行反向恢复、对故障世代进行计数并管理的手段;在进行反向恢复前、使存储器直接存取停止的手段;在进行反向恢复时,调用直接控制所述硬件的模块所具有的复位处理程序的手段;
所述第1输入输出控制手段,包括:在接受从上位模块要求数据的输入输出的输入输出请求时,利用所述故障世代管理手段、将被管理的故障世代存储在其输入输出请求中的手段;到取得下一个的检验点为止、延迟所述接受到的输入输出请求对于下位模块的发送的手段;在从下位模块返回故障世代不一致错误或者复位错误时,利用所述故障世代存储手段、将其被管理的新的故障世代存储于其输入输出请求中、并再发送的手段;
所述第2输入输出控制手段,包括:在从上位模块接受输入输出请求时,对存储于其输入输出请求的故障世代、与利用所述故障世代管理手段管理的故障世代进行比较的手段;当该比较手段得到比较结果一致时,对于下位模块发送其输入输出请求,当不一致时,对于下位模块不发送其输入输出请求、并将故障世代不一致错误返回到上位模块中的输入输出请求控制手段;在所述直接控制硬件的模块中,在保持输入输出请求的状态下调用复位处理程序时,对于上位模块返回复位错误的手段。
2.一种输入输出控制装置,适用于在具有检验点重新运行功能的计算机系统中,通过直接控制硬件的模块、和对于该模块发送要求数据输入输出的输入输出请求的模块的二个层次的模块、进行数据的输入输出的计算机系统,其特征在于,所述输入输出控制装置包括:使输入输出控制手段介于所述二个模块之间、在进行反向恢复前、使存储器直接存取停止的手段;在进行反向恢复时,调用所述直接控制硬件的模块具有的复位处理程序的手段;
在所述输入输出控制手段中,包括:到取得下一个的检验点为止、延迟从上位模块接受到的输入输出请求对于下位模块的发送的手段;在从下位模块返回复位错误时,再发送其输入输出请求的手段;
在所述直接控制硬件的模块中,在保持输入输出请求的状态下调用复位处理程序时,对于上位模块返回复位错误的手段;在进行反向恢复时,保证系统等待取得作为重新开始点的检验点的未确定的输入输出请求的再发送。
3.如权利要求1或2所述的输入输出控制装置,其特征在于,存储器直接存取使用的区域是固定的,基于所述直接控制硬件的模块的复位处理程序、在保证所述区域的初始化时,省略基于存储器直接存取停止手段的存储器直接存取的停止。
4.一种输入输出控制方法,适用于在具有检验点重新运行功能的计算机系统中,通过多层配置的多个模块、进行数据的输入输出的计算机系统,其特征在于,所述输入输出控制方法包括:每逢进行反向恢复、对故障世代进行计数并管理;在发送在所述多个模块中处理应该再执行单位的任何一个模块要求数据的输入输出的数据输入输出请求时,在将所述管理的故障世代存储在其输入输出请求中的同时,使其输入输出请求向下位模块的提交,延迟到取得下一个检验点为止;在对于在所述多个模块中直接控制硬件的模块发送输入输出请求时,对存储于其输入输出请求中的故障世代和所述被管理的故障世代进行比较;当其比较结果一致时,将其输入输出请求提交到所述直接控制硬件的模块中,当不一致时,不将其输入输出请求提交到所述直接控制硬件的模块中、并将故障世代不一致错误返回到上位模块中;在进行反向恢复时,调出所述直接控制硬件的模块所具有的复位处理程序;在所述直接控制硬件的模块保持输入输出请求的状态下调用复位处理程序时,对于上位模块返回复位错误;在对于所述处理应该再执行单位的模块、返回故障世代不一致错误或者复位错误时,借助于将所述管理的新的故障世代存储于其输入输出请求中并且再发送,进行反向恢复时,保证系统等待取得作为重新开始点的检验点的未确定的输入输出请求的再发送。
5.一种输入输出控制方法,适用于在具有检验点重新运行功能的计算机系统中,通过直接控制硬件的下位模块、和对于所述下位模块发送要求数据的输入输出的输入输出请求的上位模块的二个层次的模块、进行数据的输入输出的计算机系统,其特征在于,所述输入输出控制方法包括:在所述上位模块发送输入输出请求时,使其输入输出请求向下位模块的提交,延迟到取得下一个检验点为止;在进行反向恢复时,调出所述下位模块具有的复位处理程序;在所述直接控制硬件的模块保持输入输出请求的状态下调用复位处理程序时,对于上位模块返回复位错误;在对于所述上位模块、返回复位错误时,借助于再发送其输入输出请求,进行反向恢复时,保证系统等待取得作为重新开始点的检验点的未确定的输入输出请求的再发送。
6.一种计算机能读取的存储媒体,存储用于控制计算机的程序,其特征在于,在具有检验点重新运行功能的计算机系统中,通过多层配置的多个模块、在进行数据的输入输出的计算机系统上控制输入输出的程序,
所述程序包括:每逢进行反向恢复、对故障世代进行计数并管理;在发送在所述多个模块中处理应该再执行单位的任何一个模块要求数据的输入输出的数据输入输出请求时,在将所述管理的故障世代存储在其输入输出请求中的同时,使其输入输出请求向下位模块的提交,延迟到取得下一个检验点为止;在对于在所述多个模块中直接控制硬件的模块发送输入输出请求时,对存储于其输入输出请求中的故障世代和所述被管理的故障世代进行比较;当其比较结果一致时,将其输入输出请求提交到所述直接控制硬件的模块中,当不一致时,不将其输入输出请求提交到所述直接控制硬件的模块中、并将故障世代不一致错误返回到上位模块中;在进行反向恢复时,调出所述直接控制硬件的模块所具有的复位处理程序;在所述直接控制硬件的模块保持输入输出请求的状态下调用复位处理程序时,对于其上位模块返回复位错误;在对于所述处理应该再执行单位的模块、返回故障世代不一致错误或者复位错误时,使所述管理的新的故障世代存储于其输入输出请求中并且再发送。
7.一种计算机能读取的存储媒体,存储用于控制计算机的程序,其特征在于,在具有检验点重新运行功能的计算机系统中,通过直接控制硬件的下位模块、和对于所述下位模块发送要求数据的输入输出的输入输出请求的上位模块的二个层次的模块、在进行数据的输入输出的计算机系统上控制输入输出的程序,
所述程序包括:在所述上位模块发送输入输出请求时,使其输入输出请求向下位模块的提交,延迟到取得下一个检验点为止;在进行反向恢复时,调出所述下位模块所具有的复位处理程序;在所述直接控制硬件的模块保持输入输出请求的状态下调出复位处理程序时,对于其上位模块返回复位错误;在对于所述上位模块、返回复位错误时,使再发送其输入输出请求。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP348063/96 | 1996-12-26 | ||
JP34806396 | 1996-12-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1186276A true CN1186276A (zh) | 1998-07-01 |
CN1093661C CN1093661C (zh) | 2002-10-30 |
Family
ID=18394503
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN97118449A Expired - Fee Related CN1093661C (zh) | 1996-12-26 | 1997-09-08 | 反向恢复型输入输出控制装置和输入输出控制方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US6029255A (zh) |
EP (1) | EP0851352B1 (zh) |
KR (1) | KR100299193B1 (zh) |
CN (1) | CN1093661C (zh) |
DE (1) | DE69718432T2 (zh) |
TW (1) | TW355762B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1312606C (zh) * | 2003-03-24 | 2007-04-25 | 富士施乐株式会社 | 联合处理装置和联合处理方法 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4111472B2 (ja) | 1998-05-15 | 2008-07-02 | キヤノン株式会社 | 通信制御方法及び装置及び通信システム |
US6668287B1 (en) * | 1999-12-15 | 2003-12-23 | Transmeta Corporation | Software direct memory access |
US6883114B2 (en) * | 2001-11-08 | 2005-04-19 | M-Systems Flash Disk Pioneers Ltd. | Block device driver enabling a ruggedized file system |
US7124323B2 (en) * | 2003-06-18 | 2006-10-17 | International Business Machines Corporation | Method, system, and program for recovery of a reverse restore operation |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3688274A (en) * | 1970-12-23 | 1972-08-29 | Ibm | Command retry control by peripheral devices |
US4740969A (en) * | 1986-06-27 | 1988-04-26 | Hewlett-Packard Company | Method and apparatus for recovering from hardware faults |
JPH02287858A (ja) * | 1989-04-28 | 1990-11-27 | Toshiba Corp | 分散処理システムのリスタート方式 |
EP0986008B1 (en) * | 1993-12-01 | 2008-04-16 | Marathon Technologies Corporation | Computer system comprising controllers and computing elements |
JP3148099B2 (ja) * | 1995-05-31 | 2001-03-19 | 株式会社東芝 | 入出力制御方式及び入出力制御方法 |
US5790397A (en) * | 1996-09-17 | 1998-08-04 | Marathon Technologies Corporation | Fault resilient/fault tolerant computing |
US5896523A (en) * | 1997-06-04 | 1999-04-20 | Marathon Technologies Corporation | Loosely-coupled, synchronized execution |
-
1997
- 1997-07-25 TW TW086110610A patent/TW355762B/zh active
- 1997-08-08 KR KR1019970037855A patent/KR100299193B1/ko not_active IP Right Cessation
- 1997-09-08 CN CN97118449A patent/CN1093661C/zh not_active Expired - Fee Related
- 1997-10-15 DE DE69718432T patent/DE69718432T2/de not_active Expired - Fee Related
- 1997-10-15 EP EP97117892A patent/EP0851352B1/en not_active Expired - Lifetime
- 1997-10-29 US US08/960,212 patent/US6029255A/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1312606C (zh) * | 2003-03-24 | 2007-04-25 | 富士施乐株式会社 | 联合处理装置和联合处理方法 |
Also Published As
Publication number | Publication date |
---|---|
TW355762B (en) | 1999-04-11 |
KR19980063401A (ko) | 1998-10-07 |
EP0851352A2 (en) | 1998-07-01 |
CN1093661C (zh) | 2002-10-30 |
KR100299193B1 (ko) | 2001-09-03 |
DE69718432T2 (de) | 2003-11-20 |
US6029255A (en) | 2000-02-22 |
EP0851352B1 (en) | 2003-01-15 |
EP0851352A3 (en) | 1999-12-08 |
DE69718432D1 (de) | 2003-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1278235C (zh) | 用于向一处理器让与资源的系统 | |
US6397293B2 (en) | Storage management system and auto-RAID transaction manager for coherent memory map across hot plug interface | |
US7487504B2 (en) | Thread dispatch for multiprocessor computer systems | |
US7434011B2 (en) | Apparatus, system, and method for modifying data storage configuration | |
US6839773B2 (en) | Method for enabling overlapped input/output requests to a logical device using assigned and parallel access unit control blocks | |
CN101377750B (zh) | 一种用于机群容错的系统和方法 | |
EP0980550B1 (en) | Apparatus and method for remote data recovery | |
EP1851627B1 (en) | Virtual adapter destruction on a physical adapter that supports virtual adapters | |
CN1129857C (zh) | 多处理器转换装置和主处理器转换方法 | |
US10459661B2 (en) | Stream identifier based storage system for managing an array of SSDs | |
CN1165008C (zh) | 进行节点迁移的方法和节点设备 | |
CN109614276B (zh) | 故障处理方法、装置、分布式存储系统和存储介质 | |
US7853928B2 (en) | Creating a physical trace from a virtual trace | |
CN1573697A (zh) | 在软件环境中用于保持资源完整性的装置和方法 | |
CN1818882A (zh) | 容错系统、其中所用的控制装置、访问控制方法及控制程序 | |
US7117320B2 (en) | Maintaining data access during failure of a controller | |
CN1993676A (zh) | 发现数据处理系统内的硬件的方法和设备 | |
CN1093661C (zh) | 反向恢复型输入输出控制装置和输入输出控制方法 | |
US20060265523A1 (en) | Data transfer circuit and data transfer method | |
US6810523B2 (en) | Efficient thread programming using a single callback function | |
CN1318166A (zh) | 软件改写方法及软件改写装置 | |
CN1093964C (zh) | 输入/输出装置的检查点恢复方法 | |
CN111708631B (zh) | 基于多路服务器的数据处理方法、智能终端及存储介质 | |
US20090216930A1 (en) | Information processing apparatus and control method thereof | |
US7770054B2 (en) | Apparatus, system, and method to prevent queue stalling |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |