IP Library Granted Patent US 7,152,178
Granted Patent B1
US 7,152,178 · App. 09/814,994 · Granted Dec 19, 2006

Method and system for detecting path failure and performing input/output recovery in a multi-path input/output system

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,152,178
App. No.
09/814,994
Granted
Dec 19, 2006
Kind
B1
Abstract

The method and system provides for continuing issuance of input/output requests on a fabric having a plurality of paths connected to adapters on a computer managing the input/output requests. If a change in a path within the fabric occurs, a registered state change notification is typically issued on the fabric which is detected. The fabric on which the input/output request was issued is searched for a path failure, and if a failure is detected, a path is recovered.

Claims (49)

1. A computer system having at least one computer connected on a fabric switched network, with at least one adapter on the computer managing paths on the fabric to multiple hardware components connected on the network, comprising:

an operating system resident on the computer programmed to recognize an RSCN indicative of a path failure from a change in a hardware component on the fabric and to issue an input/output (I/O) request to the hardware component on another path in response thereto.

2. The system of claim 1 wherein the operating system is programmed to continue to perform I/O request with the hardware component which caused the RSCN, while attempting to recover the failed path to the hardware component.

3. The system of claim 2 wherein the operating system is programmed for detecting if a non-failed path is available upon receipt of an RSCN from a hardware component, and for selecting a non-failed path, if available, for continuing I/O operations thereon.

4. The system of claim 1 wherein the operating system is programmed for detecting if a non-failed path is available upon receipt of an RSCN from a hardware component, and for selecting a non-failed path, if available, for continuing I/O operations thereon.

5. The system of claim 1 wherein the operating system is programmed for detecting whether an RSCN received is a Fabric RSCN, a Domain RSCN, an Area RSCN, or a Port RSCN.

6. The system of claim 1 wherein the operating system is programmed such that if a Fabric RSCN is received, the I/O request is aborted, a new non-failed path is selected and new input/output request is issued, if necessary, on the new non-failed path, and an attempt is made to repair the failed path.

7. The system of claim 1 wherein the operating system is programmed such that if a Domain RSCN is received, the I/O request is aborted, a new non-failed path is selected and new I/O request is issued if necessary on the new non-failed path, and an attempt is made to repair the failed path.

8. The system of claim 1 wherein the operating system is programmed such that if an Area RSCN is received, the I/O request is aborted, a new non-failed path is selected and new I/O request is issued, if necessary, on the new non-failed path, and an attempt is made to repair the failed path.

9. The system of claim 1 wherein the operating system is programmed such that if a Port RSCN is received, the I/O request is aborted, a new non-failed path is selected and new I/O request is issued, if necessary, on the new non-failed path, and an attempt is made to repair the failed path.

10. A method of continuing issuing of input/output requests on a fabric having a plurality of paths connected to adapters on a computer managing input/output (I/O) requests, on a network which includes the fabric, in the event input/output requests are issued on a failed path, comprising:

detecting an RSCN issued on the fabric;

searching the fabric on which said I/O request was issued for a path failure;

determining if the RSCN detected is a Fabric RSCN, and if it is a Fabric RSCN,

determining the state of all paths from a specified adapter that is managing the I/O request on the failed path;

for a specific path, determining its state, and if the path has failed, recovering the path by attempting repair of the path;

if the repair is successful, updating non-file system structures to represent the repair state;

determining if the path was marked failed in the file system;

if marked failed, repairing the file system path information;

marking the path as capable if I/O requests; and

receiving I/O requests on the path if needed.

11. A method of continuing issuing of input/output requests on a fabric having a plurality of paths connected to adapters on a computer managing input/output requests, on a network which includes the fabric, in the event input/output (I/O) requests are issued on a failed path, comprising:

detecting an RSCN issued on the fabric;

upon an RSCN being detected, determining if it is a Domain RSCN;

determining the state of all paths on the adapter;

managing the I/O request with Domain IDs matching the Domain ID of the Domain RSCN; and

determining the state of one specific path on the adapter with a Domain ID

matching the Domain ID of the Domain RSCN, and if the path has failed,

recovering the path or selecting another path.

12. A method of continuing issuing of input/output requests on a fabric having a plurality of paths connected to adapters on a computer managing input/output requests, on a network which includes the fabric, in the event input/output (I/O) requests are issued on a failed path comprising:

upon an RSCN being detected, determining if it is an Area RSCN;

if it is an Area RSCN, determining the state of all paths on the adapter managing the-I/O request with Area IDs matching the Area ID of the Area RSCN;

determining the state of one specific path on the adapter with an Area ID matching the Area ID of the Area RSCN, and if the path has failed, recovering the path or selecting another path.

13. A method of continuing issuing of input/output requests on a fabric having a plurality of paths connected to adapters on a computer managing input/output requests, on a network which includes the fabric, in the event input/output (I/O) requests are issued on a failed path comprising:

detecting an RSCN on the fabric;

upon an RSCN being detected, determining if it is a Port RSCN;

if it is a Port RSCN, determining the state of all paths on the adapter managing the I/O request with Port IDs matching the Port ID of the Port RSCN;

determining the state of one specific path on the adapter with a Port ID matching the Port ID of the Port RSCN, and if the path has failed, recovering the path or selecting another path.

14. A method of continuing issuing input/output requests on a fabric having a plurality of paths connected to adapters on a computer managing input/output requests, on a network which includes the fabric, in the event input/output (I/O) requests are issued on a failed path, comprising:

detecting an RSCN issued on the fabric;

upon an RSCN being detected, determining if it is a Fabric RSCN, and if it is a Fabric RSCN, determining the state of all paths from a specific adapter that is managing the I/O request on the failed path; and

for a specific path, determining its state, and if the path has failed, one of selecting an alternate non-failed path on which to issue I/O requests or recovering the path.

15. The method of claim 14 , wherein said recovering step comprises recovering the path on which the initial I/O request was issued.

16. The method of claim 14 , wherein said recovering step comprises detecting if a non-failed path is available, and if a non-failed path is available, resume I/O operations on the detected non-failed path.

17. The method of claim 14 , wherein said selecting of an alternate path comprises:

aborting an outstanding I/O request on the failed path;

issuing a status request indicating selection of a non-failed path is needed;

determining if a non-failed path is available; and

if a non-failed path is available, resuming the I/O request on the non-failed path.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL USA L.P.; ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2016
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 040203/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →