← Back to Patent Explorer
US5944838A Expired / Lapsed US ⏱️ 0.0 years remaining

Method for fast queue restart after redundant I/O path failover

Assignee: Avago Technologies International Sales Pte Ltd
•
Filing: 1997-03-31
•
Granted: 1999-08-31
•
Expires: 2017-03-31
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A redundant storage control module (also referred to as RDAC or multi-active controller) maintains a queue of pending I/O requests sent for processing via a first asynchronously operating I/O path. In the event of failure of the first asynchronously operating I/O path, the controller restarts the entire queue of pending I/O requests to a second I/O path without waiting for each request to individually fail from the first path. Some prior techniques required the RDAC module to await failure of each I/O request sent to the failed first I/O path before restarting each failed request on the secondary I/O path. Such techniques greatly extend the total time required to restart all operations sent to a failed I/O path, by awaiting the failure of all I/O requests previously sent to the first I/O path. Other known techniques provide non-standard features in the lower level driver modules to permit the higher level RDAC modules to directly manipulate dispatch queues maintained for each I/O path within the low level device drivers. Such prior techniques reduce the wait time for restart of failed I/O requests but at the expense of portability of the RDAC modules. The methods and structure of the present invention reduce the wait time for restart of failed I/O requests but in such a manner as to remain portable over a variety of host systems.

Inventors

  • 👤 Ray M. Jantz

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-02 03:01
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F11/00; G06F11/07; G06F11/14; G06F11/1402; G06F11/1415; G06F11/1443; G06F11/16; G06F11/20; G06F11/2002; G06F11/2007; G06F11/201; G06F11/2053; G06F11/2089; G06F11/2092

Claims Analysis

Total Claims: 38
Claim 1
Independent Claim 144 words
A method for restart of failed input/output operations in a system having a redundant controller management component and having a plurality of asynchronously operating I/O paths, the method comprising the steps of: transferring at least one I/O request from said redundant controller management component to a first I/O path of said asynchronously operating I/O paths wherein said redundant controller management component has no access to said at least one I/O request as manipulated within said first I/O path; storing in a pending I/O queue associated with said redundant controller management component an entry containing information regarding said at least one I/O request; and restarting on a second I/O path of said asynchronously operating I/O paths I/O requests having entries in said pending I/O queue previously transferred to said first I/O path in response to receipt of indicia of failure of said first I/O path.
Claim 2
Independent Claim 144 words
A method for restart of failed input/output operations in a system having a redundant controller management component and having a plurality of asynchronously operating I/O paths, the method comprising the steps of: transferring at least one I/O request from said redundant controller management component to a first I/O path of said asynchronously operating I/O paths wherein said redundant controller management component has no access to said at least one I/O request as manipulated within said first I/O path; storing in a pending I/O queue associated with said redundant controller management component an entry containing information regarding said at least one I/O request; and restarting on a second I/O path of said asynchronously operating I/O paths I/O requests having entries in said pending I/O queue previously transferred to said first I/O path in response to receipt of indicia of failure of said first I/O path.
Claim 3
Dependent Claim 25 words
The method of claim 1, wherein each of said plurality of asynchronously operating I/O paths corresponds to one of a plurality of redundant multi-active controllers.
Claim 4
Dependent Claim 19 words
The method of claim 2, wherein each of said plurality of redundant multi-active controllers is a RAID storage controller.
Claim 5
Dependent Claim 17 words
The method of claim 1, wherein each of said asynchronously operating I/O paths comprises an I/O adapter.
Claim 6
Dependent Claim 18 words
The method of claim 1 wherein each of said asynchronously operating I/O paths comprises an intelligent I/O adapter.
Claim 7
Dependent Claim 37 words
The method of claim 1, wherein said at least one I/O request comprises a plurality of I/O requests and wherein the step of restarting is performed in response to a first said receipt of indicia of failure.
Claim 8
Dependent Claim 28 words
The method of claim 6, wherein the step of restarting includes the step of: marking said entries in said pending I/O queue corresponding to the restarted I/O requests.
Claim 9
Dependent Claim 37 words
The method of claim 7, further comprising the step of: disregarding receipt of indicia of failure received subsequent to said first receipt of indicia and corresponding to marked ones of said entries in said pending I/O queue.
Claim 10
Dependent Claim 32 words
The method of claim 1 further comprising the step of: removing said entries from said pending I/O queue in response to successful completion of processing of said at least one I/O request.
Claim 11
Independent Claim 159 words
A method for restart of failed input/output operations in a system having a redundant controller management component and having a plurality of asynchronously operating I/O paths, the method comprising the steps of: transferring at least one I/O request from said redundant controller management component to a first I/O path of said asynchronously operating I/O paths wherein said redundant controller management component has no access to said at least one I/O request as manipulated within said first I/O path; storing in a pending I/O queue associated with said redundant controller management component an entry corresponding to said at least one I/O request transferred to first I/O path; retrieving, in response to receipt of indicia of failure generated in response to failure of said first I/O path, all entries from said pending I/O queue corresponding to I/O requests previously transferred to said first I/O path; and sending said all entries to a second I/O path of said asynchronously operating I/O paths.
Claim 12
Independent Claim 159 words
A method for restart of failed input/output operations in a system having a redundant controller management component and having a plurality of asynchronously operating I/O paths, the method comprising the steps of: transferring at least one I/O request from said redundant controller management component to a first I/O path of said asynchronously operating I/O paths wherein said redundant controller management component has no access to said at least one I/O request as manipulated within said first I/O path; storing in a pending I/O queue associated with said redundant controller management component an entry corresponding to said at least one I/O request transferred to first I/O path; retrieving, in response to receipt of indicia of failure generated in response to failure of said first I/O path, all entries from said pending I/O queue corresponding to I/O requests previously transferred to said first I/O path; and sending said all entries to a second I/O path of said asynchronously operating I/O paths.
Claim 13
Dependent Claim 25 words
The method of claim 10, wherein each of said plurality of asynchronously operating I/O paths corresponds to one of a plurality of redundant multi-active controllers.
Claim 14
Dependent Claim 19 words
The method of claim 11, wherein each of said plurality of redundant multi-active controllers is a RAID storage controller.
Claim 15
Dependent Claim 17 words
The method of claim 10, wherein each of said asynchronously operating I/O paths comprises an I/O adapters.
Claim 16
Dependent Claim 18 words
The method of claim 10, wherein each of said asynchronously operating I/O paths comprises an intelligent I/O adapter.
Claim 17
Dependent Claim 45 words
The method of claim 10, wherein said at least one I/O request comprises a plurality of I/O requests and wherein the steps of retrieving and sending are performed in response to a first receipt of indicia of failure corresponding to a first failed I/O request.
Claim 18
Dependent Claim 32 words
The method of claim 15, wherein the step of retrieving includes the step of: marking each retrieved entry in said pending I/O queue as having been resent to said second I/O path.
Claim 19
Dependent Claim 37 words
The method of claim 16, further comprising the step of: disregarding receipt of indicia of failure received subsequent to said first receipt of indicia and corresponding to marked ones of said entries in said pending I/O queue.
Claim 20
Dependent Claim 35 words
The method of claim 10 further comprising the step of: removing said entry from said pending I/O queue in response to completion of processing of a corresponding one of said at least one I/O request.
Claim 21
Independent Claim 221 words
An apparatus for requeuing failed I/O requests within an I/O subsystem, said apparatus comprising: a redundant controller management component; a pending I/O queue associated with said redundant controller management component; a first asynchronously operating I/O path coupled to said redundant controller management component and including means not accessible by said redundant controller management component for retaining I/O requests transferred from said redundant controller management component; a second asynchronously operating I/O path coupled to said redundant controller management component and including means not accessible by said redundant controller management component for retaining I/O requests transferred from said redundant controller management component; means in said redundant controller management component, responsive to receipt of an I/O request, for queueing said I/O request in said pending I/O queue; means in said redundant controller management component, responsive to receipt of an I/O request, for transferring said I/O request to said first asynchronously operating I/O path; means in said redundant controller management component for detecting a failure in the operation of said first asynchronously operating I/O path; means, responsive to detection of a failure in operation of said first asynchronously operating I/O path, for retrieving all I/O requests from said pending I/O queue previously transferred to said first asynchronously operating I/O path; and means for sending said all I/O requests to said second asynchronously operating I/O path.
Claim 22
Independent Claim 221 words
An apparatus for requeuing failed I/O requests within an I/O subsystem, said apparatus comprising: a redundant controller management component; a pending I/O queue associated with said redundant controller management component; a first asynchronously operating I/O path coupled to said redundant controller management component and including means not accessible by said redundant controller management component for retaining I/O requests transferred from said redundant controller management component; a second asynchronously operating I/O path coupled to said redundant controller management component and including means not accessible by said redundant controller management component for retaining I/O requests transferred from said redundant controller management component; means in said redundant controller management component, responsive to receipt of an I/O request, for queueing said I/O request in said pending I/O queue; means in said redundant controller management component, responsive to receipt of an I/O request, for transferring said I/O request to said first asynchronously operating I/O path; means in said redundant controller management component for detecting a failure in the operation of said first asynchronously operating I/O path; means, responsive to detection of a failure in operation of said first asynchronously operating I/O path, for retrieving all I/O requests from said pending I/O queue previously transferred to said first asynchronously operating I/O path; and means for sending said all I/O requests to said second asynchronously operating I/O path.
Claim 23
Dependent Claim 30 words
The apparatus of claim 19, wherein said first asynchronously operating I/O path is a redundant multi-active controller and wherein said second asynchronously operating I/O path is a redundant multi-active controller.
Claim 24
Dependent Claim 28 words
The apparatus of claim 20, wherein said first asynchronously operating I/O path is a RAID controller and wherein said second asynchronously operating I/O path is a RAID controller.
Claim 25
Dependent Claim 28 words
The apparatus of claim 19, wherein said first asynchronously operating I/O path is an I/O adapter and wherein said second asynchronously operating I/O path is an I/O adapter.
Claim 26
Dependent Claim 30 words
The apparatus of claim 19, wherein said first asynchronously operating I/O path is an intelligent I/O adapter and wherein said second asynchronously operating I/O path is an intelligent I/O adapter.
Claim 27
Dependent Claim 43 words
The apparatus of claim 19, wherein the means for detecting a failure in operation of said first asynchronously operating I/O path is responsive to receipt of first indicia of failure of a first failed I/O request from said first asynchronously operating I/O path.
Claim 28
Dependent Claim 47 words
The apparatus of claim 24, further comprising: means for discarding subsequent indicia of failure of I/O requests from said first asynchronously operating I/O path wherein said subsequent indicia of failure are received by said means for detecting subsequent to the receipt of said first indicia of failure.
Claim 29
Dependent Claim 159 words
A computer readable storage medium tangibly embodying programmed instructions for performing a method for restart of a failed input/output operations operable within a system having an redundant controller management component and having a plurality of asynchronously operating I/O paths, the method comprising the steps of: transferring at least one I/O request from said redundant controller management component to a first I/O path of said asynchronously operating I/O paths wherein said redundant controller management component has no access to said at least one I/O request as manipulated within said first I/O path; storing in a pending I/O queue associated with said redundant controller management component an entry containing information regarding said at least one I/O request; and restarting on a second I/O path of said asynchronously operating I/O paths I/O requests having entries in said pending I/O queue previously transferred to said first I/O path in response to receipt of indicia of failure of said first asynchronously operating I/O path.
Claim 30
Dependent Claim 159 words
A computer readable storage medium tangibly embodying programmed instructions for performing a method for restart of a failed input/output operations operable within a system having an redundant controller management component and having a plurality of asynchronously operating I/O paths, the method comprising the steps of: transferring at least one I/O request from said redundant controller management component to a first I/O path of said asynchronously operating I/O paths wherein said redundant controller management component has no access to said at least one I/O request as manipulated within said first I/O path; storing in a pending I/O queue associated with said redundant controller management component an entry containing information regarding said at least one I/O request; and restarting on a second I/O path of said asynchronously operating I/O paths I/O requests having entries in said pending I/O queue previously transferred to said first I/O path in response to receipt of indicia of failure of said first asynchronously operating I/O path.
Claim 31
Dependent Claim 26 words
The storage medium of claim 26, wherein each of said plurality of asynchronously operating I/O paths corresponds to one of a plurality of redundant multi-active controllers.
Claim 32
Dependent Claim 20 words
The storage medium of claim 27, wherein each of said plurality of redundant multi-active controllers is a RAID storage controller.
Claim 33
Dependent Claim 18 words
The storage medium of claim 26, wherein each of said asynchronously operating I/O paths comprises an I/O adapter.
Claim 34
Dependent Claim 19 words
The storage medium of claim 26, wherein each of said asynchronously operating I/O paths comprises an intelligent I/O adapter.
Claim 35
Dependent Claim 39 words
The storage medium of claim 26, wherein said at least one I/O request comprises a plurality of I/O requests and wherein the method step of restarting is performed in response to a first said receipt of indicia of failure.
Claim 36
Dependent Claim 30 words
The storage medium of claim 31, wherein the method step of restarting includes the step of: marking said entries in said pending I/O queue corresponding to the restarted I/O requests.
Claim 37
Dependent Claim 41 words
The storage medium of claim 32 wherein the method further comprises the step of: disregarding receipt of indicia of failure received subsequent to said first receipt of indicia and corresponding to marked ones of said entries in said pending I/O queue.
Claim 38
Dependent Claim 36 words
The storage medium of claim 26 wherein the method further comprises the step of: removing said entries from said pending I/O queue in response to successful completion of processing of said at least one I/O request.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-08-30 2003-03-01 2003-08-31 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-08-30 2007-03-01 2007-08-31 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-08-30 2011-03-01 2011-08-31 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag