US6029255AExpiredUtility

Input/output control device and method applied to fault-resilient computer system

Assignee: TOSHIBA KKPriority: Dec 26, 1996Filed: Oct 29, 1997Granted: Feb 22, 2000
Est. expiryDec 26, 2016(expired)· nominal 20-yr term from priority
Inventors:Kunio Yamada
G06F 11/1407G06F 1/24G06F 13/28
33
PatentIndex Score
4
Cited by
4
References
19
Claims

Abstract

When an I/O request block is received from a file system, a number-of-system's-failures setting section stores the present number of failures in the I/O request block, and hands over the I/O request block to a software driver after taking a checkpoint. When the I/O request block is received from the software driver, a number-of-failures determining section determines whether or not the number of failures stored in the I/O request block coincides with the present number of failures. If they do not coincide, an I/O request error return section will return the I/O request block to the software driver without handing over it to a device driver and causes an I/O request completion processing section to reissue the I/O request block again.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. An input/output control device provided between a higher-level module and a lower-level module in a checkpoint rollback-type computer system, said device comprising: I/O request management means having plural stages of queues, for storing the I/O request block given from said higher-level module into said plural stages of queues in a predetermined order at the time of each checkpoint, and handing over the I/O request block to said lower-level module;   means for calling up a reset handler provided in said lower-level module when rollback is carried out; and   I/O request completion processing means, responsive to a reset error returned from said lower-level module in answer to the call from said reset handlet, for returning the corresponding I/O request block to a specific one of said plural stages of queues.   
     
     
       2. A device according to claim 1, further comprising: means for stopping DMA (Direct Memory Access) to prevent the DMA from updating the contents of the memory in said system before rollback is carried out.   
     
     
       3. A device according to claim 1, wherein said I/O request completion processing means confirms said reset error by checking for the completion status included in the I/O request block returned from said lower-level module. 
     
     
       4. A device according to claim 1, wherein said lower-level module is a device driver that controls hardware directly. 
     
     
       5. A device according to claim 1, wherein said higher-level module is a file system that receives said I/O request block directly from an application program. 
     
     
       6. An input/output control device provided between a higher-level module and a lower-level module in a checkpoint rollback-type computer system including a middle-level module, said device comprising: number-of-failures monitor means for holding and incrementing the number of failures each time rollback is carried out owing to the occurrence of a failure;   means for assigning said number of failures to the I/O request block given from said higher-level module;   I/O request management means having plural stages of queues, for storing the I/O request block given said number of failures into said plural stages of queues in a predetermined order at the time of each checkpoint, and handing over the I/O request block to said middle-level module;   means for determining whether or not the number of failures assigned to the I/O request block given from said middle-level module coincides with the number of failures held in said number-of-failures monitor means;   means for handing over the corresponding I/O request block to said lower-level module when the result of said determining means shows the coincidence;   means for reassigning the number of failures held in said number-of-failures monitor means to the corresponding I/O request block and returning the I/O request block to a specific one of said plural stages of queues when the result of said determining means shows the non-coincidence;   means for calling up a reset handler provided in said lower-level module when rollback is carried out; and   I/O request completion processing means, responsive to a reset error returned from said lower-level module in answer to the call from said reset handler, for reassigning the number of failures held in said number-of-failures monitor means to the corresponding I/O request block and returning the I/O request block to a specific one of said plural stages of queues.   
     
     
       7. A device according to claim 6, further comprising: means for stopping DMA (Direct Memory Access) to prevent the DMA from updating the contents of the memory in said system before rollback is carried out.   
     
     
       8. A device according to claim 6, wherein said I/O request completion processing means confirms said reset error by checking for the completion status included in the I/O request block returned from said lower-level module. 
     
     
       9. A device according to claim 6, wherein said lower-level module is a device driver that controls hardware directly. 
     
     
       10. A device according to claim 6, wherein said higher-level module is a file system that receives said I/O request block directly from an application program. 
     
     
       11. A device according to claim 6, wherein said middle-level module is a software driver that controls software. 
     
     
       12. A method of performing input/output control of I/O request blocks transferred between a higher-level module and a lower-level module in a checkpoint rollback-type computer system, said method comprising the steps of: storing the I/O request block given from said higher-level module into plural stages of queues in a predetermined order at the time of each checkpoint, and handing over the I/O request block to said lower-level module;   calling up a reset handler provided in said lower-level module when rollback is carried out; and   in response to a reset error returned from said lower-level module in answer to the call from said reset handler, returning the corresponding I/O request block to a specific one of said plural stages of queues.   
     
     
       13. A method according to claim 12, further comprising the step of: stopping DMA (Direct Memory Access) to prevent the DMA from updating the contents of the memory in said system before rollback is carried out.   
     
     
       14. A method according to claim 12, further comprising the step of: confirming said reset error by checking for the completion status included in the I/O request block returned from said lower-level module.   
     
     
       15. A method of performing input/output control of I/O request blocks transferred between a higher-level module and a lower-level module in a checkpoint rollback-type computer system including a middle-level module, said method comprising the steps of: holding and incrementing the number of failures each time rollback is carried out owing to the occurrence of a failure;   assigning said number of failures to the I/O request block given from said higher-level module;   storing the I/O request block given said number of failures into plural stages of queues in a predetermined order at the time of each checkpoint, and handing over the I/O request block to said middle-level module;   determining whether or not the number of failures assigned to the I/O request block given from said middle-level module coincides with the held number of failures;   handing over the corresponding I/O request block to said lower-level module when the result of said determination shows the coincidence;   reassigning said held number of failures to the corresponding I/O request block and returning the I/O request block to a specific one of said plural stages of queues when the result of said determination shows the non-coincidence;   calling up a reset handler provided in said lower-level module when rollback is carried out; and   in response to a reset error returned from said lower-level module in answer to the call from said reset handler, reassigning said held number of failures to the corresponding I/O request block and returning the I/O request block to a specific one of said plural stages of queues.   
     
     
       16. A method according to claim 15, further comprising the step of: stopping DMA (Direct Memory Access) to prevent the DMA from updating the contents of the memory in said system before rollback is carried out.   
     
     
       17. A method according to claim 15, further comprising the step of: confirming said reset error by checking for the completion status included in the I/O request block returned from said lower-level module.   
     
     
       18. A storage medium having program code instructions stored thereon which perform input/output control of I/O request blocks transferred between a higher-level module and a lower-level module in a checkpoint rollback-type computer system when executed by a processor, said instructions comprising: storing the I/O request block given from said higher-level module into plural stages of queues in a predetermined order at the time of each checkpoint, and handing over the I/O request block to said lower-level module;   calling up a reset handler provided in said lower-level module when rollback is carried out; and   in response to a reset error returned from said lower-level module in answer to the call from said reset handler, returning the corresponding I/O request block to a specific one of said plural stages of queues.   
     
     
       19. A storage medium having program code instructions stored thereon which perform input/output control of I/O request blocks transferred between a higher-level module and a lower-level module in a checkpoint rollback-type computer system including a middle-level module when executed by a processor, said instructions comprising: holding and incrementing the number of failures each time rollback is carried out owing to the occurrence of a failure;   assigning said number of failures to the I/O request block given from said higher-level module;   storing the I/O request block given said number of failures into plural stages of queues in a predetermined order at the time of each checkpoint, and handing over the I/O request block to said middle-level module;   determining whether or not the number of failures assigned to the I/O request block given from said middle-level module coincides with the held number of failures;   handing over the corresponding I/O request block to said lower-level module when the result of said determination shows the coincidence;   reassigning said held number of failures to the corresponding I/O request block and returning the I/O request block to a specific one of said plural stages of queues when the result of said determination shows the non-coincidence;   calling up a reset handler provided in said lower-level module when rollback is carried out; and   in response to a reset error returned from said lower-level module in answer to the call from said reset handler, reassigning said held number of failures to the corresponding I/O request block and returning the I/O request block to a specific one of said plural stages of queues.

Join the waitlist — get patent alerts

Track US6029255A — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.